fmrest 0.14.0 → 0.15.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +27 -11
- metadata +17 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89540bf2ad2452a234fe6d42f1711d46dd3533e667980a050258c95c84c02597
|
4
|
+
data.tar.gz: ecbe0af46dcc374411c6d007a463f220a69904a15b0cfbca87160d7204cad9a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd7765bc8695fe8b63393965b807d1828ecad81d995f82987e8e36579092f7442b3f31b7a6948c423915eb51d27c7cd83f4bac6edb7f32dc7107a573cb5e3f24
|
7
|
+
data.tar.gz: b515ff6e9ae14c9b5cc69e6ede9e53e32e9580c607feb0bc613ec067b1176c8b4ff9829f564ed622f765c9b02a116eabe9f93aa567b0a6af8f2c320a1e643cd0
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## Changelog
|
2
2
|
|
3
|
+
### 0.15.0
|
4
|
+
|
5
|
+
* Much improved querying API (see documentation on querying), adding new
|
6
|
+
`.query` capabilities, as well as two new methods: `.match` and `.or`
|
7
|
+
|
3
8
|
### 0.14.0
|
4
9
|
|
5
10
|
* Aliased `FmRest::Spyke::Base` as `FmRest::Layout` (now preferred), and
|
data/README.md
CHANGED
@@ -54,13 +54,28 @@ class Honeybee < FmRest::Layout("Honeybees Web")
|
|
54
54
|
}
|
55
55
|
|
56
56
|
# Mapped attributes
|
57
|
-
attributes name: "Bee Name", age: "Bee Age"
|
57
|
+
attributes name: "Bee Name", age: "Bee Age", created_on: "Created On"
|
58
58
|
|
59
|
-
#
|
60
|
-
has_portal :
|
59
|
+
# Portal associations
|
60
|
+
has_portal :tasks
|
61
61
|
|
62
|
-
# File
|
62
|
+
# File containers
|
63
63
|
container :photo, field_name: "Bee Photo"
|
64
|
+
|
65
|
+
# Scopes
|
66
|
+
scope :can_legally_fly, -> { query(age: ">18") }
|
67
|
+
|
68
|
+
# Client-side validations
|
69
|
+
validates :name, presence: true
|
70
|
+
|
71
|
+
# Callbacks
|
72
|
+
before_save :set_created_on
|
73
|
+
|
74
|
+
private
|
75
|
+
|
76
|
+
def set_created_on
|
77
|
+
self.created_on = Date.today
|
78
|
+
end
|
64
79
|
end
|
65
80
|
|
66
81
|
# Find a record by id
|
@@ -69,7 +84,7 @@ bee = Honeybee.find(9)
|
|
69
84
|
bee.name = "Hutch"
|
70
85
|
|
71
86
|
# Add a new record to portal
|
72
|
-
bee.
|
87
|
+
bee.tasks.build(urgency: "Today")
|
73
88
|
|
74
89
|
bee.save
|
75
90
|
```
|
@@ -129,9 +144,9 @@ You can also pass a `:log` option for basic request logging, see the section on
|
|
129
144
|
Option | Description | Format | Default
|
130
145
|
--------------------|--------------------------------------------|-----------------------------|--------
|
131
146
|
`:host` | Hostname with optional port, e.g. `"example.com:9000"` | String | None
|
132
|
-
`:database` |
|
133
|
-
`:username` |
|
134
|
-
`:password` |
|
147
|
+
`:database` | The name of the database to connect to | String | None
|
148
|
+
`:username` | A Data API-ready account | String | None
|
149
|
+
`:password` | Your password | String | None
|
135
150
|
`:account_name` | Alias of `:username` | String | None
|
136
151
|
`:ssl` | SSL options to be forwarded to Faraday | Faraday SSL options | None
|
137
152
|
`:proxy` | Proxy options to be forwarded to Faraday | Faraday proxy options | None
|
@@ -288,7 +303,8 @@ class Honeybee < FmRest::Layout
|
|
288
303
|
end
|
289
304
|
```
|
290
305
|
|
291
|
-
Alternatively, you
|
306
|
+
Alternatively, if you're inheriting from `FmRest::Layout` directly you can set
|
307
|
+
the layout name in the class definition line:
|
292
308
|
|
293
309
|
```ruby
|
294
310
|
class Honeybee < FmRest::Layout("Honeybees Web")
|
@@ -388,8 +404,8 @@ Guides](https://guides.rubyonrails.org/active_model_basics.html#dirty).
|
|
388
404
|
Since Spyke is API-agnostic it only provides a wide-purpose `.where` method for
|
389
405
|
passing arbitrary parameters to the REST backend. fmrest-ruby however is well
|
390
406
|
aware of its backend API, so it extends Spkye models with a bunch of useful
|
391
|
-
querying methods: `.query`, `.
|
392
|
-
etc.
|
407
|
+
querying methods: `.query`, `.match`, `.omit`, `.limit`, `.offset`, `.sort`,
|
408
|
+
`.portal`, `.script`, etc.
|
393
409
|
|
394
410
|
See the [main document on querying](docs/Querying.md) for detailed information
|
395
411
|
on the query API methods.
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fmrest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.15.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedro Carbajal
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fmrest-core
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.15.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.15.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fmrest-spyke
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.15.0
|
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: 0.
|
40
|
+
version: 0.15.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,6 +222,17 @@ licenses:
|
|
222
222
|
- MIT
|
223
223
|
metadata: {}
|
224
224
|
post_install_message: |+
|
225
|
+
=======================================
|
226
|
+
Notes on upgrading from fmrest < 0.15
|
227
|
+
=======================================
|
228
|
+
|
229
|
+
There's a breaking change in the way the `.query` method behaves when chained.
|
230
|
+
|
231
|
+
Previously it would add new conditions as a logical OR in relation to
|
232
|
+
already set ones, whereas now by default it adds new conditions as a logical
|
233
|
+
AND relative to existing ones. To keep the old behavior you can use `.or.query`
|
234
|
+
in chained query calls instead. See documentation on querying for details.
|
235
|
+
|
225
236
|
=======================================
|
226
237
|
Notes on upgrading from fmrest < 0.13
|
227
238
|
=======================================
|