poisol 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7f206a671cea7dfa6671824d22c3673487d76487
4
- data.tar.gz: 1ed49e3fc8dbc7f78ef72b28ed3604a7fdd58256
3
+ metadata.gz: ef730c2fd13b4a62987d374c7e787f33e762692a
4
+ data.tar.gz: acb9676782c7378a5d7166ba208db7f81f7175b7
5
5
  SHA512:
6
- metadata.gz: eca8e700d164ed634ba735b7e861ecce1efecaf4ec1842f2ee317a803594b78e0db7743fc26073c7a1de3fb56103e2c20f022535c48e4bc182b66e56cf8505f2
7
- data.tar.gz: 91d6a9fabe8b63c19251e90b33f5f1f5c9280f7bbdde2fcdc7a39bb9f4d1c11cf8ea1b1c3391e7fc0dbf82d0d6cc4c142db4cca765313b596b18ae3b59acbd7d
6
+ metadata.gz: f2180acf5d678686097ba2844b95ce40c2a2b7478db6e99b18702f9781f3e30b379ce7980caa9bc616a8d1bfd2d9cf8ad246586b005c85bd22457e0727f50048
7
+ data.tar.gz: a2ac3b8340cd9c0ae5d5729e34debfbc677be033bd85cfbfa85eb07937f1053e92d5cb172f4b60dc9c9039dcf68a2cbca865d3ca2874fcfa4275763e4896eaaf
@@ -0,0 +1,11 @@
1
+ class Hash
2
+ def camelize_keys
3
+ Hash[
4
+ self.map do |key,value|
5
+ value = value.camelize_keys if value.class.name.eql?("Hash")
6
+ [key.to_s.camelize(:lower),value ]
7
+ end
8
+ ]
9
+ end
10
+ end
11
+
@@ -38,8 +38,7 @@ module RequestBodyBuilder
38
38
  if input_value.blank?
39
39
  @request.body << stub_config.request.body.deep_dup
40
40
  else
41
- input = JSON.parse(input_value[0].to_json)
42
- @request.body << (stub_config.request.body.deep_dup).deep_merge!(input)
41
+ @request.body << (stub_config.request.body.deep_dup).deep_merge!(input_value[0].camelize_keys)
43
42
  end
44
43
  self
45
44
  end
@@ -39,7 +39,7 @@ module ResponseBodyBuilder
39
39
  @response.body << stub_config.response.body.deep_dup
40
40
  else
41
41
  input = JSON.parse(input_value[0].to_json)
42
- @response.body << (stub_config.response.body.deep_dup).deep_merge!(input)
42
+ @response.body << (stub_config.response.body.deep_dup).deep_merge!(input_value[0].camelize_keys)
43
43
  end
44
44
  self
45
45
  end
@@ -37,12 +37,12 @@ module StubInstance
37
37
  end
38
38
 
39
39
  def has input_hash
40
- @response.body.deep_merge! input_hash
40
+ @response.body.deep_merge! input_hash.camelize_keys
41
41
  self
42
42
  end
43
43
 
44
44
  def for input_hash
45
- @request.query.deep_merge! input_hash
45
+ @request.query.deep_merge! input_hash.camelize_keys
46
46
  self
47
47
  end
48
48
 
@@ -12,8 +12,8 @@ describe Stub, "#query_explicit" do
12
12
  expect(response.body).to eq({"title"=>"independance", "category"=>{"age_group"=>"10", "genre"=>"action", "publisher"=>{"name"=>"summa", "place"=>"erode"}}}.to_json)
13
13
  end
14
14
 
15
- it "full dymamic inline" do
16
- Book.new.for(:author => 'asd',:name =>'don').build()
15
+ it "full dymamic hash params" do
16
+ Book.new.for(:author => 'asd',:name =>'don').build
17
17
  response = RestClient.get "http://localhost:80/book",{:params => {:author=>'asd',:name=>'don'}}
18
18
  expect(response.body).to eq({"title"=>"independance", "category"=>{"age_group"=>"10", "genre"=>"action", "publisher"=>{"name"=>"summa", "place"=>"erode"}}}.to_json)
19
19
  end
@@ -0,0 +1,6 @@
1
+ describe Hash,"hashes extension" do
2
+ it "camelize keys" do
3
+ sample = {:ab_cd=>1,:ef_g=>{:hi_jk=>2}}
4
+ expect(sample.camelize_keys).to eq({"abCd"=>1,"efG"=>{"hiJk"=>2}})
5
+ end
6
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poisol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deepak
@@ -131,6 +131,7 @@ files:
131
131
  - README.md
132
132
  - lib/poisol.rb
133
133
  - lib/poisol/domain.rb
134
+ - lib/poisol/extensions/hash.rb
134
135
  - lib/poisol/extensions/webmock_extensions.rb
135
136
  - lib/poisol/stub/request/query_builder.rb
136
137
  - lib/poisol/stub/request/request_body_builder.rb
@@ -177,6 +178,7 @@ files:
177
178
  - spec/functional/url_spec.rb
178
179
  - spec/spec_helper.rb
179
180
  - spec/unit/exception_spec.rb
181
+ - spec/unit/extension/hash_spec.rb
180
182
  - spec/unit/stub_spec.rb
181
183
  homepage: https://github.com/paramadeep/poisol
182
184
  licenses:
@@ -220,6 +222,7 @@ test_files:
220
222
  - spec/data/main/response/nested_array.yml
221
223
  - spec/data/main/query/book_explicit.yml
222
224
  - spec/data/main/query/book.yml
225
+ - spec/unit/extension/hash_spec.rb
223
226
  - spec/unit/exception_spec.rb
224
227
  - spec/unit/stub_spec.rb
225
228
  - spec/spec_helper.rb