Skip to content

Commit

Permalink
update next version number
Browse files Browse the repository at this point in the history
  • Loading branch information
Gregorio Galante committed Oct 27, 2017
1 parent 877f237 commit bbcc6e0
Show file tree
Hide file tree
Showing 12 changed files with 154 additions and 32 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Evnt changelog

## Version 2.0.2
## Version 2.1.0

- Initialize code examples on repository.
- Rename the "stop" function inside commands to "err".
- Add single validation for commands parameters.
- Add single validation for commands parameters with the Validator class.
- Update tests.

## Version 2.0.1
Expand Down
4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
evnt (2.0.2)
evnt (2.1.0)

GEM
remote: https://rubygems.org/
Expand Down Expand Up @@ -32,4 +32,4 @@ DEPENDENCIES
rspec (~> 3.0)

BUNDLED WITH
1.16.0.pre.2
1.16.0.pre.3
8 changes: 6 additions & 2 deletions docs/CHANGELOG_md.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ <h3>Table of Contents</h3>

<ul class="link-list" role="directory">
<li><a href="#label-Evnt+changelog">Evnt changelog</a>
<li><a href="#label-Version+2.0.2">Version 2.0.2</a>
<li><a href="#label-Version+2.1.0">Version 2.1.0</a>
<li><a href="#label-Version+2.0.1">Version 2.0.1</a>
<li><a href="#label-Version+2.0">Version 2.0</a>
<li><a href="#label-Version+1.0.3">Version 1.0.3</a>
Expand Down Expand Up @@ -88,11 +88,15 @@ <h3>Pages</h3>

<h1 id="label-Evnt+changelog"><a href="Evnt.html">Evnt</a> changelog<span><a href="#label-Evnt+changelog">&para;</a> <a href="#top">&uarr;</a></span></h1>

<h2 id="label-Version+2.0.2">Version 2.0.2<span><a href="#label-Version+2.0.2">&para;</a> <a href="#top">&uarr;</a></span></h2>
<h2 id="label-Version+2.1.0">Version 2.1.0<span><a href="#label-Version+2.1.0">&para;</a> <a href="#top">&uarr;</a></span></h2>
<ul><li>
<p>Initialize code examples on repository.</p>
</li><li>
<p>Rename the “stop” function inside commands to “err”.</p>
</li><li>
<p>Add single validation for commands parameters with the Validator class.</p>
</li><li>
<p>Update tests.</p>
</li></ul>

<h2 id="label-Version+2.0.1">Version 2.0.1<span><a href="#label-Version+2.0.1">&para;</a> <a href="#top">&uarr;</a></span></h2>
Expand Down
59 changes: 50 additions & 9 deletions docs/Evnt/Validator.html
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ <h3>Methods</h3>

<ul class="link-list" role="directory">

<li ><a href="#method-c-validate_blank">::validate_blank</a>

<li ><a href="#method-c-validate_option">::validate_option</a>

<li ><a href="#method-c-validate_presence">::validate_presence</a>
Expand Down Expand Up @@ -116,6 +118,48 @@ <h3>Public Class Methods</h3>
</header>


<div id="method-c-validate_blank" class="method-detail ">

<div class="method-heading">
<span class="method-name">validate_blank</span><span
class="method-args">(param, value)</span>

<span class="method-click-advice">click to toggle source</span>

</div>


<div class="method-description">

<p>This function validates the blank of the prameter. A parameter is blank
when its value is nil, false, or empty.</p>

<h4 id="method-c-validate_blank-label-Attributes">Attributes<span><a href="#method-c-validate_blank-label-Attributes">&para;</a> <a href="#top">&uarr;</a></span></h4>
<ul><li>
<p><code>param</code> - The parameter to be validated.</p>
</li><li>
<p><code>value</code> - The value of the presence option that should be used.</p>
</li></ul>




