lhs 19.8.1 → 19.8.2

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
  SHA256:
3
- metadata.gz: fec30fa29b9bf3d0d2f5540bc3b6ea7fa767bb79b4c30978b17b6e9e0f8b2caf
4
- data.tar.gz: 0e6099e4312500c169520ac68de15b9ba59ce9f4d63678d17d1b89b678a4314e
3
+ metadata.gz: 9e57e3afbbffbdd6fdbcc8b64a947daae97b5faa5975ae8fe29b6b77d87b0d47
4
+ data.tar.gz: 5d8363f9dcbd226f60428e6344967ef2369639fd36544b7a6d9112d5058b8d31
5
5
  SHA512:
6
- metadata.gz: b400501ee584f006e6c4c4795bbd26d2f2e52fab32babcb16e3cc3f29abd1fbaaa2aaab83c549b569fd58cf0d0f82562e538228ce58194c3125d6981f7ba9134
7
- data.tar.gz: d3c117253aeb5118c84e79a91bec37e18cd1b15668a60d233b65b6c16a9a9b41d30f053050e290e0650c9ee1efa348d1cee575440b33959361649541a0300330
6
+ metadata.gz: 4f7ae19794cade9f046731c0c6cc948a87b8a04bada44e14c52853600b78c47f6ecfb53bc2bedbb16918cb0cf2788e3ac780873ebbeebbad544eb504494464aa
7
+ data.tar.gz: b8092ac44ed946248fa686e95873ce841cd1b38dbebbc41f7547037840b56e8c8c5d168c1866382e9f6e6eb51c181e43f407febe9d5ff1b476b1df3a063f326e
@@ -84,7 +84,7 @@ class LHS::Record
84
84
  def values_from_get_params(url, options)
85
85
  uri = parse_uri(url, options)
86
86
  return {} if uri.query.blank?
87
- params = Rack::Utils.parse_nested_query(uri.query)
87
+ params = Rack::Utils.parse_nested_query(uri.query).deep_symbolize_keys
88
88
  params
89
89
  end
90
90
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LHS
4
- VERSION = '19.8.1'
4
+ VERSION = '19.8.2'
5
5
  end
@@ -632,4 +632,62 @@ describe LHS::Record do
632
632
  expect(place.customer.addresses.map(&:no)).to eq [1, 2]
633
633
  end
634
634
  end
635
+
636
+ context 'does not fail including all linked resources' do
637
+
638
+ before do
639
+ class CustomerOnboardingToken < LHS::Record
640
+ endpoint 'https://token/{id}'
641
+ end
642
+
643
+ class Place < LHS::Record
644
+ endpoint 'https://places/{id}'
645
+ end
646
+
647
+ class AvailableAsset < LHS::Record
648
+ endpoint 'https://assets'
649
+ end
650
+
651
+ stub_request(:get, 'https://token/1')
652
+ .to_return(
653
+ body: {
654
+ places: [{ href: 'https://places/1' }]
655
+ }.to_json
656
+ )
657
+
658
+ stub_request(:get, 'https://places/1?limit=100')
659
+ .to_return(
660
+ body: {
661
+ available_assets: { 'href': 'https://assets?limit=10&offset=0' }
662
+ }.to_json
663
+ )
664
+
665
+ stub_request(:get, 'https://assets?limit=10&offset=0')
666
+ .to_return(
667
+ body: {
668
+ items: 10.times.map { { asset_code: 'CATEGORIES' } },
669
+ total: 17,
670
+ offset: 0,
671
+ limit: 10
672
+ }.to_json
673
+ )
674
+
675
+ stub_request(:get, 'https://assets?limit=10&offset=10')
676
+ .to_return(
677
+ body: {
678
+ items: 7.times.map { { asset_code: 'CATEGORIES' } },
679
+ total: 17,
680
+ offset: 0,
681
+ limit: 10
682
+ }.to_json
683
+ )
684
+ end
685
+
686
+ it 'includes a collection trough a single item without exceptions' do
687
+ token = CustomerOnboardingToken
688
+ .includes_all(places: :available_assets)
689
+ .find(1)
690
+ expect(token.places.first.available_assets.length).to eq 17
691
+ end
692
+ end
635
693
  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: 19.8.1
4
+ version: 19.8.2
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: 2019-07-22 00:00:00.000000000 Z
11
+ date: 2019-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel