poisol 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
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