my_api_client 0.13.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 +102 -36
- data/.dependabot/config.yml +34 -0
- data/.envrc.skeleton +1 -0
- data/.rubocop.yml +8 -10
- data/.rubocop_challenge.yml +3 -0
- data/.rubocop_todo.yml +5 -10
- data/CHANGELOG.md +229 -0
- data/Gemfile.lock +48 -43
- data/README.jp.md +98 -23
- data/bin/console +4 -0
- data/example/api_clients/application_api_client.rb +13 -0
- data/example/api_clients/my_error_api_client.rb +34 -0
- data/example/api_clients/my_errors.rb +27 -0
- data/example/api_clients/my_pagination_api_client.rb +18 -0
- data/example/api_clients/my_rest_api_client.rb +48 -0
- data/example/api_clients/my_status_api_client.rb +22 -0
- data/lib/generators/rails/templates/application_api_client.rb.erb +0 -11
- data/lib/my_api_client.rb +10 -2
- data/lib/my_api_client/base.rb +2 -18
- data/lib/my_api_client/config.rb +0 -29
- data/lib/my_api_client/default_error_handlers.rb +64 -0
- data/lib/my_api_client/error_handling.rb +13 -23
- data/lib/my_api_client/error_handling/generator.rb +30 -10
- data/lib/my_api_client/error_handling/{process_retry_option.rb → retry_option_processor.rb} +1 -1
- data/lib/my_api_client/errors.rb +0 -53
- data/lib/my_api_client/errors/api_limit_error.rb +6 -0
- data/lib/my_api_client/errors/client_error.rb +93 -0
- data/lib/my_api_client/errors/network_error.rb +43 -0
- data/lib/my_api_client/errors/server_error.rb +42 -0
- data/lib/my_api_client/params/request.rb +7 -10
- data/lib/my_api_client/request.rb +48 -70
- data/lib/my_api_client/request/basic.rb +32 -0
- data/lib/my_api_client/request/executor.rb +89 -0
- data/lib/my_api_client/request/logger.rb +37 -0
- data/lib/my_api_client/request/pagination.rb +39 -0
- data/lib/my_api_client/rspec/matcher_helper.rb +2 -2
- data/lib/my_api_client/rspec/matchers/be_handled_as_an_error.rb +2 -0
- data/lib/my_api_client/rspec/matchers/request_to.rb +3 -4
- data/lib/my_api_client/version.rb +1 -1
- data/my_api/.envrc.skeleton +3 -0
- data/my_api/.gitignore +14 -0
- data/my_api/.jetskeep +1 -0
- data/my_api/.rspec +3 -0
- data/my_api/.ruby-version +1 -0
- data/my_api/Gemfile +23 -0
- data/my_api/Gemfile.lock +243 -0
- data/my_api/Procfile +7 -0
- data/my_api/README.md +54 -0
- data/my_api/Rakefile +4 -0
- data/my_api/app/controllers/application_controller.rb +5 -0
- data/my_api/app/controllers/error_controller.rb +21 -0
- data/my_api/app/controllers/pagination_controller.rb +58 -0
- data/my_api/app/controllers/rest_controller.rb +60 -0
- data/my_api/app/controllers/status_controller.rb +11 -0
- data/my_api/app/helpers/application_helper.rb +5 -0
- data/my_api/app/jobs/application_job.rb +7 -0
- data/my_api/app/models/application_item.rb +5 -0
- data/my_api/config.ru +7 -0
- data/my_api/config/application.rb +73 -0
- data/my_api/config/dynamodb.yml +22 -0
- data/my_api/config/environments/development.rb +9 -0
- data/my_api/config/environments/production.rb +11 -0
- data/my_api/config/environments/test.rb +9 -0
- data/my_api/config/routes.rb +17 -0
- data/my_api/db/.gitkeep +0 -0
- data/my_api/public/404.html +67 -0
- data/my_api/public/422.html +67 -0
- data/my_api/public/500.html +66 -0
- data/my_api/public/favicon.ico +0 -0
- data/my_api/public/index.html +91 -0
- data/my_api/spec/controllers/error_controller_spec.rb +43 -0
- data/my_api/spec/controllers/pagination_controller_spec.rb +73 -0
- data/my_api/spec/controllers/rest_controller_spec.rb +99 -0
- data/my_api/spec/controllers/status_controller_spec.rb +47 -0
- data/my_api/spec/fixtures/payloads/posts-index.json +51 -0
- data/my_api/spec/fixtures/payloads/posts-show.json +53 -0
- data/my_api/spec/spec_helper.rb +31 -0
- data/my_api_client.gemspec +1 -1
- metadata +62 -9
- data/lib/my_api_client/logger.rb +0 -36
- data/renovate.json +0 -5
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MyApiClient
|
4
|
+
module Request
|
5
|
+
# Description of Logger
|
6
|
+
class Logger
|
7
|
+
attr_reader :logger, :method, :uri
|
8
|
+
|
9
|
+
LOG_LEVEL = %i[debug info warn error fatal].freeze
|
10
|
+
|
11
|
+
# Description of #initialize
|
12
|
+
#
|
13
|
+
# @param logger [::Logger] describe_logger_here
|
14
|
+
# @param method [String] HTTP method
|
15
|
+
# @param uri [URI] Target URI
|
16
|
+
def initialize(logger, method, uri)
|
17
|
+
@logger = logger
|
18
|
+
@method = method.to_s.upcase
|
19
|
+
@uri = uri
|
20
|
+
end
|
21
|
+
|
22
|
+
LOG_LEVEL.each do |level|
|
23
|
+
class_eval <<~METHOD, __FILE__, __LINE__ + 1
|
24
|
+
def #{level}(message)
|
25
|
+
logger.#{level}(format(message))
|
26
|
+
end
|
27
|
+
METHOD
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def format(message)
|
33
|
+
"API request `#{method} #{uri}`: \"#{message}\""
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MyApiClient
|
4
|
+
module Request
|
5
|
+
# Provides enumerable HTTP request method.
|
6
|
+
module Pagination
|
7
|
+
# Executes HTTP request with GET method, for pagination API. Expects the
|
8
|
+
# pagination API to provide pagination links as part of the content of the response.
|
9
|
+
#
|
10
|
+
# @param pathname [String]
|
11
|
+
# Pathname of the request target URL. It's joined with the defined by `endpoint`.
|
12
|
+
# @param paging [String]
|
13
|
+
# Specify the pagination link path included in the response body as JsonPath expression
|
14
|
+
# @param headers [Hash, nil]
|
15
|
+
# Request headers.
|
16
|
+
# @param query [Hash, nil]
|
17
|
+
# Query string.
|
18
|
+
# @param body [Hash, nil]
|
19
|
+
# Request body. You should not specify it when use GET method.
|
20
|
+
# @return [Enumerator::Lazy]
|
21
|
+
# Yields the pagination API response.
|
22
|
+
def pageable_get(pathname, paging:, headers: nil, query: nil)
|
23
|
+
Enumerator.new do |y|
|
24
|
+
response = call(:_request_with_relative_uri, :get, pathname, headers, query, nil)
|
25
|
+
loop do
|
26
|
+
y << response.data
|
27
|
+
|
28
|
+
next_uri = JsonPath.new(paging).first(response.body)
|
29
|
+
break if next_uri.blank?
|
30
|
+
|
31
|
+
response = call(:_request_with_absolute_uri, :get, next_uri, headers, nil)
|
32
|
+
end
|
33
|
+
end.lazy
|
34
|
+
end
|
35
|
+
|
36
|
+
alias pget pageable_get
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -4,8 +4,8 @@ module MyApiClient
|
|
4
4
|
# Helper module for rspec custom matcher
|
5
5
|
module MatcherHelper
|
6
6
|
def disable_logging
|
7
|
-
logger = instance_double(MyApiClient::Logger, info: nil, warn: nil)
|
8
|
-
allow(MyApiClient::Logger).to receive(:new).and_return(logger)
|
7
|
+
logger = instance_double(MyApiClient::Request::Logger, info: nil, warn: nil)
|
8
|
+
allow(MyApiClient::Request::Logger).to receive(:new).and_return(logger)
|
9
9
|
end
|
10
10
|
|
11
11
|
def dummy_response(status: 200, headers: {}, body: nil)
|
@@ -45,6 +45,7 @@ RSpec::Matchers.define :be_handled_as_an_error do |expected_error_class|
|
|
45
45
|
|
46
46
|
attr_reader :sawyer
|
47
47
|
|
48
|
+
# rubocop:disable Metrics/AbcSize
|
48
49
|
def init
|
49
50
|
disable_logging
|
50
51
|
response = dummy_response(
|
@@ -56,6 +57,7 @@ RSpec::Matchers.define :be_handled_as_an_error do |expected_error_class|
|
|
56
57
|
allow(Sawyer::Agent).to receive(:new).and_return(sawyer)
|
57
58
|
allow(MyApiClient::Sleeper).to receive(:call)
|
58
59
|
end
|
60
|
+
# rubocop:enable Metrics/AbcSize
|
59
61
|
|
60
62
|
def set_validation_for_retry_count
|
61
63
|
return if retry_count.nil?
|
@@ -8,10 +8,9 @@ RSpec::Matchers.define :request_to do |expected_method, expected_url|
|
|
8
8
|
match do |api_request|
|
9
9
|
disable_logging
|
10
10
|
@expected = {
|
11
|
-
request_line: request_line(expected_method, expected_url),
|
11
|
+
request_line: request_line(expected_method, expected_url, expected_options[:query]),
|
12
12
|
body: expected_options[:body],
|
13
13
|
headers: expected_options[:headers],
|
14
|
-
query: expected_options[:query],
|
15
14
|
}.compact
|
16
15
|
@actual = {}
|
17
16
|
sawyer = instance_double(Sawyer::Agent)
|
@@ -24,7 +23,6 @@ RSpec::Matchers.define :request_to do |expected_method, expected_url|
|
|
24
23
|
request_line: request_line(method, @actual_schema_and_hostname + pathname),
|
25
24
|
body: body,
|
26
25
|
headers: options[:headers],
|
27
|
-
query: options[:query],
|
28
26
|
}.compact
|
29
27
|
end.and_return(dummy_response)
|
30
28
|
safe_execution(api_request)
|
@@ -51,7 +49,8 @@ RSpec::Matchers.define :request_to do |expected_method, expected_url|
|
|
51
49
|
nil
|
52
50
|
end
|
53
51
|
|
54
|
-
def request_line(method, url)
|
52
|
+
def request_line(method, url, query = nil)
|
53
|
+
url += '?' + query.to_query if query.present?
|
55
54
|
"#{method.upcase} #{url}"
|
56
55
|
end
|
57
56
|
|
data/my_api/.gitignore
ADDED
data/my_api/.jetskeep
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
pack
|
data/my_api/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.5.7
|
data/my_api/Gemfile
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
source 'https://rubygems.org'
|
4
|
+
|
5
|
+
gem 'jets'
|
6
|
+
|
7
|
+
gem 'dynomite'
|
8
|
+
|
9
|
+
# development and test groups are not bundled as part of the deployment
|
10
|
+
group :development, :test do
|
11
|
+
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
12
|
+
gem 'byebug', platforms: %i[mri mingw x64_mingw]
|
13
|
+
gem 'puma'
|
14
|
+
gem 'rack'
|
15
|
+
gem 'shotgun'
|
16
|
+
end
|
17
|
+
|
18
|
+
group :test do
|
19
|
+
gem 'capybara'
|
20
|
+
gem 'launchy'
|
21
|
+
gem 'rspec'
|
22
|
+
gem 'rspec_junit_formatter'
|
23
|
+
end
|
data/my_api/Gemfile.lock
ADDED
@@ -0,0 +1,243 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
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
|
+
mail (~> 2.5, >= 2.5.4)
|
9
|
+
rails-dom-testing (~> 2.0)
|
10
|
+
actionpack (6.0.3.2)
|
11
|
+
actionview (= 6.0.3.2)
|
12
|
+
activesupport (= 6.0.3.2)
|
13
|
+
rack (~> 2.0, >= 2.0.8)
|
14
|
+
rack-test (>= 0.6.3)
|
15
|
+
rails-dom-testing (~> 2.0)
|
16
|
+
rails-html-sanitizer (~> 1.0, >= 1.2.0)
|
17
|
+
actionview (6.0.3.2)
|
18
|
+
activesupport (= 6.0.3.2)
|
19
|
+
builder (~> 3.1)
|
20
|
+
erubi (~> 1.4)
|
21
|
+
rails-dom-testing (~> 2.0)
|
22
|
+
rails-html-sanitizer (~> 1.1, >= 1.2.0)
|
23
|
+
activejob (6.0.3.2)
|
24
|
+
activesupport (= 6.0.3.2)
|
25
|
+
globalid (>= 0.3.6)
|
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
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
33
|
+
i18n (>= 0.7, < 2)
|
34
|
+
minitest (~> 5.1)
|
35
|
+
tzinfo (~> 1.1)
|
36
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
37
|
+
addressable (2.7.0)
|
38
|
+
public_suffix (>= 2.0.2, < 5.0)
|
39
|
+
aws-eventstream (1.1.0)
|
40
|
+
aws-mfa-secure (0.4.2)
|
41
|
+
activesupport
|
42
|
+
aws-sdk-core
|
43
|
+
aws_config
|
44
|
+
memoist
|
45
|
+
rainbow
|
46
|
+
thor
|
47
|
+
zeitwerk
|
48
|
+
aws-partitions (1.358.0)
|
49
|
+
aws-sdk-apigateway (1.49.0)
|
50
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
51
|
+
aws-sigv4 (~> 1.1)
|
52
|
+
aws-sdk-cloudformation (1.41.0)
|
53
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
54
|
+
aws-sigv4 (~> 1.1)
|
55
|
+
aws-sdk-cloudwatchlogs (1.34.0)
|
56
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
57
|
+
aws-sigv4 (~> 1.1)
|
58
|
+
aws-sdk-core (3.104.4)
|
59
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
60
|
+
aws-partitions (~> 1, >= 1.239.0)
|
61
|
+
aws-sigv4 (~> 1.1)
|
62
|
+
jmespath (~> 1.0)
|
63
|
+
aws-sdk-dynamodb (1.51.0)
|
64
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
65
|
+
aws-sigv4 (~> 1.1)
|
66
|
+
aws-sdk-kinesis (1.27.0)
|
67
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
68
|
+
aws-sigv4 (~> 1.1)
|
69
|
+
aws-sdk-kms (1.36.0)
|
70
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
71
|
+
aws-sigv4 (~> 1.1)
|
72
|
+
aws-sdk-lambda (1.48.0)
|
73
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
74
|
+
aws-sigv4 (~> 1.1)
|
75
|
+
aws-sdk-s3 (1.78.0)
|
76
|
+
aws-sdk-core (~> 3, >= 3.104.3)
|
77
|
+
aws-sdk-kms (~> 1)
|
78
|
+
aws-sigv4 (~> 1.1)
|
79
|
+
aws-sdk-sns (1.29.0)
|
80
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
81
|
+
aws-sigv4 (~> 1.1)
|
82
|
+
aws-sdk-sqs (1.30.0)
|
83
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
84
|
+
aws-sigv4 (~> 1.1)
|
85
|
+
aws-sdk-ssm (1.86.0)
|
86
|
+
aws-sdk-core (~> 3, >= 3.99.0)
|
87
|
+
aws-sigv4 (~> 1.1)
|
88
|
+
aws-sigv4 (1.2.2)
|
89
|
+
aws-eventstream (~> 1, >= 1.0.2)
|
90
|
+
aws_config (0.1.0)
|
91
|
+
builder (3.2.4)
|
92
|
+
byebug (11.1.3)
|
93
|
+
capybara (3.33.0)
|
94
|
+
addressable
|
95
|
+
mini_mime (>= 0.1.3)
|
96
|
+
nokogiri (~> 1.8)
|
97
|
+
rack (>= 1.6.0)
|
98
|
+
rack-test (>= 0.6.3)
|
99
|
+
regexp_parser (~> 1.5)
|
100
|
+
xpath (~> 3.2)
|
101
|
+
cfn_camelizer (0.4.9)
|
102
|
+
activesupport
|
103
|
+
memoist
|
104
|
+
rainbow
|
105
|
+
cfnresponse (0.4.0)
|
106
|
+
concurrent-ruby (1.1.7)
|
107
|
+
crass (1.0.6)
|
108
|
+
diff-lcs (1.3)
|
109
|
+
dotenv (2.7.6)
|
110
|
+
dynomite (1.2.6)
|
111
|
+
activesupport
|
112
|
+
aws-sdk-dynamodb
|
113
|
+
rainbow
|
114
|
+
erubi (1.9.0)
|
115
|
+
gems (1.2.0)
|
116
|
+
globalid (0.4.2)
|
117
|
+
activesupport (>= 4.2.0)
|
118
|
+
hashie (4.1.0)
|
119
|
+
i18n (1.8.5)
|
120
|
+
concurrent-ruby (~> 1.0)
|
121
|
+
jets (2.3.17)
|
122
|
+
actionmailer (~> 6.0.0)
|
123
|
+
actionpack (~> 6.0.0)
|
124
|
+
actionview (~> 6.0.0)
|
125
|
+
activerecord (~> 6.0.0)
|
126
|
+
activesupport (~> 6.0.0)
|
127
|
+
aws-mfa-secure (~> 0.4.0)
|
128
|
+
aws-sdk-apigateway
|
129
|
+
aws-sdk-cloudformation
|
130
|
+
aws-sdk-cloudwatchlogs
|
131
|
+
aws-sdk-dynamodb
|
132
|
+
aws-sdk-kinesis
|
133
|
+
aws-sdk-lambda
|
134
|
+
aws-sdk-s3
|
135
|
+
aws-sdk-sns
|
136
|
+
aws-sdk-sqs
|
137
|
+
aws-sdk-ssm
|
138
|
+
cfn_camelizer (~> 0.4.6)
|
139
|
+
cfnresponse
|
140
|
+
dotenv
|
141
|
+
gems
|
142
|
+
hashie
|
143
|
+
jets-gems
|
144
|
+
jets-html-sanitizer
|
145
|
+
kramdown
|
146
|
+
memoist
|
147
|
+
mimemagic
|
148
|
+
rack
|
149
|
+
railties (~> 6.0.0)
|
150
|
+
rainbow
|
151
|
+
recursive-open-struct
|
152
|
+
shotgun
|
153
|
+
text-table
|
154
|
+
thor
|
155
|
+
zeitwerk
|
156
|
+
jets-gems (0.2.2)
|
157
|
+
gems
|
158
|
+
jets-html-sanitizer (1.0.4)
|
159
|
+
loofah (~> 2.2, >= 2.2.2)
|
160
|
+
jmespath (1.4.0)
|
161
|
+
kramdown (2.3.0)
|
162
|
+
rexml
|
163
|
+
launchy (2.5.0)
|
164
|
+
addressable (~> 2.7)
|
165
|
+
loofah (2.6.0)
|
166
|
+
crass (~> 1.0.2)
|
167
|
+
nokogiri (>= 1.5.9)
|
168
|
+
mail (2.7.1)
|
169
|
+
mini_mime (>= 0.1.1)
|
170
|
+
memoist (0.16.2)
|
171
|
+
method_source (1.0.0)
|
172
|
+
mimemagic (0.3.5)
|
173
|
+
mini_mime (1.0.2)
|
174
|
+
mini_portile2 (2.4.0)
|
175
|
+
minitest (5.14.1)
|
176
|
+
nio4r (2.5.2)
|
177
|
+
nokogiri (1.10.10)
|
178
|
+
mini_portile2 (~> 2.4.0)
|
179
|
+
public_suffix (4.0.5)
|
180
|
+
puma (4.3.5)
|
181
|
+
nio4r (~> 2.0)
|
182
|
+
rack (2.2.3)
|
183
|
+
rack-test (1.1.0)
|
184
|
+
rack (>= 1.0, < 3)
|
185
|
+
rails-dom-testing (2.0.3)
|
186
|
+
activesupport (>= 4.2.0)
|
187
|
+
nokogiri (>= 1.6)
|
188
|
+
rails-html-sanitizer (1.3.0)
|
189
|
+
loofah (~> 2.3)
|
190
|
+
railties (6.0.3.2)
|
191
|
+
actionpack (= 6.0.3.2)
|
192
|
+
activesupport (= 6.0.3.2)
|
193
|
+
method_source
|
194
|
+
rake (>= 0.8.7)
|
195
|
+
thor (>= 0.20.3, < 2.0)
|
196
|
+
rainbow (3.0.0)
|
197
|
+
rake (13.0.1)
|
198
|
+
recursive-open-struct (1.1.2)
|
199
|
+
regexp_parser (1.7.1)
|
200
|
+
rexml (3.2.4)
|
201
|
+
rspec (3.9.0)
|
202
|
+
rspec-core (~> 3.9.0)
|
203
|
+
rspec-expectations (~> 3.9.0)
|
204
|
+
rspec-mocks (~> 3.9.0)
|
205
|
+
rspec-core (3.9.1)
|
206
|
+
rspec-support (~> 3.9.1)
|
207
|
+
rspec-expectations (3.9.1)
|
208
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
209
|
+
rspec-support (~> 3.9.0)
|
210
|
+
rspec-mocks (3.9.1)
|
211
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
212
|
+
rspec-support (~> 3.9.0)
|
213
|
+
rspec-support (3.9.2)
|
214
|
+
rspec_junit_formatter (0.4.1)
|
215
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
216
|
+
shotgun (0.9.2)
|
217
|
+
rack (>= 1.0)
|
218
|
+
text-table (1.2.4)
|
219
|
+
thor (1.0.1)
|
220
|
+
thread_safe (0.3.6)
|
221
|
+
tzinfo (1.2.7)
|
222
|
+
thread_safe (~> 0.1)
|
223
|
+
xpath (3.2.0)
|
224
|
+
nokogiri (~> 1.8)
|
225
|
+
zeitwerk (2.4.0)
|
226
|
+
|
227
|
+
PLATFORMS
|
228
|
+
ruby
|
229
|
+
|
230
|
+
DEPENDENCIES
|
231
|
+
byebug
|
232
|
+
capybara
|
233
|
+
dynomite
|
234
|
+
jets
|
235
|
+
launchy
|
236
|
+
puma
|
237
|
+
rack
|
238
|
+
rspec
|
239
|
+
rspec_junit_formatter
|
240
|
+
shotgun
|
241
|
+
|
242
|
+
BUNDLED WITH
|
243
|
+
2.1.4
|
data/my_api/Procfile
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
local: dynamodb-local # port 8000
|
2
|
+
admin: env AWS_ACCESS_KEY_ID=$DYNAMODB_ADMIN_AWS_ACCESS_KEY_ID PORT=8001 dynamodb-admin # port 8001
|
3
|
+
# web: jets server # port 8888
|
4
|
+
|
5
|
+
# Using Procfile to just start local dynamodb services for now.
|
6
|
+
# To start jets server for now use:
|
7
|
+
# jets server
|