simple_params 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjIwMGE2Y2M5N2NiNDIxNWUzMTBhMGE0OTc0MmRlMzEwMTkwZGM2NQ==
4
+ NTg5ZjU4NGE5ODRkMmYwMDNlY2E5OTM2ZjgwYTcyYjJlYzk2YTM1MQ==
5
5
  data.tar.gz: !binary |-
6
- OWI3OGZiMzRiZDBlNjM3OTQ1NDE3NThkYjcxNzEzOTQxZDg4NmZlZg==
6
+ OWQ1ODFkYzljM2I5ZmNlOGYwZGU5Mzc3ZTY1Y2I5ZjRiNGMxMzJjMw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- NzNjNTY5OWEyZTRlMDQyYTQ1OTI5NGRmODY0ODgzOTYyYThjZmJkODdhNGQ2
10
- YzlkN2M1NTMzODQzODg1Mjc1Y2UwZmY4YWQ4YzI3NjQ3NTEzMDhmNWUwZjNm
11
- NDIxM2E1MTk1ZjIxZmJiZmYyZjhjYTA5YTRmNmFhNjJkZTQxMzg=
9
+ NjhjZTMzNmUwNzc5NTg5NmNhODQxYjhlYzBiZThjNGVkMWExZDc2NzM4NDI5
10
+ NzUwNjhhMzExNGFjYzg0NjVlOWE0MzRhNDEwNzAyNzZhZGYyY2ZlMDdmMDFm
11
+ M2NjZWI2OGM0NWU0ZmYxMWVlYTMzZmM5YTcxZDJkZjQ1YzhjMWU=
12
12
  data.tar.gz: !binary |-
13
- MTc4YTZjNTM0YzZhMmQ1NTMxM2JkNmM4NjQ5NGQ2ZjQwYWFlMmIwZDVlOTI4
14
- YmY3MzZlYjM5MWZmM2I3MDlmMjVjZDRkOWYwZDYwYWFiMDg1Nzc3ZTA5MmFj
15
- ZTlhYzVmNGY0Y2M4ZWI0YzM4YzAyMjZmM2MyYTk4NDE0ZGFkMzU=
13
+ MjhkZWI0OWVkYTQyMjIwYzk0OTRhNGNjNjM5NTMwMTFmYmYzZjA1ODdlZDRj
14
+ MmU4ZGZkZTAwN2IwZTcyNTgyMDQ1YTY2ODNhMjFiYTViZWFlMDA2NjAzOWFl
15
+ YTE3OWZkZmNhMGE4ZTIyMjk0Nzk2ZjNhY2JmYmYyMzIzYTc4MWQ=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- simple_params (0.0.2.pre9)
4
+ simple_params (0.0.3)
5
5
  activemodel (>= 3.0, < 5.0)
6
6
  shoulda-matchers (~> 2.8)
7
7
  virtus (>= 1.0.0)
data/README.md CHANGED
@@ -12,7 +12,7 @@ This class provides the following benefits for handling params:
12
12
 
13
13
  Add this line to your application's Gemfile:
14
14
 
15
- gem 'simple_params', '~> 0.0.1pre'
15
+ gem 'simple_params'
16
16
 
17
17
  And then execute:
18
18
 
@@ -0,0 +1,36 @@
1
+ module SimpleParams
2
+ module ValidationMatchers
3
+ def have_nested_parameter(attr)
4
+ NestedParameterMatcher.new(attr)
5
+ end
6
+
7
+ class NestedParameterMatcher < ValidationMatcher
8
+ attr_accessor :attribute
9
+
10
+ def initialize(attribute)
11
+ super(attribute)
12
+ @attribute = attribute
13
+ end
14
+
15
+ def matches?(subject)
16
+ super(subject)
17
+ subject.send(:nested_hashes).has_key?(@attribute)
18
+ end
19
+
20
+ def description
21
+ "Should have nested param #{@attribute}"
22
+ end
23
+
24
+ def failure_message_for_should
25
+ "Should have nested param #{@attribute}"
26
+ end
27
+
28
+ def failure_message_for_should_not
29
+ "Should not have nested param #{@attribute}"
30
+ end
31
+
32
+ private
33
+
34
+ end
35
+ end
36
+ end
@@ -1,3 +1,3 @@
1
1
  module SimpleParams
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/simple_params.rb CHANGED
@@ -13,5 +13,6 @@ require 'simple_params/api_pie_doc/nested_attribute'
13
13
  require 'simple_params/validation_matchers/validation_matcher'
14
14
  require 'simple_params/validation_matchers/coercion_matcher'
15
15
  require 'simple_params/validation_matchers/format_matcher'
16
+ require 'simple_params/validation_matchers/nested_parameter_matcher'
16
17
  require 'simple_params/validation_matchers/required_parameter_matcher'
17
18
  require 'simple_params/validation_matchers/optional_parameter_matcher'
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe SimpleParams::ValidationMatchers::NestedParameterMatcher do
4
+ class NestedParameterMatcherTestClass < SimpleParams::Params
5
+ param :name
6
+ param :age, optional: true, default: 37
7
+ param :title, optional: true, default: "programmer"
8
+ param :account_type, default: "checking", validations: { inclusion: { in: ["checking", "savings"] }}
9
+ param :account_status, optional: true, validations: { inclusion: { in: ["active", "inactive"] }}
10
+ nested_param :billing_address do
11
+ param :first_name
12
+ param :last_name
13
+ param :company, optional: true
14
+ param :street
15
+ param :city
16
+ param :state
17
+ param :zip_code
18
+ param :country
19
+ end
20
+ end
21
+
22
+ subject { NestedParameterMatcherTestClass.new }
23
+
24
+ it { should have_nested_parameter(:billing_address) }
25
+ it { should_not have_nested_parameter(:broken) }
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - brycesenz
@@ -140,6 +140,7 @@ files:
140
140
  - lib/simple_params/type_mappings.rb
141
141
  - lib/simple_params/validation_matchers/coercion_matcher.rb
142
142
  - lib/simple_params/validation_matchers/format_matcher.rb
143
+ - lib/simple_params/validation_matchers/nested_parameter_matcher.rb
143
144
  - lib/simple_params/validation_matchers/optional_parameter_matcher.rb
144
145
  - lib/simple_params/validation_matchers/required_parameter_matcher.rb
145
146
  - lib/simple_params/validation_matchers/validation_matcher.rb
@@ -159,6 +160,7 @@ files:
159
160
  - spec/support/shared_examples/base_attribute.rb
160
161
  - spec/validation_matchers/coercion_matcher_spec.rb
161
162
  - spec/validation_matchers/format_matcher_spec.rb
163
+ - spec/validation_matchers/nested_parameter_matcher_spec.rb
162
164
  - spec/validation_matchers/optional_parameter_matcher_spec.rb
163
165
  - spec/validation_matchers/required_parameter_matcher_spec.rb
164
166
  homepage: https://github.com/brycesenz/simple_params
@@ -199,5 +201,6 @@ test_files:
199
201
  - spec/support/shared_examples/base_attribute.rb
200
202
  - spec/validation_matchers/coercion_matcher_spec.rb
201
203
  - spec/validation_matchers/format_matcher_spec.rb
204
+ - spec/validation_matchers/nested_parameter_matcher_spec.rb
202
205
  - spec/validation_matchers/optional_parameter_matcher_spec.rb
203
206
  - spec/validation_matchers/required_parameter_matcher_spec.rb