fmrest 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/fmrest/spyke/model/attributes.rb +2 -0
- data/lib/fmrest/v1/paths.rb +12 -5
- data/lib/fmrest/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0334b98968b68371d61a1f46c010937feb87bb5137b6e688c0096daf73b168a
|
4
|
+
data.tar.gz: c6585502bbb1a8005ea0f8a618c47d53b40b9412778a51e8154ab79393814ce5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 433e6b05959fd64afbffddd2065df862449b3a3dcebe13780182b28bd6847f6263d4b2faffa3cef7d0a0f7949005ec1a1b9e8f7825129868bf49bd3833784ab5
|
7
|
+
data.tar.gz: 542d824f1cbb3c87722105a24b6bf2fdecd0d522a1a6d796d660a4c806ec83b356c50f400c9d37ce472cd2c4781ea1a50ecc533c361c4d6c02e19d47d625fb47
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
## Changelog
|
2
2
|
|
3
|
+
### 0.3.3
|
4
|
+
|
5
|
+
* Fix encoding of paths for layouts with brackets in them (e.g. `"\[Very Ugly\]
|
6
|
+
Layout"`)
|
7
|
+
* Raise an error if `"id"` is assigned as an attribute on a model, as it's
|
8
|
+
currently a reserved method name by Spyke
|
9
|
+
|
3
10
|
### 0.3.2
|
4
11
|
|
5
12
|
* Fix support for ActiveSupport < 5.2
|
@@ -79,6 +79,8 @@ module FmRest
|
|
79
79
|
end
|
80
80
|
|
81
81
|
def _fmrest_define_attribute(from, to)
|
82
|
+
raise ArgumentError, "attribute name `id' is reserved for the recordId" if from.to_s == "id"
|
83
|
+
|
82
84
|
# We use a setter here instead of injecting the hash key/value pair
|
83
85
|
# directly with #[]= so that we don't change the mapped_attributes
|
84
86
|
# hash on the parent class. The resulting hash is frozen for the
|
data/lib/fmrest/v1/paths.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "uri"
|
4
|
-
|
5
3
|
module FmRest
|
6
4
|
module V1
|
7
5
|
module Paths
|
@@ -12,25 +10,34 @@ module FmRest
|
|
12
10
|
end
|
13
11
|
|
14
12
|
def record_path(layout, id = nil)
|
15
|
-
url = "layouts/#{
|
13
|
+
url = "layouts/#{url_encode(layout)}/records"
|
16
14
|
url += "/#{id}" if id
|
17
15
|
url
|
18
16
|
end
|
19
17
|
|
20
18
|
def container_field_path(layout, id, field_name, field_repetition = 1)
|
21
19
|
url = record_path(layout, id)
|
22
|
-
url += "/containers/#{
|
20
|
+
url += "/containers/#{url_encode(field_name)}"
|
23
21
|
url += "/#{field_repetition}" if field_repetition
|
24
22
|
url
|
25
23
|
end
|
26
24
|
|
27
25
|
def find_path(layout)
|
28
|
-
"layouts/#{
|
26
|
+
"layouts/#{url_encode(layout)}/_find"
|
29
27
|
end
|
30
28
|
|
31
29
|
def globals_path
|
32
30
|
"globals"
|
33
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
# Borrowed from ERB::Util
|
36
|
+
def url_encode(s)
|
37
|
+
s.to_s.b.gsub(/[^a-zA-Z0-9_\-.]/n) { |m|
|
38
|
+
sprintf("%%%02X", m.unpack("C")[0])
|
39
|
+
}
|
40
|
+
end
|
34
41
|
end
|
35
42
|
end
|
36
43
|
end
|
data/lib/fmrest/version.rb
CHANGED
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.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pedro Carbajal
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|