my_api_client 0.16.0 → 0.16.1
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/.circleci/config.yml +11 -0
- data/.rubocop_challenge.yml +3 -0
- data/.rubocop_todo.yml +6 -1
- data/CHANGELOG.md +34 -0
- data/Gemfile.lock +38 -35
- data/bin/console +4 -0
- data/example/api_clients/application_api_client.rb +2 -2
- data/example/api_clients/my_rest_api_client.rb +9 -3
- data/lib/my_api_client/error_handling/generator.rb +0 -2
- data/lib/my_api_client/request.rb +2 -2
- data/lib/my_api_client/request/basic.rb +1 -3
- data/lib/my_api_client/version.rb +1 -1
- data/my_api/Gemfile.lock +71 -71
- data/my_api/spec/controllers/rest_controller_spec.rb +23 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1eb52f8cf1220f7a0db30d5a6f83a8ef880315d6f23f878103ea234812c4071e
|
4
|
+
data.tar.gz: d6176d4ea51df4d2486be4150055b05b60ded0d674c937c61bc46dc9df79f0a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4bfcd9f62258c714797b9234959f53b2c84c2bc7c651d8ea6b4ba8ce2a6750c8528c8cd33ee842f090c01414c65028d0e8c412a2ec3e425b9382984f632cda37
|
7
|
+
data.tar.gz: 6f48b2d64393db7ca69da8e68236c095f5bf94fd424e87cd805cb264a09e616782816d7b83308b512d6e45a3f500b6c85f1a2f93e2ef6b96cb2a23d486909561
|
data/.circleci/config.yml
CHANGED
@@ -165,6 +165,16 @@ commands:
|
|
165
165
|
- rake_build
|
166
166
|
|
167
167
|
jobs:
|
168
|
+
test_api:
|
169
|
+
parameters:
|
170
|
+
<<: *ruby_version
|
171
|
+
executor:
|
172
|
+
name: executor_for_api
|
173
|
+
ruby_version: << parameters.ruby_version >>
|
174
|
+
steps:
|
175
|
+
- setup:
|
176
|
+
ruby_version: << parameters.ruby_version >>
|
177
|
+
- run_rspec_for_api
|
168
178
|
deploy_api:
|
169
179
|
parameters:
|
170
180
|
<<: *ruby_version
|
@@ -303,6 +313,7 @@ workflows:
|
|
303
313
|
ruby_version: '2.7'
|
304
314
|
rails_version: '6.0'
|
305
315
|
bundler_options: '--without integrations'
|
316
|
+
- test_api
|
306
317
|
- rubocop
|
307
318
|
- yardoc
|
308
319
|
- upload-coverage:
|
data/.rubocop_todo.yml
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2020-
|
3
|
+
# on 2020-08-17 23:30:51 UTC using RuboCop version 0.89.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 60
|
10
|
+
# Configuration parameters: AllowSubject.
|
11
|
+
RSpec/MultipleMemoizedHelpers:
|
12
|
+
Max: 15
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,39 @@
|
|
1
1
|
# Change log
|
2
2
|
|
3
|
+
## v0.16.1 (Aug 27, 2020)
|
4
|
+
|
5
|
+
### Feature
|
6
|
+
|
7
|
+
* [#296](https://github.com/ryz310/my_api_client/pull/296) Support HTTP PUT method ([@ryz310](https://github.com/ryz310))
|
8
|
+
|
9
|
+
### Rubocop Challenge
|
10
|
+
|
11
|
+
* [#256](https://github.com/ryz310/my_api_client/pull/256) Performance/StartWith-20200523233027 ([@ryz310](https://github.com/ryz310))
|
12
|
+
* [#268](https://github.com/ryz310/my_api_client/pull/268) Lint/RedundantCopDisableDirective-20200622233019 ([@ryz310](https://github.com/ryz310))
|
13
|
+
* [#289](https://github.com/ryz310/my_api_client/pull/289) Re-generate .rubocop_todo.yml with RuboCop v0.89.1 ([@ryz310](https://github.com/ryz310))
|
14
|
+
* [#293](https://github.com/ryz310/my_api_client/pull/293) RSpec/LeadingSubject-20200817233022 ([@ryz310](https://github.com/ryz310))
|
15
|
+
|
16
|
+
### Dependabot
|
17
|
+
|
18
|
+
* [#232](https://github.com/ryz310/my_api_client/pull/232) ryz310/dependabot/bundler/faraday-1.0.1 ([@ryz310](https://github.com/ryz310))
|
19
|
+
* [#241](https://github.com/ryz310/my_api_client/pull/241) ryz310/dependabot/bundler/my_api/byebug-11.1.3 ([@ryz310](https://github.com/ryz310))
|
20
|
+
* [#243](https://github.com/ryz310/my_api_client/pull/243) ryz310/dependabot/bundler/yard-0.9.25 ([@ryz310](https://github.com/ryz310))
|
21
|
+
* [#248](https://github.com/ryz310/my_api_client/pull/248) ryz310/dependabot/bundler/activesupport-5.2.4.3 ([@ryz310](https://github.com/ryz310))
|
22
|
+
* [#251](https://github.com/ryz310/my_api_client/pull/251) ryz310/dependabot/bundler/my_api/puma-4.3.5 ([@ryz310](https://github.com/ryz310))
|
23
|
+
* [#257](https://github.com/ryz310/my_api_client/pull/257) ryz310/dependabot/bundler/my_api/dynomite-1.2.6 ([@ryz310](https://github.com/ryz310))
|
24
|
+
* [#264](https://github.com/ryz310/my_api_client/pull/264) ryz310/dependabot/bundler/my_api/rack-2.2.3 ([@ryz310](https://github.com/ryz310))
|
25
|
+
* [#265](https://github.com/ryz310/my_api_client/pull/265) ryz310/dependabot/bundler/my_api/actionpack-6.0.3.2 ([@ryz310](https://github.com/ryz310))
|
26
|
+
* [#266](https://github.com/ryz310/my_api_client/pull/266) ryz310/dependabot/bundler/my_api/capybara-3.33.0 ([@ryz310](https://github.com/ryz310))
|
27
|
+
* [#281](https://github.com/ryz310/my_api_client/pull/281) ryz310/dependabot/bundler/rubocop-performance-1.7.1 ([@ryz310](https://github.com/ryz310))
|
28
|
+
* [#287](https://github.com/ryz310/my_api_client/pull/287) ryz310/dependabot/bundler/my_api/kramdown-2.3.0 ([@ryz310](https://github.com/ryz310))
|
29
|
+
* [#290](https://github.com/ryz310/my_api_client/pull/290) ryz310/dependabot/bundler/bugsnag-6.16.0 ([@ryz310](https://github.com/ryz310))
|
30
|
+
* [#294](https://github.com/ryz310/my_api_client/pull/294) ryz310/dependabot/bundler/my_api/jets-2.3.17 ([@ryz310](https://github.com/ryz310))
|
31
|
+
* [#295](https://github.com/ryz310/my_api_client/pull/295) ryz310/dependabot/bundler/rubocop-rspec-1.43.2 ([@ryz310](https://github.com/ryz310))
|
32
|
+
|
33
|
+
### Misc
|
34
|
+
|
35
|
+
* [#271](https://github.com/ryz310/my_api_client/pull/271) Minor fixes ([@ryz310](https://github.com/ryz310))
|
36
|
+
|
3
37
|
## v0.16.0 (Mar 29, 2020)
|
4
38
|
|
5
39
|
### Breaking Change
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
my_api_client (0.16.
|
4
|
+
my_api_client (0.16.1)
|
5
5
|
activesupport (>= 4.2.0)
|
6
6
|
faraday (>= 0.17.1)
|
7
7
|
jsonpath
|
@@ -10,77 +10,80 @@ PATH
|
|
10
10
|
GEM
|
11
11
|
remote: https://rubygems.org/
|
12
12
|
specs:
|
13
|
-
activesupport (5.2.4.
|
13
|
+
activesupport (5.2.4.3)
|
14
14
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
15
15
|
i18n (>= 0.7, < 2)
|
16
16
|
minitest (~> 5.1)
|
17
17
|
tzinfo (~> 1.1)
|
18
18
|
addressable (2.7.0)
|
19
19
|
public_suffix (>= 2.0.2, < 5.0)
|
20
|
-
ast (2.4.
|
21
|
-
bugsnag (6.
|
20
|
+
ast (2.4.1)
|
21
|
+
bugsnag (6.16.0)
|
22
22
|
concurrent-ruby (~> 1.0)
|
23
|
-
byebug (11.1.
|
24
|
-
coderay (1.1.
|
25
|
-
concurrent-ruby (1.1.
|
23
|
+
byebug (11.1.3)
|
24
|
+
coderay (1.1.3)
|
25
|
+
concurrent-ruby (1.1.7)
|
26
26
|
crack (0.4.3)
|
27
27
|
safe_yaml (~> 1.0.0)
|
28
|
-
diff-lcs (1.
|
28
|
+
diff-lcs (1.4.4)
|
29
29
|
docile (1.3.2)
|
30
|
-
faraday (1.0.
|
30
|
+
faraday (1.0.1)
|
31
31
|
multipart-post (>= 1.2, < 3)
|
32
32
|
hashdiff (1.0.1)
|
33
|
-
i18n (1.8.
|
33
|
+
i18n (1.8.5)
|
34
34
|
concurrent-ruby (~> 1.0)
|
35
|
-
|
36
|
-
json (2.3.0)
|
35
|
+
json (2.3.1)
|
37
36
|
jsonpath (1.0.5)
|
38
37
|
multi_json
|
39
38
|
to_regexp (~> 0.2.1)
|
40
39
|
method_source (1.0.0)
|
41
|
-
minitest (5.14.
|
42
|
-
multi_json (1.
|
40
|
+
minitest (5.14.1)
|
41
|
+
multi_json (1.15.0)
|
43
42
|
multipart-post (2.1.1)
|
44
|
-
parallel (1.19.
|
45
|
-
parser (2.7.
|
46
|
-
ast (~> 2.4.
|
47
|
-
pry (0.13.
|
43
|
+
parallel (1.19.2)
|
44
|
+
parser (2.7.1.4)
|
45
|
+
ast (~> 2.4.1)
|
46
|
+
pry (0.13.1)
|
48
47
|
coderay (~> 1.1)
|
49
48
|
method_source (~> 1.0)
|
50
49
|
pry-byebug (3.9.0)
|
51
50
|
byebug (~> 11.0)
|
52
51
|
pry (~> 0.13.0)
|
53
|
-
public_suffix (4.0.
|
52
|
+
public_suffix (4.0.5)
|
54
53
|
rainbow (3.0.0)
|
55
54
|
rake (13.0.1)
|
55
|
+
regexp_parser (1.7.1)
|
56
56
|
rexml (3.2.4)
|
57
57
|
rspec (3.9.0)
|
58
58
|
rspec-core (~> 3.9.0)
|
59
59
|
rspec-expectations (~> 3.9.0)
|
60
60
|
rspec-mocks (~> 3.9.0)
|
61
|
-
rspec-core (3.9.
|
62
|
-
rspec-support (~> 3.9.
|
63
|
-
rspec-expectations (3.9.
|
61
|
+
rspec-core (3.9.2)
|
62
|
+
rspec-support (~> 3.9.3)
|
63
|
+
rspec-expectations (3.9.2)
|
64
64
|
diff-lcs (>= 1.2.0, < 2.0)
|
65
65
|
rspec-support (~> 3.9.0)
|
66
66
|
rspec-mocks (3.9.1)
|
67
67
|
diff-lcs (>= 1.2.0, < 2.0)
|
68
68
|
rspec-support (~> 3.9.0)
|
69
|
-
rspec-support (3.9.
|
69
|
+
rspec-support (3.9.3)
|
70
70
|
rspec_junit_formatter (0.4.1)
|
71
71
|
rspec-core (>= 2, < 4, != 2.12.0)
|
72
|
-
rubocop (0.
|
73
|
-
jaro_winkler (~> 1.5.1)
|
72
|
+
rubocop (0.89.1)
|
74
73
|
parallel (~> 1.10)
|
75
|
-
parser (>= 2.7.
|
74
|
+
parser (>= 2.7.1.1)
|
76
75
|
rainbow (>= 2.2.2, < 4.0)
|
76
|
+
regexp_parser (>= 1.7)
|
77
77
|
rexml
|
78
|
+
rubocop-ast (>= 0.3.0, < 1.0)
|
78
79
|
ruby-progressbar (~> 1.7)
|
79
|
-
unicode-display_width (>= 1.4.0, <
|
80
|
-
rubocop-
|
81
|
-
|
82
|
-
rubocop-
|
83
|
-
rubocop (>= 0.
|
80
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
81
|
+
rubocop-ast (0.3.0)
|
82
|
+
parser (>= 2.7.1.4)
|
83
|
+
rubocop-performance (1.7.1)
|
84
|
+
rubocop (>= 0.82.0)
|
85
|
+
rubocop-rspec (1.43.2)
|
86
|
+
rubocop (~> 0.87)
|
84
87
|
ruby-progressbar (1.10.1)
|
85
88
|
safe_yaml (1.0.5)
|
86
89
|
sawyer (0.8.2)
|
@@ -93,14 +96,14 @@ GEM
|
|
93
96
|
simplecov-html (0.10.2)
|
94
97
|
thread_safe (0.3.6)
|
95
98
|
to_regexp (0.2.1)
|
96
|
-
tzinfo (1.2.
|
99
|
+
tzinfo (1.2.7)
|
97
100
|
thread_safe (~> 0.1)
|
98
|
-
unicode-display_width (1.
|
101
|
+
unicode-display_width (1.7.0)
|
99
102
|
webmock (3.8.3)
|
100
103
|
addressable (>= 2.3.6)
|
101
104
|
crack (>= 0.3.2)
|
102
105
|
hashdiff (>= 0.4.0, < 2.0.0)
|
103
|
-
yard (0.9.
|
106
|
+
yard (0.9.25)
|
104
107
|
|
105
108
|
PLATFORMS
|
106
109
|
ruby
|
@@ -122,4 +125,4 @@ DEPENDENCIES
|
|
122
125
|
yard
|
123
126
|
|
124
127
|
BUNDLED WITH
|
125
|
-
2.1.
|
128
|
+
2.1.4
|
data/bin/console
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
require 'bundler/setup'
|
5
5
|
require 'my_api_client'
|
6
|
+
require './example/api_clients/my_error_api_client'
|
7
|
+
require './example/api_clients/my_rest_api_client'
|
8
|
+
require './example/api_clients/my_pagination_api_client'
|
9
|
+
require './example/api_clients/my_status_api_client'
|
6
10
|
|
7
11
|
# You can add fixtures and/or initialization code here to make experimenting
|
8
12
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -18,13 +18,19 @@ class MyRestApiClient < ApplicationApiClient
|
|
18
18
|
end
|
19
19
|
|
20
20
|
# POST rest
|
21
|
-
def
|
21
|
+
def post_post(title:)
|
22
22
|
body = { title: title }
|
23
23
|
post 'rest', body: body, headers: headers
|
24
24
|
end
|
25
25
|
|
26
|
-
#
|
27
|
-
def
|
26
|
+
# PUT rest/:id
|
27
|
+
def put_post(id:, title:)
|
28
|
+
body = { title: title }
|
29
|
+
put "rest/#{id}", body: body, headers: headers
|
30
|
+
end
|
31
|
+
|
32
|
+
# PATCH rest/:id
|
33
|
+
def patch_post(id:, title:)
|
28
34
|
body = { title: title }
|
29
35
|
patch "rest/#{id}", body: body, headers: headers
|
30
36
|
end
|
@@ -85,7 +85,6 @@ module MyApiClient
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
# rubocop:disable Metrics/CyclomaticComplexity
|
89
88
|
def match?(operator, target)
|
90
89
|
case operator
|
91
90
|
when nil
|
@@ -102,7 +101,6 @@ module MyApiClient
|
|
102
101
|
raise "Unexpected operator type was given: #{operator.inspect}"
|
103
102
|
end
|
104
103
|
end
|
105
|
-
# rubocop:enable Metrics/CyclomaticComplexity
|
106
104
|
|
107
105
|
def match_all?(json, response_body)
|
108
106
|
return true if json.nil?
|
@@ -11,7 +11,7 @@ module MyApiClient
|
|
11
11
|
# Executes HTTP request with relative URI.
|
12
12
|
#
|
13
13
|
# @param http_method [Symbol]
|
14
|
-
# HTTP method. e.g. `:get`, `:post`, `:patch` and `:delete`.
|
14
|
+
# HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`.
|
15
15
|
# @param pathname [String]
|
16
16
|
# Pathname of the request target URL.
|
17
17
|
# It's joined with the defined by `endpoint`.
|
@@ -32,7 +32,7 @@ module MyApiClient
|
|
32
32
|
# Executes HTTP request with absolute URI.
|
33
33
|
#
|
34
34
|
# @param http_method [Symbol]
|
35
|
-
# HTTP method. e.g. `:get`, `:post`, `:patch` and `:delete`.
|
35
|
+
# HTTP method. e.g. `:get`, `:post`, `:put`, `:patch` and `:delete`.
|
36
36
|
# @param uri [URI]
|
37
37
|
# Request target URI including query strings.
|
38
38
|
# @param headers [Hash, nil]
|
@@ -4,7 +4,7 @@ module MyApiClient
|
|
4
4
|
module Request
|
5
5
|
# Provides basic HTTP request method.
|
6
6
|
module Basic
|
7
|
-
HTTP_METHODS = %i[get post patch delete].freeze
|
7
|
+
HTTP_METHODS = %i[get post put patch delete].freeze
|
8
8
|
|
9
9
|
HTTP_METHODS.each do |http_method|
|
10
10
|
class_eval <<~METHOD, __FILE__, __LINE__ + 1
|
@@ -27,8 +27,6 @@ module MyApiClient
|
|
27
27
|
end
|
28
28
|
METHOD
|
29
29
|
end
|
30
|
-
|
31
|
-
alias put patch
|
32
30
|
end
|
33
31
|
end
|
34
32
|
end
|
data/my_api/Gemfile.lock
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
actionmailer (6.0.
|
5
|
-
actionpack (= 6.0.
|
6
|
-
actionview (= 6.0.
|
7
|
-
activejob (= 6.0.
|
4
|
+
actionmailer (6.0.3.2)
|
5
|
+
actionpack (= 6.0.3.2)
|
6
|
+
actionview (= 6.0.3.2)
|
7
|
+
activejob (= 6.0.3.2)
|
8
8
|
mail (~> 2.5, >= 2.5.4)
|
9
9
|
rails-dom-testing (~> 2.0)
|
10
|
-
actionpack (6.0.
|
11
|
-
actionview (= 6.0.
|
12
|
-
activesupport (= 6.0.
|
10
|
+
actionpack (6.0.3.2)
|
11
|
+
actionview (= 6.0.3.2)
|
12
|
+
activesupport (= 6.0.3.2)
|
13
13
|
rack (~> 2.0, >= 2.0.8)
|
14
14
|
rack-test (>= 0.6.3)
|
15
15
|
rails-dom-testing (~> 2.0)
|
16
16
|
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
17
|
-
actionview (6.0.
|
18
|
-
activesupport (= 6.0.
|
17
|
+
actionview (6.0.3.2)
|
18
|
+
activesupport (= 6.0.3.2)
|
19
19
|
builder (~> 3.1)
|
20
20
|
erubi (~> 1.4)
|
21
21
|
rails-dom-testing (~> 2.0)
|
22
22
|
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
23
|
-
activejob (6.0.
|
24
|
-
activesupport (= 6.0.
|
23
|
+
activejob (6.0.3.2)
|
24
|
+
activesupport (= 6.0.3.2)
|
25
25
|
globalid (>= 0.3.6)
|
26
|
-
activemodel (6.0.
|
27
|
-
activesupport (= 6.0.
|
28
|
-
activerecord (6.0.
|
29
|
-
activemodel (= 6.0.
|
30
|
-
activesupport (= 6.0.
|
31
|
-
activesupport (6.0.
|
26
|
+
activemodel (6.0.3.2)
|
27
|
+
activesupport (= 6.0.3.2)
|
28
|
+
activerecord (6.0.3.2)
|
29
|
+
activemodel (= 6.0.3.2)
|
30
|
+
activesupport (= 6.0.3.2)
|
31
|
+
activesupport (6.0.3.2)
|
32
32
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
33
33
|
i18n (>= 0.7, < 2)
|
34
34
|
minitest (~> 5.1)
|
35
35
|
tzinfo (~> 1.1)
|
36
|
-
zeitwerk (~> 2.2)
|
36
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
37
37
|
addressable (2.7.0)
|
38
38
|
public_suffix (>= 2.0.2, < 5.0)
|
39
|
-
aws-eventstream (1.0
|
40
|
-
aws-mfa-secure (0.4.
|
39
|
+
aws-eventstream (1.1.0)
|
40
|
+
aws-mfa-secure (0.4.2)
|
41
41
|
activesupport
|
42
42
|
aws-sdk-core
|
43
43
|
aws_config
|
@@ -45,52 +45,52 @@ GEM
|
|
45
45
|
rainbow
|
46
46
|
thor
|
47
47
|
zeitwerk
|
48
|
-
aws-partitions (1.
|
49
|
-
aws-sdk-apigateway (1.
|
50
|
-
aws-sdk-core (~> 3, >= 3.
|
48
|
+
aws-partitions (1.358.0)
|
49
|
+
aws-sdk-apigateway (1.49.0)
|
50
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
51
51
|
aws-sigv4 (~> 1.1)
|
52
|
-
aws-sdk-cloudformation (1.
|
53
|
-
aws-sdk-core (~> 3, >= 3.
|
52
|
+
aws-sdk-cloudformation (1.41.0)
|
53
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
54
54
|
aws-sigv4 (~> 1.1)
|
55
|
-
aws-sdk-cloudwatchlogs (1.
|
56
|
-
aws-sdk-core (~> 3, >= 3.
|
55
|
+
aws-sdk-cloudwatchlogs (1.34.0)
|
56
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
57
57
|
aws-sigv4 (~> 1.1)
|
58
|
-
aws-sdk-core (3.
|
59
|
-
aws-eventstream (~> 1
|
58
|
+
aws-sdk-core (3.104.4)
|
59
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
60
60
|
aws-partitions (~> 1, >= 1.239.0)
|
61
61
|
aws-sigv4 (~> 1.1)
|
62
62
|
jmespath (~> 1.0)
|
63
|
-
aws-sdk-dynamodb (1.
|
64
|
-
aws-sdk-core (~> 3, >= 3.
|
63
|
+
aws-sdk-dynamodb (1.51.0)
|
64
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
65
65
|
aws-sigv4 (~> 1.1)
|
66
|
-
aws-sdk-kinesis (1.
|
67
|
-
aws-sdk-core (~> 3, >= 3.
|
66
|
+
aws-sdk-kinesis (1.27.0)
|
67
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
68
68
|
aws-sigv4 (~> 1.1)
|
69
|
-
aws-sdk-kms (1.
|
70
|
-
aws-sdk-core (~> 3, >= 3.
|
69
|
+
aws-sdk-kms (1.36.0)
|
70
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
71
71
|
aws-sigv4 (~> 1.1)
|
72
|
-
aws-sdk-lambda (1.
|
73
|
-
aws-sdk-core (~> 3, >= 3.
|
72
|
+
aws-sdk-lambda (1.48.0)
|
73
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
74
74
|
aws-sigv4 (~> 1.1)
|
75
|
-
aws-sdk-s3 (1.
|
76
|
-
aws-sdk-core (~> 3, >= 3.
|
75
|
+
aws-sdk-s3 (1.78.0)
|
76
|
+
aws-sdk-core (~> 3, >= 3.104.3)
|
77
77
|
aws-sdk-kms (~> 1)
|
78
78
|
aws-sigv4 (~> 1.1)
|
79
|
-
aws-sdk-sns (1.
|
80
|
-
aws-sdk-core (~> 3, >= 3.
|
79
|
+
aws-sdk-sns (1.29.0)
|
80
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
81
81
|
aws-sigv4 (~> 1.1)
|
82
|
-
aws-sdk-sqs (1.
|
83
|
-
aws-sdk-core (~> 3, >= 3.
|
82
|
+
aws-sdk-sqs (1.30.0)
|
83
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
84
84
|
aws-sigv4 (~> 1.1)
|
85
|
-
aws-sdk-ssm (1.
|
86
|
-
aws-sdk-core (~> 3, >= 3.
|
85
|
+
aws-sdk-ssm (1.86.0)
|
86
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
87
87
|
aws-sigv4 (~> 1.1)
|
88
|
-
aws-sigv4 (1.
|
89
|
-
aws-eventstream (~> 1
|
88
|
+
aws-sigv4 (1.2.2)
|
89
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
90
90
|
aws_config (0.1.0)
|
91
91
|
builder (3.2.4)
|
92
|
-
byebug (11.1.
|
93
|
-
capybara (3.
|
92
|
+
byebug (11.1.3)
|
93
|
+
capybara (3.33.0)
|
94
94
|
addressable
|
95
95
|
mini_mime (>= 0.1.3)
|
96
96
|
nokogiri (~> 1.8)
|
@@ -103,11 +103,11 @@ GEM
|
|
103
103
|
memoist
|
104
104
|
rainbow
|
105
105
|
cfnresponse (0.4.0)
|
106
|
-
concurrent-ruby (1.1.
|
106
|
+
concurrent-ruby (1.1.7)
|
107
107
|
crass (1.0.6)
|
108
108
|
diff-lcs (1.3)
|
109
|
-
dotenv (2.7.
|
110
|
-
dynomite (1.2.
|
109
|
+
dotenv (2.7.6)
|
110
|
+
dynomite (1.2.6)
|
111
111
|
activesupport
|
112
112
|
aws-sdk-dynamodb
|
113
113
|
rainbow
|
@@ -116,9 +116,9 @@ GEM
|
|
116
116
|
globalid (0.4.2)
|
117
117
|
activesupport (>= 4.2.0)
|
118
118
|
hashie (4.1.0)
|
119
|
-
i18n (1.8.
|
119
|
+
i18n (1.8.5)
|
120
120
|
concurrent-ruby (~> 1.0)
|
121
|
-
jets (2.3.
|
121
|
+
jets (2.3.17)
|
122
122
|
actionmailer (~> 6.0.0)
|
123
123
|
actionpack (~> 6.0.0)
|
124
124
|
actionview (~> 6.0.0)
|
@@ -142,7 +142,6 @@ GEM
|
|
142
142
|
hashie
|
143
143
|
jets-gems
|
144
144
|
jets-html-sanitizer
|
145
|
-
json
|
146
145
|
kramdown
|
147
146
|
memoist
|
148
147
|
mimemagic
|
@@ -159,28 +158,28 @@ GEM
|
|
159
158
|
jets-html-sanitizer (1.0.4)
|
160
159
|
loofah (~> 2.2, >= 2.2.2)
|
161
160
|
jmespath (1.4.0)
|
162
|
-
|
163
|
-
|
161
|
+
kramdown (2.3.0)
|
162
|
+
rexml
|
164
163
|
launchy (2.5.0)
|
165
164
|
addressable (~> 2.7)
|
166
|
-
loofah (2.
|
165
|
+
loofah (2.6.0)
|
167
166
|
crass (~> 1.0.2)
|
168
167
|
nokogiri (>= 1.5.9)
|
169
168
|
mail (2.7.1)
|
170
169
|
mini_mime (>= 0.1.1)
|
171
170
|
memoist (0.16.2)
|
172
171
|
method_source (1.0.0)
|
173
|
-
mimemagic (0.3.
|
172
|
+
mimemagic (0.3.5)
|
174
173
|
mini_mime (1.0.2)
|
175
174
|
mini_portile2 (2.4.0)
|
176
|
-
minitest (5.14.
|
175
|
+
minitest (5.14.1)
|
177
176
|
nio4r (2.5.2)
|
178
|
-
nokogiri (1.10.
|
177
|
+
nokogiri (1.10.10)
|
179
178
|
mini_portile2 (~> 2.4.0)
|
180
|
-
public_suffix (4.0.
|
181
|
-
puma (4.3.
|
179
|
+
public_suffix (4.0.5)
|
180
|
+
puma (4.3.5)
|
182
181
|
nio4r (~> 2.0)
|
183
|
-
rack (2.2.
|
182
|
+
rack (2.2.3)
|
184
183
|
rack-test (1.1.0)
|
185
184
|
rack (>= 1.0, < 3)
|
186
185
|
rails-dom-testing (2.0.3)
|
@@ -188,16 +187,17 @@ GEM
|
|
188
187
|
nokogiri (>= 1.6)
|
189
188
|
rails-html-sanitizer (1.3.0)
|
190
189
|
loofah (~> 2.3)
|
191
|
-
railties (6.0.
|
192
|
-
actionpack (= 6.0.
|
193
|
-
activesupport (= 6.0.
|
190
|
+
railties (6.0.3.2)
|
191
|
+
actionpack (= 6.0.3.2)
|
192
|
+
activesupport (= 6.0.3.2)
|
194
193
|
method_source
|
195
194
|
rake (>= 0.8.7)
|
196
195
|
thor (>= 0.20.3, < 2.0)
|
197
196
|
rainbow (3.0.0)
|
198
197
|
rake (13.0.1)
|
199
|
-
recursive-open-struct (1.1.
|
200
|
-
regexp_parser (1.7.
|
198
|
+
recursive-open-struct (1.1.2)
|
199
|
+
regexp_parser (1.7.1)
|
200
|
+
rexml (3.2.4)
|
201
201
|
rspec (3.9.0)
|
202
202
|
rspec-core (~> 3.9.0)
|
203
203
|
rspec-expectations (~> 3.9.0)
|
@@ -218,11 +218,11 @@ GEM
|
|
218
218
|
text-table (1.2.4)
|
219
219
|
thor (1.0.1)
|
220
220
|
thread_safe (0.3.6)
|
221
|
-
tzinfo (1.2.
|
221
|
+
tzinfo (1.2.7)
|
222
222
|
thread_safe (~> 0.1)
|
223
223
|
xpath (3.2.0)
|
224
224
|
nokogiri (~> 1.8)
|
225
|
-
zeitwerk (2.
|
225
|
+
zeitwerk (2.4.0)
|
226
226
|
|
227
227
|
PLATFORMS
|
228
228
|
ruby
|
@@ -60,14 +60,32 @@ describe RestController, type: :controller do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
describe '#update' do
|
63
|
-
let(:
|
63
|
+
let(:the_post) do
|
64
64
|
{ id: 1, title: 'Modified title' }.to_json
|
65
65
|
end
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
67
|
+
context 'with POST method' do
|
68
|
+
it 'returns a updated post' do
|
69
|
+
post '/rest/:id', id: 1, title: 'Modified title'
|
70
|
+
expect(response.status).to eq 200
|
71
|
+
expect(response.body).to eq the_post
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
context 'with PUT method' do
|
76
|
+
it 'returns a updated post' do
|
77
|
+
put '/rest/:id', id: 1, title: 'Modified title'
|
78
|
+
expect(response.status).to eq 200
|
79
|
+
expect(response.body).to eq the_post
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'with PATCH method' do
|
84
|
+
it 'returns a updated post' do
|
85
|
+
patch '/rest/:id', id: 1, title: 'Modified title'
|
86
|
+
expect(response.status).to eq 200
|
87
|
+
expect(response.body).to eq the_post
|
88
|
+
end
|
71
89
|
end
|
72
90
|
end
|
73
91
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_api_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.16.
|
4
|
+
version: 0.16.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ryz310
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -234,6 +234,7 @@ files:
|
|
234
234
|
- ".gitignore"
|
235
235
|
- ".rspec"
|
236
236
|
- ".rubocop.yml"
|
237
|
+
- ".rubocop_challenge.yml"
|
237
238
|
- ".rubocop_todo.yml"
|
238
239
|
- CHANGELOG.md
|
239
240
|
- CODE_OF_CONDUCT.md
|