lhs 7.2.4 → 7.2.5

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: b2d99ceddb2ae5693268943054615f83012e7915
4
- data.tar.gz: 237d0864cfd642b7ea652646c9694e11db6df6bc
3
+ metadata.gz: c375618ed280267c2a1dbf38604b1924c43fa6e4
4
+ data.tar.gz: 88d0a5d78565d170db988070b4968dfe7dc9adcc
5
5
  SHA512:
6
- metadata.gz: 90e6b45e7b29f894773ff861bcd5ceae5cb28d4d223e099b360da9e729e6ef27746abb5f8c97d9ed679378f2ae58a97a6a953c14082f6addb00c82f2981831c4
7
- data.tar.gz: 6f1404569a787ef49efbc533a2e61a43eef55315387d9d32c6351d844fdde9f90a3f6556fed649558129db06dc292908dabc03a45eaa002bb2d3dd0f81806a96
6
+ metadata.gz: ecf2eb96d8f92288659c89fa838567ac4125929268ff5bb63fe2a4fd46fb7723808687f0c6deefad86aa8cd128574118211f8e3e0730ef4fbae05b84014fcd95
7
+ data.tar.gz: bdb3fb946afc13ef8f726fbae6b1b32c2fb50be840c3fdd43bebca8812b954636ba6e150bd98b6b3c37bc94d5c9f418faa31aaa1c9bc8d57b0ebd8790d198c59
@@ -27,3 +27,5 @@ Style/SignalException:
27
27
  Rails/DynamicFindBy:
28
28
  Enabled: false
29
29
 
30
+ Metrics/BlockLength:
31
+ Enabled: false
@@ -92,12 +92,11 @@ class LHS::Record
92
92
 
93
93
  def handle_includes(includes, data, references = {})
94
94
  references ||= {}
95
- references = [references] if includes.is_a?(Array) && !references.is_a?(Array)
96
95
  if includes.is_a? Hash
97
96
  includes.each { |included, sub_includes| handle_include(included, data, sub_includes, references[included]) }
98
97
  elsif includes.is_a? Array
99
- includes.each_with_index do |included, index|
100
- handle_includes(included, data, references[index])
98
+ includes.each do |included|
99
+ handle_includes(included, data, references)
101
100
  end
102
101
  else
103
102
  handle_include(includes, data, nil, references[includes])
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "7.2.4"
2
+ VERSION = "7.2.5"
3
3
  end
@@ -0,0 +1,51 @@
1
+ require 'rails_helper'
2
+
3
+ describe LHS::Record do
4
+ context 'references' do
5
+ before(:each) do
6
+ class Customer < LHS::Record
7
+ endpoint 'http://datastore/customers/:id'
8
+ end
9
+ end
10
+
11
+ let!(:customer_request) do
12
+ stub_request(:get, "http://datastore/customers/1")
13
+ .to_return(body: {
14
+ 'electronic_addresses' => {
15
+ 'href' => "http://datastore/electronic_addresses"
16
+ },
17
+ 'contact_addresses' => {
18
+ 'href' => "http://datastore/contact_addresses"
19
+ }
20
+ }.to_json)
21
+ end
22
+
23
+ let!(:electronic_addresses_request) do
24
+ stub_request(:get, "http://datastore/electronic_addresses")
25
+ .with(referencing_options)
26
+ .to_return(body: [].to_json)
27
+ end
28
+
29
+ let!(:contact_addresses_request) do
30
+ stub_request(:get, "http://datastore/contact_addresses")
31
+ .with(referencing_options)
32
+ .to_return(body: [].to_json)
33
+ end
34
+
35
+ let(:referencing_options) do
36
+ { headers: { 'Authentication' => 'Bearer 123' } }
37
+ end
38
+
39
+ it 'uses the "references" hash for all symbols of the "including" array' do
40
+ Customer
41
+ .includes(:electronic_addresses, :contact_addresses)
42
+ .references(
43
+ electronic_addresses: referencing_options,
44
+ contact_addresses: referencing_options
45
+ )
46
+ .find(1)
47
+ assert_requested(electronic_addresses_request)
48
+ assert_requested(contact_addresses_request)
49
+ end
50
+ end
51
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.4
4
+ version: 7.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/local-ch/lhs/graphs/contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-21 00:00:00.000000000 Z
11
+ date: 2017-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lhc
@@ -337,6 +337,7 @@ files:
337
337
  - spec/record/pagination_chain_spec.rb
338
338
  - spec/record/pagination_spec.rb
339
339
  - spec/record/persisted_spec.rb
340
+ - spec/record/references_spec.rb
340
341
  - spec/record/request_spec.rb
341
342
  - spec/record/save_spec.rb
342
343
  - spec/record/scope_chains_spec.rb
@@ -488,6 +489,7 @@ test_files:
488
489
  - spec/record/pagination_chain_spec.rb
489
490
  - spec/record/pagination_spec.rb
490
491
  - spec/record/persisted_spec.rb
492
+ - spec/record/references_spec.rb
491
493
  - spec/record/request_spec.rb
492
494
  - spec/record/save_spec.rb
493
495
  - spec/record/scope_chains_spec.rb