json_api_toolbox 2.0.0 → 2.1.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/.version +1 -0
- data/CHANGELOG.md +8 -0
- data/Dockerfile +1 -1
- data/Gemfile.lock +37 -35
- data/bin/docker +61 -0
- data/bin/setup.sh +12 -9
- data/bitbucket-pipelines.yml +3 -5
- data/lib/json_api_toolbox/rspec.rb +0 -2
- data/lib/json_api_toolbox/version.rb +1 -1
- data/lib/postable.rb +1 -1
- data/lib/service.rb +15 -11
- metadata +5 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 57d15d5fd3e2fd4747a2606e83d3f38f8a1991dac1ce62bfa9dd9ccc45e27f94
|
|
4
|
+
data.tar.gz: ecbb101680a6767f7d83238a6e0500ef67ac4addbebc6500c9881172678b7d1e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 76bee9fcd248fd05746574fbcc763bfe83150c4822574ea3238c068613c712a09eb11c8d46426e2b8f4f43a5475642aedc6a2f2ea893108a954a4bddf1b63f14
|
|
7
|
+
data.tar.gz: 365556a551fb49c8050a78c106df2d7c5e1d02eee6e9c289f8ea0abe3f16c150902505a67be7ebfe86a3d7d942b7dc7922e7e8418d3c63fcc3757ac5055fdf18
|
data/.version
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2.1.0
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [2.1.0] - 2022-11-09
|
|
10
|
+
### Changed
|
|
11
|
+
- Permite seja via parametro, seja via ENV alterar o timeout do RestClient
|
|
12
|
+
|
|
13
|
+
## [2.0.1] - 2021-08-13
|
|
14
|
+
### Fixed
|
|
15
|
+
- Fixed a constant loading problem on rails
|
|
16
|
+
|
|
9
17
|
## [2.0.0] - 2021-06-23
|
|
10
18
|
### Added
|
|
11
19
|
- New README file describing the gem and it's uses
|
data/Dockerfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
json_api_toolbox (2.
|
|
4
|
+
json_api_toolbox (2.1.0)
|
|
5
5
|
activerecord (>= 5.1.0)
|
|
6
6
|
activesupport (>= 5.1.0)
|
|
7
7
|
json-api-vanilla
|
|
@@ -82,15 +82,15 @@ GEM
|
|
|
82
82
|
diff-lcs (1.4.4)
|
|
83
83
|
domain_name (0.5.20190701)
|
|
84
84
|
unf (>= 0.0.5, < 1.0.0)
|
|
85
|
-
erubi (1.
|
|
86
|
-
globalid (0.
|
|
87
|
-
activesupport (>=
|
|
85
|
+
erubi (1.11.0)
|
|
86
|
+
globalid (1.0.0)
|
|
87
|
+
activesupport (>= 5.0)
|
|
88
88
|
http-accept (1.7.0)
|
|
89
|
-
http-cookie (1.0.
|
|
89
|
+
http-cookie (1.0.5)
|
|
90
90
|
domain_name (~> 0.5)
|
|
91
91
|
i18n (1.8.10)
|
|
92
92
|
concurrent-ruby (~> 1.0)
|
|
93
|
-
json-api-vanilla (1.0.
|
|
93
|
+
json-api-vanilla (1.0.4)
|
|
94
94
|
jsonapi-renderer (0.2.2)
|
|
95
95
|
jsonapi-serializable (0.3.1)
|
|
96
96
|
jsonapi-renderer (~> 0.2.0)
|
|
@@ -99,7 +99,7 @@ GEM
|
|
|
99
99
|
logstash-event (>= 1.2.02)
|
|
100
100
|
logstash-logger (>= 0.26.1)
|
|
101
101
|
rails (>= 5.0)
|
|
102
|
-
lograge (0.
|
|
102
|
+
lograge (0.12.0)
|
|
103
103
|
actionpack (>= 4)
|
|
104
104
|
activesupport (>= 4)
|
|
105
105
|
railties (>= 4)
|
|
@@ -107,24 +107,26 @@ GEM
|
|
|
107
107
|
logstash-event (1.2.02)
|
|
108
108
|
logstash-logger (0.26.1)
|
|
109
109
|
logstash-event (~> 1.2)
|
|
110
|
-
loofah (2.
|
|
110
|
+
loofah (2.19.0)
|
|
111
111
|
crass (~> 1.0.2)
|
|
112
112
|
nokogiri (>= 1.5.9)
|
|
113
113
|
mail (2.7.1)
|
|
114
114
|
mini_mime (>= 0.1.1)
|
|
115
|
-
marcel (1.0.
|
|
115
|
+
marcel (1.0.2)
|
|
116
116
|
method_source (1.0.0)
|
|
117
|
-
mime-types (3.
|
|
117
|
+
mime-types (3.4.1)
|
|
118
118
|
mime-types-data (~> 3.2015)
|
|
119
|
-
mime-types-data (3.
|
|
120
|
-
mini_mime (1.1.
|
|
119
|
+
mime-types-data (3.2022.0105)
|
|
120
|
+
mini_mime (1.1.2)
|
|
121
121
|
minitest (5.14.4)
|
|
122
122
|
netrc (0.11.0)
|
|
123
|
-
nio4r (2.5.
|
|
124
|
-
nokogiri (1.
|
|
123
|
+
nio4r (2.5.8)
|
|
124
|
+
nokogiri (1.13.9-x86_64-darwin)
|
|
125
|
+
racc (~> 1.4)
|
|
126
|
+
nokogiri (1.13.9-x86_64-linux)
|
|
125
127
|
racc (~> 1.4)
|
|
126
128
|
parallel (1.20.1)
|
|
127
|
-
parser (3.0.
|
|
129
|
+
parser (3.0.2.0)
|
|
128
130
|
ast (~> 2.4.1)
|
|
129
131
|
pry (0.13.1)
|
|
130
132
|
coderay (~> 1.1)
|
|
@@ -132,10 +134,10 @@ GEM
|
|
|
132
134
|
pry-byebug (3.9.0)
|
|
133
135
|
byebug (~> 11.0)
|
|
134
136
|
pry (~> 0.13.0)
|
|
135
|
-
racc (1.
|
|
136
|
-
rack (2.2.
|
|
137
|
-
rack-test (
|
|
138
|
-
rack (>= 1.
|
|
137
|
+
racc (1.6.0)
|
|
138
|
+
rack (2.2.4)
|
|
139
|
+
rack-test (2.0.2)
|
|
140
|
+
rack (>= 1.3)
|
|
139
141
|
rails (6.1.4)
|
|
140
142
|
actioncable (= 6.1.4)
|
|
141
143
|
actionmailbox (= 6.1.4)
|
|
@@ -154,7 +156,7 @@ GEM
|
|
|
154
156
|
rails-dom-testing (2.0.3)
|
|
155
157
|
activesupport (>= 4.2.0)
|
|
156
158
|
nokogiri (>= 1.6)
|
|
157
|
-
rails-html-sanitizer (1.3
|
|
159
|
+
rails-html-sanitizer (1.4.3)
|
|
158
160
|
loofah (~> 2.3)
|
|
159
161
|
railties (6.1.4)
|
|
160
162
|
actionpack (= 6.1.4)
|
|
@@ -163,9 +165,9 @@ GEM
|
|
|
163
165
|
rake (>= 0.13)
|
|
164
166
|
thor (~> 1.0)
|
|
165
167
|
rainbow (3.0.0)
|
|
166
|
-
rake (13.0.
|
|
168
|
+
rake (13.0.6)
|
|
167
169
|
regexp_parser (2.1.1)
|
|
168
|
-
request_store (1.5.
|
|
170
|
+
request_store (1.5.1)
|
|
169
171
|
rack (>= 1.4)
|
|
170
172
|
rest-client (2.1.0)
|
|
171
173
|
http-accept (>= 1.7.0, < 2.0)
|
|
@@ -186,38 +188,38 @@ GEM
|
|
|
186
188
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
187
189
|
rspec-support (~> 3.10.0)
|
|
188
190
|
rspec-support (3.10.2)
|
|
189
|
-
rubocop (1.
|
|
191
|
+
rubocop (1.19.0)
|
|
190
192
|
parallel (~> 1.10)
|
|
191
193
|
parser (>= 3.0.0.0)
|
|
192
194
|
rainbow (>= 2.2.2, < 4.0)
|
|
193
195
|
regexp_parser (>= 1.8, < 3.0)
|
|
194
196
|
rexml
|
|
195
|
-
rubocop-ast (>= 1.
|
|
197
|
+
rubocop-ast (>= 1.9.1, < 2.0)
|
|
196
198
|
ruby-progressbar (~> 1.7)
|
|
197
199
|
unicode-display_width (>= 1.4.0, < 3.0)
|
|
198
|
-
rubocop-ast (1.
|
|
200
|
+
rubocop-ast (1.10.0)
|
|
199
201
|
parser (>= 3.0.1.1)
|
|
200
202
|
ruby-progressbar (1.11.0)
|
|
201
|
-
shoulda-matchers (
|
|
202
|
-
activesupport (>=
|
|
203
|
-
sprockets (4.
|
|
203
|
+
shoulda-matchers (5.0.0)
|
|
204
|
+
activesupport (>= 5.2.0)
|
|
205
|
+
sprockets (4.1.1)
|
|
204
206
|
concurrent-ruby (~> 1.0)
|
|
205
207
|
rack (> 1, < 3)
|
|
206
|
-
sprockets-rails (3.
|
|
207
|
-
actionpack (>=
|
|
208
|
-
activesupport (>=
|
|
208
|
+
sprockets-rails (3.4.2)
|
|
209
|
+
actionpack (>= 5.2)
|
|
210
|
+
activesupport (>= 5.2)
|
|
209
211
|
sprockets (>= 3.0.0)
|
|
210
|
-
thor (1.1
|
|
212
|
+
thor (1.2.1)
|
|
211
213
|
tzinfo (2.0.4)
|
|
212
214
|
concurrent-ruby (~> 1.0)
|
|
213
215
|
unf (0.1.4)
|
|
214
216
|
unf_ext
|
|
215
|
-
unf_ext (0.0.
|
|
217
|
+
unf_ext (0.0.8.2)
|
|
216
218
|
unicode-display_width (2.0.0)
|
|
217
219
|
websocket-driver (0.7.5)
|
|
218
220
|
websocket-extensions (>= 0.1.0)
|
|
219
221
|
websocket-extensions (0.1.5)
|
|
220
|
-
will_paginate (3.3.
|
|
222
|
+
will_paginate (3.3.1)
|
|
221
223
|
zeitwerk (2.4.2)
|
|
222
224
|
|
|
223
225
|
PLATFORMS
|
|
@@ -234,4 +236,4 @@ DEPENDENCIES
|
|
|
234
236
|
shoulda-matchers
|
|
235
237
|
|
|
236
238
|
BUNDLED WITH
|
|
237
|
-
2.2.
|
|
239
|
+
2.2.25
|
data/bin/docker
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#! /usr/bin/env sh
|
|
2
|
+
|
|
3
|
+
NAMETAG="json-api-toolbox:dev"
|
|
4
|
+
COMMAND=${1:-help}
|
|
5
|
+
shift
|
|
6
|
+
|
|
7
|
+
command_help() {
|
|
8
|
+
echo "
|
|
9
|
+
Usage: docker COMMAND [code]
|
|
10
|
+
|
|
11
|
+
A simple script to control the project container
|
|
12
|
+
|
|
13
|
+
Commands:
|
|
14
|
+
run Run [code] on a new container
|
|
15
|
+
exec Run [code] on the current active container
|
|
16
|
+
build Build the project image
|
|
17
|
+
help Show this help message
|
|
18
|
+
"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
command_build() {
|
|
22
|
+
docker build -t $NAMETAG --ssh=default .
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
config_ssh_agent() {
|
|
26
|
+
if [ uname == "Darwin" ]; then
|
|
27
|
+
AUTH_PATH="/run/host-services/ssh-auth.sock"
|
|
28
|
+
else
|
|
29
|
+
AUTH_PATH=$(echo $SSH_AUTH_SOCK)
|
|
30
|
+
fi
|
|
31
|
+
|
|
32
|
+
echo "-v $(echo $HOME)/.ssh:/root/.ssh \
|
|
33
|
+
-v $(echo $AUTH_PATH):/ssh-agent \
|
|
34
|
+
-e SSH_AUTH_SOCK=/ssh-agent \
|
|
35
|
+
"
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
command_run() {
|
|
39
|
+
[[ $1 == "--build" ]] && { command_build; shift; }
|
|
40
|
+
|
|
41
|
+
docker volume create bundler_cache > /dev/null
|
|
42
|
+
docker run -it \
|
|
43
|
+
-v bundler_cache:/usr/local/bundle \
|
|
44
|
+
-v $(pwd):/gem \
|
|
45
|
+
$(config_ssh_agent) \
|
|
46
|
+
$NAMETAG
|
|
47
|
+
$@
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
command_exec() {
|
|
51
|
+
[[ $1 == "--build" ]] && { command_build; shift; }
|
|
52
|
+
|
|
53
|
+
docker exec $NAMETAG $@
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
case $COMMAND in
|
|
57
|
+
build) command_build "$@" ;;
|
|
58
|
+
exec) command_exec "$@" ;;
|
|
59
|
+
run) command_run "$@" ;;
|
|
60
|
+
*) command_help "$@" ;;
|
|
61
|
+
esac
|
data/bin/setup.sh
CHANGED
|
@@ -3,28 +3,31 @@
|
|
|
3
3
|
DEFAULT_REPO=git@bitbucket.org:guideinvestimentos/rails_defaults.git
|
|
4
4
|
STRICT=${1:-no}
|
|
5
5
|
ONE_WEEK_AGO=$(( $(date +%s) - 604800 ))
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
if [ -f .rubocop.base.yml ]; then
|
|
8
|
+
FILE_TIME=$(date -r .rubocop.base.yml +%s)
|
|
9
|
+
fi
|
|
7
10
|
|
|
8
11
|
info(){
|
|
9
|
-
|
|
12
|
+
printf "\033[34;1m$1\033[0m\n"
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
step(){
|
|
13
|
-
printf "- $1:
|
|
16
|
+
printf " - $1: \0337\n"
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
success(){
|
|
17
|
-
printf "
|
|
20
|
+
printf "\0338\033[1A\033[32;1mOK!\033[0m\n\033[2K"
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
skipped(){
|
|
21
|
-
printf "
|
|
24
|
+
printf "\0338\033[1A\033[33;1mSKIPPED ($1)\033[0m\n\033[2K"
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
error() {
|
|
25
|
-
printf "
|
|
26
|
-
printf "
|
|
27
|
-
[ $STRICT
|
|
28
|
+
printf "\0338\033[1A\033[31;1mERRO!\033[0m\n\033[2K"
|
|
29
|
+
printf "\033[31m $1\033[0m\n"
|
|
30
|
+
[ $STRICT -eq "--strict" ] && exit $2
|
|
28
31
|
}
|
|
29
32
|
|
|
30
33
|
info "Configurando o projeto\n"
|
|
@@ -48,7 +51,7 @@ step "Instalando dependências"
|
|
|
48
51
|
|
|
49
52
|
bundle check 2>&1 > /dev/null && skipped "up-to date" || {
|
|
50
53
|
RESULT=$(bundle install 2>&1 > /dev/null)
|
|
51
|
-
[ $?
|
|
54
|
+
[ $? -eq "0" ] && success || error "$RESULT" 2
|
|
52
55
|
}
|
|
53
56
|
|
|
54
57
|
info "\nConfiguração executada com sucesso"
|
data/bitbucket-pipelines.yml
CHANGED
|
@@ -22,12 +22,10 @@ definitions:
|
|
|
22
22
|
- gem update --system
|
|
23
23
|
- bundle config set --local path "vendor/bundle"
|
|
24
24
|
- bundle install
|
|
25
|
-
-
|
|
26
|
-
- curl -u $RUBYGEMS_USERNAME:$RUBYGEMS_PASSWORD https://rubygems.org/api/v1/api_key.yaml -o ~/.gem/credentials
|
|
25
|
+
- mkdir -p ~/.gem/
|
|
26
|
+
- curl -sSL -u $RUBYGEMS_USERNAME:$RUBYGEMS_PASSWORD https://rubygems.org/api/v1/api_key.yaml -o ~/.gem/credentials
|
|
27
27
|
- chmod 0600 ~/.gem/credentials
|
|
28
|
-
- bundle exec rake release
|
|
29
|
-
caches:
|
|
30
|
-
- bundler-26
|
|
28
|
+
- bundle exec rake release --trace
|
|
31
29
|
|
|
32
30
|
pipelines:
|
|
33
31
|
pull-requests:
|
data/lib/postable.rb
CHANGED
|
@@ -7,7 +7,7 @@ module JsonApiToolbox
|
|
|
7
7
|
associations = model.reflect_on_all_associations.map(&:name)
|
|
8
8
|
normalized_hash = hash.map do |key, value|
|
|
9
9
|
child_model = association_class(model, key) if value.is_a? Hash
|
|
10
|
-
key =
|
|
10
|
+
key = "#{key}_attributes" if associations.include?(key.to_sym)
|
|
11
11
|
hash_value = check_child_association(value, key, model, child_model)
|
|
12
12
|
[key, hash_value]
|
|
13
13
|
end
|
data/lib/service.rb
CHANGED
|
@@ -6,12 +6,15 @@ require 'json-api-vanilla'
|
|
|
6
6
|
|
|
7
7
|
module JsonApiToolbox
|
|
8
8
|
class Service
|
|
9
|
-
attr_reader :http_method, :url, :body, :extra_headers
|
|
9
|
+
attr_reader :http_method, :url, :body, :extra_headers, :timeout
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
DEFAULT_TIMEOUT = ENV.fetch('JSON_API_TOOLBOX_TIMEOUT', 60).to_i
|
|
12
|
+
|
|
13
|
+
def initialize(http_method, url, body, timeout, extra_headers = {})
|
|
12
14
|
@http_method = http_method
|
|
13
15
|
@url = url
|
|
14
16
|
@body = body
|
|
17
|
+
@timeout = timeout
|
|
15
18
|
@extra_headers = extra_headers
|
|
16
19
|
end
|
|
17
20
|
|
|
@@ -24,7 +27,8 @@ module JsonApiToolbox
|
|
|
24
27
|
method: http_method,
|
|
25
28
|
url: url,
|
|
26
29
|
payload: build_body,
|
|
27
|
-
headers: build_header
|
|
30
|
+
headers: build_header,
|
|
31
|
+
timeout: timeout
|
|
28
32
|
)
|
|
29
33
|
end
|
|
30
34
|
|
|
@@ -44,21 +48,21 @@ module JsonApiToolbox
|
|
|
44
48
|
end
|
|
45
49
|
|
|
46
50
|
class << self
|
|
47
|
-
def get(url: nil, includes: nil, query_string: nil, headers: {})
|
|
51
|
+
def get(url: nil, includes: nil, query_string: nil, timeout: DEFAULT_TIMEOUT, headers: {})
|
|
48
52
|
body = build_query_string(includes, query_string)
|
|
49
|
-
new(:get, url, body, headers).execute
|
|
53
|
+
new(:get, url, body, timeout, headers).execute
|
|
50
54
|
end
|
|
51
55
|
|
|
52
|
-
def post(url: nil, body: nil, headers: {})
|
|
53
|
-
new(:post, url, body, headers).execute
|
|
56
|
+
def post(url: nil, body: nil, timeout: DEFAULT_TIMEOUT, headers: {})
|
|
57
|
+
new(:post, url, body, timeout, headers).execute
|
|
54
58
|
end
|
|
55
59
|
|
|
56
|
-
def patch(url: nil, body: nil, headers: {})
|
|
57
|
-
new(:patch, url, body, headers).execute
|
|
60
|
+
def patch(url: nil, body: nil, timeout: DEFAULT_TIMEOUT, headers: {})
|
|
61
|
+
new(:patch, url, body, timeout, headers).execute
|
|
58
62
|
end
|
|
59
63
|
|
|
60
|
-
def put(url: nil, body: nil, headers: {})
|
|
61
|
-
new(:put, url, body, headers).execute
|
|
64
|
+
def put(url: nil, body: nil, timeout: DEFAULT_TIMEOUT, headers: {})
|
|
65
|
+
new(:put, url, body, timeout, headers).execute
|
|
62
66
|
end
|
|
63
67
|
|
|
64
68
|
def parse_response(response)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: json_api_toolbox
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adriano Bacha
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-11-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -216,12 +216,14 @@ files:
|
|
|
216
216
|
- ".gitignore"
|
|
217
217
|
- ".rspec"
|
|
218
218
|
- ".rubocop.yml"
|
|
219
|
+
- ".version"
|
|
219
220
|
- CHANGELOG.md
|
|
220
221
|
- Dockerfile
|
|
221
222
|
- Gemfile
|
|
222
223
|
- Gemfile.lock
|
|
223
224
|
- README.md
|
|
224
225
|
- Rakefile
|
|
226
|
+
- bin/docker
|
|
225
227
|
- bin/setup.sh
|
|
226
228
|
- bitbucket-pipelines.yml
|
|
227
229
|
- docker-entrypoint.sh
|
|
@@ -257,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
257
259
|
- !ruby/object:Gem::Version
|
|
258
260
|
version: '0'
|
|
259
261
|
requirements: []
|
|
260
|
-
rubygems_version: 3.
|
|
262
|
+
rubygems_version: 3.3.25
|
|
261
263
|
signing_key:
|
|
262
264
|
specification_version: 4
|
|
263
265
|
summary: Json API usefull tools
|