lhs 18.0.0.pre.pre1 → 18.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/Gemfile.activesupport4 +2 -1
- data/README.md +31 -0
- data/cider-ci/bin/bundle +2 -0
- data/lhs.gemspec +4 -4
- data/lib/lhs/concerns/record/endpoints.rb +1 -0
- data/lib/lhs/version.rb +1 -1
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7dd8872b9c48b4fa2acd3f2298aa3ae666fa38f1b2ebebeea5117d52b50f0577
|
4
|
+
data.tar.gz: 47447df65903e2c126f58d9886721f68986f0afbf338a0823cff22b0965e5eeb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f8e362f9169f983d86a4874995ce5344617929f6e33385f0d23ed2f5e2de291ce8a62a9d05284edae29ac5b475ec8507051de803bb6b91b4b8291e483221a23
|
7
|
+
data.tar.gz: 8839be8d44bcb8a4298e407bc898a39691d7282c812dae3b6c8625f8a5196b5b8bb05633228e70a07d9fba3dd8c0b15aefb0de6eaac551575c03af4f5855e408
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-2.5.1
|
data/Gemfile.activesupport4
CHANGED
data/README.md
CHANGED
@@ -48,8 +48,11 @@ record.review # "Lunch was great
|
|
48
48
|
* [Ambiguous endpoints](#ambiguous-endpoints)
|
49
49
|
* [Record inheritance](#record-inheritance)
|
50
50
|
* [Find multiple records](#find-multiple-records)
|
51
|
+
* [fetch](#fetch)
|
51
52
|
* [where](#where)
|
52
53
|
* [Reuse/Dry where statements: Use scopes](#reusedry-where-statements-use-scopes)
|
54
|
+
* [all](#all)
|
55
|
+
* [all with unpaginated endpoints](#all-with-unpaginated-endpoints)
|
53
56
|
* [Retrieve the amount of a collection of items: count vs. length](#retrieve-the-amount-of-a-collection-of-items-count-vs-length)
|
54
57
|
* [Find single records](#find-single-records)
|
55
58
|
* [find](#find)
|
@@ -65,6 +68,7 @@ record.review # "Lunch was great
|
|
65
68
|
* [has_one](#has_one)
|
66
69
|
* [Unwrap nested items from the response body](#unwrap-nested-items-from-the-response-body)
|
67
70
|
* [Determine collections from the response body](#determine-collections-from-the-response-body)
|
71
|
+
* [Load additional data based on retrieved data](#load-additional-data-based-on-retrieved-data)
|
68
72
|
* [Chain complex queries](#chain-complex-queries)
|
69
73
|
* [Chain where queries](#chain-where-queries)
|
70
74
|
* [Expand plain collections of links: expanded](#expand-plain-collections-of-links-expanded)
|
@@ -741,6 +745,33 @@ GET https://service.example.com/search?q=Starbucks
|
|
741
745
|
{... docs: [... {... address: 'Bahnhofstrasse 5, 8000 Zürich' }] }
|
742
746
|
```
|
743
747
|
|
748
|
+
#### Load additional data based on retrieved data
|
749
|
+
|
750
|
+
In order to load linked data from already retrieved data, you can use `load!` (or `reload!`).
|
751
|
+
|
752
|
+
```ruby
|
753
|
+
# app/controllers/some_controller.rb
|
754
|
+
|
755
|
+
record = Record.find(1)
|
756
|
+
record.associated_thing.load!
|
757
|
+
```
|
758
|
+
```
|
759
|
+
GET https://things/4
|
760
|
+
{ name: "Steve" }
|
761
|
+
```
|
762
|
+
```ruby
|
763
|
+
# app/controllers/some_controller.rb
|
764
|
+
record.associated_thing.name # Steve
|
765
|
+
|
766
|
+
record.associated_thing.load! # Does NOT create another request, as it is already loaded
|
767
|
+
record.associated_thing.reload! # Does request the data again from remote
|
768
|
+
|
769
|
+
```
|
770
|
+
```
|
771
|
+
GET https://things/4
|
772
|
+
{ name: "Steve" }
|
773
|
+
```
|
774
|
+
|
744
775
|
### Chain complex queries
|
745
776
|
|
746
777
|
> [Method chaining](https://en.wikipedia.org/wiki/Method_chaining), also known as named parameter idiom, is a common syntax for invoking multiple method calls in object-oriented programming languages. Each method returns an object, allowing the calls to be chained together without requiring variables to store the intermediate results
|
data/cider-ci/bin/bundle
CHANGED
data/lhs.gemspec
CHANGED
@@ -19,18 +19,18 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.test_files = `git ls-files -- spec/*`.split("\n")
|
20
20
|
s.require_paths = ['lib']
|
21
21
|
|
22
|
-
s.requirements << 'Ruby >= 2.
|
23
|
-
s.required_ruby_version = '>= 2.
|
22
|
+
s.requirements << 'Ruby >= 2.3.0'
|
23
|
+
s.required_ruby_version = '>= 2.3.0'
|
24
24
|
|
25
25
|
s.add_dependency 'activemodel'
|
26
|
-
s.add_dependency 'activesupport', '
|
26
|
+
s.add_dependency 'activesupport', '>= 4.2.11'
|
27
27
|
s.add_dependency 'lhc', '~> 10.1.1'
|
28
28
|
|
29
29
|
s.add_development_dependency 'capybara'
|
30
30
|
s.add_development_dependency 'json', '>= 1.8.2'
|
31
31
|
s.add_development_dependency 'pry'
|
32
32
|
s.add_development_dependency 'pry-byebug'
|
33
|
-
s.add_development_dependency 'rails', '>= 4.
|
33
|
+
s.add_development_dependency 'rails', '>= 4.2.11'
|
34
34
|
s.add_development_dependency 'rspec-rails', '>= 3.7.0'
|
35
35
|
s.add_development_dependency 'rubocop', '~> 0.57.1'
|
36
36
|
s.add_development_dependency 'rubocop-rspec', '~> 1.26.0'
|
data/lib/lhs/version.rb
CHANGED
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: 18.0.0
|
4
|
+
version: 18.0.0
|
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-
|
11
|
+
date: 2019-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: activesupport
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 4.2.11
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 4.2.11
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: lhc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,14 +114,14 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 4.
|
117
|
+
version: 4.2.11
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 4.
|
124
|
+
version: 4.2.11
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rspec-rails
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -461,15 +461,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
461
461
|
requirements:
|
462
462
|
- - ">="
|
463
463
|
- !ruby/object:Gem::Version
|
464
|
-
version: 2.
|
464
|
+
version: 2.3.0
|
465
465
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
466
466
|
requirements:
|
467
|
-
- - "
|
467
|
+
- - ">="
|
468
468
|
- !ruby/object:Gem::Version
|
469
|
-
version:
|
469
|
+
version: '0'
|
470
470
|
requirements:
|
471
|
-
- Ruby >= 2.
|
472
|
-
|
471
|
+
- Ruby >= 2.3.0
|
472
|
+
rubyforge_project:
|
473
|
+
rubygems_version: 2.7.6
|
473
474
|
signing_key:
|
474
475
|
specification_version: 4
|
475
476
|
summary: 'REST services accelerator: Rails gem providing an easy, active-record-like
|