my_api_client 0.16.0 → 0.16.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|