lhs 12.2.1 → 12.3.0

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: f8cf5dca801873de0a2f1dce552f1c0a0fed9193
4
- data.tar.gz: cfcc3159765215d4319c26c8dca56cc82bca8263
3
+ metadata.gz: 7554b56a54a00c1f033a2fe7066e669e8d789d4a
4
+ data.tar.gz: 3499bbe9fa14d712c74b6f60c102cc6a521d9ef3
5
5
  SHA512:
6
- metadata.gz: 3605514ae588fe9ddfd1fb2e4496d9e39512dcf2830873c86844dbddf118776baf7507ac3d949a279e6a8bebc1f28dd43a1cd14bf1435b1834a779582b2834b2
7
- data.tar.gz: 9e10cc9fb96fc06dc42541908b1daec77bc0cedd1162d042fd92595c0a388226d22e47892dd9d7cb20e283624a6dfcb65d88c1ca3080a1ca4f50b8396c10f1f8
6
+ metadata.gz: cc972e9170ec6805eb9ddc8183ac90fe02ef1d751fb724106b1729620f2c48c4862a47f814d54afb657e73918da28eb117cc95fb003e8ed6f49f80bf35c7bc98
7
+ data.tar.gz: fb277f758c7daf15076bba4002304d3ce0409d3f44959f444065ce06bf7eafd8f7b04e1fbf7149ac49e2b44db489247d33c567ea1adfe7b0b2796da72b59633f
data/README.md CHANGED
@@ -181,6 +181,14 @@ record = Record.where(color: 'blue')
181
181
 
182
182
  [List of possible error classes](https://github.com/local-ch/lhc/tree/master/lib/lhc/errors)
183
183
 
184
+ ## Resolve chains
185
+
186
+ LHS Chains can be resolved with `fetch`, similiar to ActiveRecord:
187
+
188
+ ```ruby
189
+ records = Record.where(color: 'blue').fetch
190
+ ```
191
+
184
192
  ## Find single records
185
193
 
186
194
  `find` finds a unique record by unique identifier (usualy id or href).
@@ -273,6 +273,10 @@ class LHS::Record
273
273
  end
274
274
  end
275
275
 
276
+ def fetch
277
+ resolve
278
+ end
279
+
276
280
  protected
277
281
 
278
282
  def method_missing(name, *args, &block)
data/lib/lhs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "12.2.1"
2
+ VERSION = "12.3.0"
3
3
  end
@@ -0,0 +1,24 @@
1
+ require 'rails_helper'
2
+
3
+ describe LHS::Record do
4
+ before(:each) do
5
+ class Record < LHS::Record
6
+ endpoint 'http://datastore/records/'
7
+ end
8
+ end
9
+
10
+ context 'fetch' do
11
+ let!(:request_stub) do
12
+ stub_request(:get, "http://datastore/records/?available=true&color=blue&range=%3E26")
13
+ .to_return(body: [{
14
+ name: 'Steve'
15
+ }].to_json)
16
+ end
17
+
18
+ it 'resolves chains' do
19
+ records = Record.where(color: 'blue').where(range: '>26', available: true).fetch
20
+ expect(request_stub).to have_been_requested
21
+ expect(records.first.name).to eq 'Steve'
22
+ end
23
+ end
24
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.2.1
4
+ version: 12.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/local-ch/lhs/graphs/contributors
@@ -350,6 +350,7 @@ files:
350
350
  - spec/record/endpoints_spec.rb
351
351
  - spec/record/equality_spec.rb
352
352
  - spec/record/expanded_spec.rb
353
+ - spec/record/fetch_spec.rb
353
354
  - spec/record/find_by_chains_spec.rb
354
355
  - spec/record/find_by_spec.rb
355
356
  - spec/record/find_each_spec.rb
@@ -521,6 +522,7 @@ test_files:
521
522
  - spec/record/endpoints_spec.rb
522
523
  - spec/record/equality_spec.rb
523
524
  - spec/record/expanded_spec.rb
525
+ - spec/record/fetch_spec.rb
524
526
  - spec/record/find_by_chains_spec.rb
525
527
  - spec/record/find_by_spec.rb
526
528
  - spec/record/find_each_spec.rb