<div class="method-source-code" id="validate_blank-source">
<pre><span class="ruby-comment"># File lib/evnt/validator.rb, line 99</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_blank</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">value</span>)
<span class="ruby-identifier">blank</span> = (<span class="ruby-operator">!</span><span class="ruby-identifier">param</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">param</span>.<span class="ruby-identifier">empty?</span>)
<span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">blank</span> <span class="ruby-operator">:</span> <span class="ruby-operator">!</span><span class="ruby-identifier">blank</span>
<span class="ruby-keyword">end</span></pre>
</div>

</div>




</div>


<div id="method-c-validate_option" class="method-detail ">

<div class="method-heading">
Expand Down Expand Up @@ -151,6 +195,8 @@ <h4 id="method-c-validate_option-label-Attributes">Attributes<span><a href="#met
<span class="ruby-identifier">validate_type</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">option_value</span>)
<span class="ruby-keyword">when</span> <span class="ruby-value">:presence</span>
<span class="ruby-identifier">validate_presence</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">option_value</span>)
<span class="ruby-keyword">when</span> <span class="ruby-value">:blank</span>
<span class="ruby-identifier">validate_blank</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">option_value</span>)
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Validator option not accepted&#39;</span>
<span class="ruby-keyword">end</span>
Expand Down Expand Up @@ -192,15 +238,10 @@ <h4 id="method-c-validate_presence-label-Attributes">Attributes<span><a href="#m


<div class="method-source-code" id="validate_presence-source">
<pre><span class="ruby-comment"># File lib/evnt/validator.rb, line 83</span>
<pre><span class="ruby-comment"># File lib/evnt/validator.rb, line 85</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_presence</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">value</span>)
<span class="ruby-comment"># avoid presence check if value is not true</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">true</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">value</span>

<span class="ruby-comment"># check param is not nil</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">param</span>.<span class="ruby-identifier">nil?</span>

<span class="ruby-keyword">true</span>
<span class="ruby-identifier">is_nil</span> = <span class="ruby-identifier">param</span>.<span class="ruby-identifier">nil?</span>
<span class="ruby-identifier">value</span> <span class="ruby-operator">?</span> <span class="ruby-operator">!</span><span class="ruby-identifier">is_nil</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">is_nil</span>
<span class="ruby-keyword">end</span></pre>
</div>

Expand Down Expand Up @@ -238,7 +279,7 @@ <h4 id="method-c-validate_type-label-Attributes">Attributes<span><a href="#metho


<div class="method-source-code" id="validate_type-source">
<pre><span class="ruby-comment"># File lib/evnt/validator.rb, line 64</span>
<pre><span class="ruby-comment"># File lib/evnt/validator.rb, line 66</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">validate_type</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">value</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Symbol</span>)
<span class="ruby-identifier">validate_type_general</span>(<span class="ruby-identifier">param</span>, <span class="ruby-identifier">value</span>)
Expand Down
72 changes: 71 additions & 1 deletion docs/README_md.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,12 @@ <h3>Table of Contents</h3>

<ul class="link-list" role="directory">
<li><a href="#label-Evnt">Evnt</a>
<li><a href="#label-Installation">Installation</a>
<li><a href="#label-Structure">Structure</a>
<li><a href="#label-Command">Command</a>
<li><a href="#label-Event">Event</a>
<li><a href="#label-Handler">Handler</a>
<li><a href="#label-Rails+integration">Rails integration</a>
<li><a href="#label-Development">Development</a>
</ul>
</div>
Expand Down Expand Up @@ -88,18 +90,31 @@ <h1 id="label-Evnt"><a href="Evnt.html">Evnt</a><span><a href="#label-Evnt">&par

<p>CQRS and Event Driven Development architecture for Ruby projects.</p>
<ul><li>
<p><a href="#installation">Installation</a></p>
</li><li>
<p><a href="#structure">Structure</a></p>
</li><li>
<p><a href="#command">Command</a></p>
</li><li>
<p><a href="#event">Event</a></p>
</li><li>
<p><a href="#handler">Handler</a></p>
</li><li>
<p><a href="#rails-integration">Rails integration</a></p>
</li><li>
<p><a href="#development">Development</a></p>
</li></ul>

<p>Full documentation here: <a
href="https://ideonetwork.github.io/ruby-evnt">ideonetwork.github.io/ruby-evnt</a>/</p>

<h2 id="label-Installation">Installation<span><a href="#label-Installation">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p>To use the gem you need to add it on your Gemfile</p>

<pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-string">&#39;evnt&#39;</span>
</pre>

<h2 id="label-Structure">Structure<span><a href="#label-Structure">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p><a href="Evnt.html">Evnt</a> is developed to be used over all kinds of
Expand Down Expand Up @@ -205,7 +220,7 @@ <h3 id="label-Command">Command<span><a href="#label-Command">&para;</a> <a href=
<span class="ruby-keyword">end</span>
</pre>

<p>It&#39;s also possible to use stop method inside the command to raise an
<p>It&#39;s also possible to use err method inside the command to raise an
exception with the option <strong>exception: true</strong>. An example of
usage should be:</p>

Expand All @@ -223,6 +238,23 @@ <h3 id="label-Command">Command<span><a href="#label-Command">&para;</a> <a href=
<span class="ruby-keyword">end</span>
</pre>

<p>Some validations are similar for every command (like presence or paramter
type), so you can also use general validations instead of
<strong>to_validate_params</strong> block. An example of general
validations should be:</p>

<pre class="ruby">
<span class="ruby-keyword">class</span> <span class="ruby-constant">CreateOrderCommand</span> <span class="ruby-operator">&lt;</span> <span class="ruby-constant">Evnt</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>

<span class="ruby-identifier">validates</span> :<span class="ruby-identifier">user_id</span>, <span class="ruby-identifier">type</span><span class="ruby-operator">:</span> :<span class="ruby-identifier">integer</span>, <span class="ruby-identifier">presence</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>
<span class="ruby-identifier">validates</span> :<span class="ruby-identifier">product_id</span>, <span class="ruby-identifier">type</span><span class="ruby-operator">:</span> :<span class="ruby-identifier">integer</span>, <span class="ruby-identifier">presence</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>
<span class="ruby-identifier">validates</span> :<span class="ruby-identifier">quantity</span>, <span class="ruby-identifier">type</span><span class="ruby-operator">:</span> :<span class="ruby-identifier">integer</span>, <span class="ruby-identifier">presence</span><span class="ruby-operator">:</span> <span class="ruby-keyword">true</span>

<span class="ruby-comment"># ...</span>

<span class="ruby-keyword">end</span>
</pre>

<h3 id="label-Event">Event<span><a href="#label-Event">&para;</a> <a href="#top">&uarr;</a></span></h3>

<p>Events are used to save on a persistent data structure what happends on the
Expand Down Expand Up @@ -365,6 +397,44 @@ <h3 id="label-Handler">Handler<span><a href="#label-Handler">&para;</a> <a href=
<span class="ruby-keyword">end</span>
</pre>

<h2 id="label-Rails+integration">Rails integration<span><a href="#label-Rails+integration">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p><a href="Evnt.html">Evnt</a> can be used with Ruby on Rails to extends the
MVC pattern.</p>

<p>To use the gem with Rails you need to create three folders inside the ./app
project&#39;s path:</p>
<ul><li>
<p><strong>./app/commands</strong></p>
</li><li>
<p><strong>./app/events</strong></p>
</li><li>
<p><strong>./app/handlers</strong></p>
</li></ul>

<p>You also need to require all files from these folders. To do this you need
to edit the ./config/application.rb file like this example:</p>

<pre class="ruby">
<span class="ruby-identifier">require_relative</span> <span class="ruby-string">&#39;boot&#39;</span>

<span class="ruby-identifier">require</span> <span class="ruby-string">&#39;rails/all&#39;</span>

<span class="ruby-comment"># Require the gems listed in Gemfile, including any gems</span>
<span class="ruby-comment"># you&#39;ve limited to :test, :development, or :production.</span>
<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">require</span>(<span class="ruby-operator">*</span><span class="ruby-constant">Rails</span>.<span class="ruby-identifier">groups</span>)

<span class="ruby-keyword">module</span> <span class="ruby-constant">MyApplicationName</span>
<span class="ruby-keyword">class</span> <span class="ruby-constant">Application</span> <span class="ruby-operator">&lt;</span> <span class="ruby-constant">Rails</span><span class="ruby-operator">::</span><span class="ruby-constant">Application</span>

<span class="ruby-identifier">config</span>.<span class="ruby-identifier">autoload_paths</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;app/commands&#39;</span>)
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">autoload_paths</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;app/events&#39;</span>)
<span class="ruby-identifier">config</span>.<span class="ruby-identifier">autoload_paths</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Rails</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;app/handlers&#39;</span>)

<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span>
</pre>

<h2 id="label-Development">Development<span><a href="#label-Development">&para;</a> <a href="#top">&uarr;</a></span></h2>

<p>To update the documentation run:</p>
Expand Down
18 changes: 9 additions & 9 deletions docs/created.rid
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
Fri, 29 Sep 2017 10:22:47 +0200
./CHANGELOG.md Thu, 28 Sep 2017 18:07:34 +0200
Fri, 27 Oct 2017 10:50:26 +0200
./CHANGELOG.md Fri, 27 Oct 2017 10:48:42 +0200
./lib/evnt/command.rb Fri, 29 Sep 2017 09:21:04 +0200
./lib/evnt/event.rb Tue, 26 Sep 2017 23:48:23 +0200
./lib/evnt/handler.rb Wed, 13 Sep 2017 22:54:21 +0200
./lib/evnt/validator.rb Fri, 29 Sep 2017 10:22:37 +0200
./lib/evnt/version.rb Sun, 17 Sep 2017 10:47:42 +0200
./lib/evnt/validator.rb Fri, 29 Sep 2017 13:15:47 +0200
./lib/evnt/version.rb Fri, 27 Oct 2017 10:49:23 +0200
./lib/evnt.rb Tue, 26 Sep 2017 23:55:29 +0200
./README.md Wed, 27 Sep 2017 00:12:35 +0200
./spec/command_spec.rb Wed, 30 Aug 2017 21:25:01 +0200
./spec/event_spec.rb Thu, 03 Aug 2017 13:41:59 +0200
./README.md Sat, 07 Oct 2017 00:54:14 +0200
./spec/command_spec.rb Thu, 12 Oct 2017 09:38:00 +0200
./spec/event_spec.rb Thu, 12 Oct 2017 09:38:52 +0200
./spec/evnt_spec.rb Sun, 23 Jul 2017 11:04:02 +0200
./spec/handler_spec.rb Thu, 03 Aug 2017 13:41:57 +0200
./spec/handler_spec.rb Thu, 12 Oct 2017 23:44:24 +0200
./spec/spec_helper.rb Thu, 06 Jul 2017 19:26:28 +0200
./spec/validator_spec.rb Fri, 29 Sep 2017 10:14:03 +0200
./spec/validator_spec.rb Thu, 12 Oct 2017 23:50:43 +0200
Loading

0 comments on commit bbcc6e0

Please sign in to comment.