lhs 18.0.0.pre.pre1 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|