eac_rest 0.11.0 → 0.13.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/lib/eac_rest/api.rb +0 -4
- data/lib/eac_rest/entity/children.rb +24 -0
- data/lib/eac_rest/entity/data.rb +0 -2
- data/lib/eac_rest/entity/fetching.rb +19 -8
- data/lib/eac_rest/entity.rb +0 -9
- data/lib/eac_rest/helper.rb +0 -2
- data/lib/eac_rest/request.rb +0 -4
- data/lib/eac_rest/response.rb +1 -5
- data/lib/eac_rest/version.rb +1 -1
- data/lib/eac_rest.rb +5 -2
- metadata +32 -19
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82e7ab203081a5bb00d067ac03d7816d3269d184b529fb5221b29abfb6417bf0
|
|
4
|
+
data.tar.gz: 686f13eeff4af34eb0aaed13cad06f6b2dc45b288333ddaf846f37ca3cd2913d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 914710a3034b2c34a30a4268a0ad2a43e21a6e0fe193f5b8d40d3f4302e99d3d2b60a502d72fc101c1b33f4cd1300a25efbc48e1e933e0818cf79060aabac29d
|
|
7
|
+
data.tar.gz: ad721989f4a047203d045aa45a73487f84eadf7cc4f3fad9ecfdd42f278bce062782443a0c7d60d3161cbe3bdaf10c2eee3324b78790122bae48d2883f1b6d02
|
data/lib/eac_rest/api.rb
CHANGED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module EacRest
|
|
4
|
+
class Entity
|
|
5
|
+
module Children
|
|
6
|
+
# @param entity_class [Class]
|
|
7
|
+
# @param data_or_id [Hash|Object]
|
|
8
|
+
# @param options [Hash]
|
|
9
|
+
# @return [EacRest::Entity]
|
|
10
|
+
def child_entity(entity_class, data_or_id, options = {})
|
|
11
|
+
api.entity(entity_class, data_or_id, options.merge(OPTION_PARENT => self))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# @param entity_class [Class<T>]
|
|
15
|
+
# @param path_suffix [String]
|
|
16
|
+
# @return [Enumerable<T>]
|
|
17
|
+
def child_list(entity_class, path_suffix)
|
|
18
|
+
items = request(path_suffix).response.body_data
|
|
19
|
+
items = yield(items) if block_given?
|
|
20
|
+
items.map { |e| child_entity(entity_class, e) }
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
data/lib/eac_rest/entity/data.rb
CHANGED
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'eac_rest/helper'
|
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
|
5
|
-
|
|
6
3
|
module EacRest
|
|
7
4
|
class Entity
|
|
8
5
|
module Fetching
|
|
9
|
-
# @
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
# @param url_suffix [Addressable::URI]
|
|
7
|
+
# @return [EacRest::Request]
|
|
8
|
+
def request(url_suffix)
|
|
9
|
+
request_json(url_suffix)
|
|
12
10
|
end
|
|
13
11
|
|
|
12
|
+
# @param url_suffix [Addressable::URI]
|
|
14
13
|
# @return [EacRest::Request]
|
|
15
|
-
def
|
|
16
|
-
api.
|
|
14
|
+
def request_json(url_suffix = '')
|
|
15
|
+
api.request_json(to_api_address_suffix(url_suffix))
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# @return [String]
|
|
19
|
+
def to_api_address_suffix(url_suffix = '')
|
|
20
|
+
r = [to_api_address_suffix_self, url_suffix].join
|
|
21
|
+
r = parent_entity.to_api_address_suffix(r) if parent_entity
|
|
22
|
+
r
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @return [String]
|
|
26
|
+
def to_api_address_suffix_self
|
|
27
|
+
raise_abstract_method __method__
|
|
17
28
|
end
|
|
18
29
|
end
|
|
19
30
|
end
|
data/lib/eac_rest/entity.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
|
4
|
-
|
|
5
3
|
module EacRest
|
|
6
4
|
class Entity
|
|
7
5
|
enable_abstract_methods
|
|
@@ -18,13 +16,6 @@ module EacRest
|
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
18
|
|
|
21
|
-
# @param entity_class [Class]
|
|
22
|
-
# @param url_suffix [String]
|
|
23
|
-
# @return [EacRest::Entity]
|
|
24
|
-
def child_entity(entity_class, data_or_id, options = {})
|
|
25
|
-
api.entity(entity_class, data_or_id, options.merge(OPTION_PARENT => self))
|
|
26
|
-
end
|
|
27
|
-
|
|
28
19
|
# @return [EacRest::Entity, nil]
|
|
29
20
|
def parent_entity
|
|
30
21
|
options[OPTION_PARENT]
|
data/lib/eac_rest/helper.rb
CHANGED
data/lib/eac_rest/request.rb
CHANGED
data/lib/eac_rest/response.rb
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'eac_rest/error'
|
|
4
|
-
require 'eac_envs/http/error'
|
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
|
6
|
-
|
|
7
3
|
module EacRest
|
|
8
4
|
class Response < ::StandardError
|
|
9
5
|
common_constructor :request
|
|
@@ -13,7 +9,7 @@ module EacRest
|
|
|
13
9
|
@internal_response ||= request.internal_request.response
|
|
14
10
|
end
|
|
15
11
|
|
|
16
|
-
%i[body_data body_data_or_raise body_str body_str_or_raise header headers
|
|
12
|
+
%i[body_data body_data! body_data_or_raise body_str body_str_or_raise header headers
|
|
17
13
|
link links raise_unless_200 status to_s url].each do |method_name| # rubocop:disable Naming/VariableNumber
|
|
18
14
|
define_method method_name do |*args, &block|
|
|
19
15
|
internal_response.send(method_name, *args, &block)
|
data/lib/eac_rest/version.rb
CHANGED
data/lib/eac_rest.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: eac_rest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.13.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eduardo H. Bogoni
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-04-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: eac_envs-http
|
|
@@ -16,64 +16,76 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.
|
|
19
|
+
version: '0.7'
|
|
20
20
|
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.
|
|
22
|
+
version: 0.7.1
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '0.
|
|
29
|
+
version: '0.7'
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.
|
|
32
|
+
version: 0.7.1
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: eac_fs
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '0.
|
|
39
|
+
version: '0.20'
|
|
40
|
+
- - ">="
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: 0.20.1
|
|
40
43
|
type: :runtime
|
|
41
44
|
prerelease: false
|
|
42
45
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
46
|
requirements:
|
|
44
47
|
- - "~>"
|
|
45
48
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: '0.
|
|
49
|
+
version: '0.20'
|
|
50
|
+
- - ">="
|
|
51
|
+
- !ruby/object:Gem::Version
|
|
52
|
+
version: 0.20.1
|
|
47
53
|
- !ruby/object:Gem::Dependency
|
|
48
54
|
name: eac_ruby_utils
|
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
|
50
56
|
requirements:
|
|
51
57
|
- - "~>"
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0.
|
|
59
|
+
version: '0.130'
|
|
54
60
|
type: :runtime
|
|
55
61
|
prerelease: false
|
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
63
|
requirements:
|
|
58
64
|
- - "~>"
|
|
59
65
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0.
|
|
66
|
+
version: '0.130'
|
|
61
67
|
- !ruby/object:Gem::Dependency
|
|
62
68
|
name: eac_ruby_gem_support
|
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
|
64
70
|
requirements:
|
|
65
71
|
- - "~>"
|
|
66
72
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '0.
|
|
73
|
+
version: '0.12'
|
|
74
|
+
- - ">="
|
|
75
|
+
- !ruby/object:Gem::Version
|
|
76
|
+
version: 0.12.2
|
|
68
77
|
type: :development
|
|
69
78
|
prerelease: false
|
|
70
79
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
80
|
requirements:
|
|
72
81
|
- - "~>"
|
|
73
82
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: '0.
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
version: '0.12'
|
|
84
|
+
- - ">="
|
|
85
|
+
- !ruby/object:Gem::Version
|
|
86
|
+
version: 0.12.2
|
|
87
|
+
description:
|
|
88
|
+
email:
|
|
77
89
|
executables: []
|
|
78
90
|
extensions: []
|
|
79
91
|
extra_rdoc_files: []
|
|
@@ -81,6 +93,7 @@ files:
|
|
|
81
93
|
- lib/eac_rest.rb
|
|
82
94
|
- lib/eac_rest/api.rb
|
|
83
95
|
- lib/eac_rest/entity.rb
|
|
96
|
+
- lib/eac_rest/entity/children.rb
|
|
84
97
|
- lib/eac_rest/entity/data.rb
|
|
85
98
|
- lib/eac_rest/entity/fetching.rb
|
|
86
99
|
- lib/eac_rest/error.rb
|
|
@@ -88,10 +101,10 @@ files:
|
|
|
88
101
|
- lib/eac_rest/request.rb
|
|
89
102
|
- lib/eac_rest/response.rb
|
|
90
103
|
- lib/eac_rest/version.rb
|
|
91
|
-
homepage:
|
|
104
|
+
homepage:
|
|
92
105
|
licenses: []
|
|
93
106
|
metadata: {}
|
|
94
|
-
post_install_message:
|
|
107
|
+
post_install_message:
|
|
95
108
|
rdoc_options: []
|
|
96
109
|
require_paths:
|
|
97
110
|
- lib
|
|
@@ -106,8 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
106
119
|
- !ruby/object:Gem::Version
|
|
107
120
|
version: '0'
|
|
108
121
|
requirements: []
|
|
109
|
-
rubygems_version: 3.
|
|
110
|
-
signing_key:
|
|
122
|
+
rubygems_version: 3.4.19
|
|
123
|
+
signing_key:
|
|
111
124
|
specification_version: 4
|
|
112
125
|
summary: A REST helper for Ruby.
|
|
113
126
|
test_files: []
|