shark-on-lambda 0.0.0 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -0
  3. data/.gitlab-ci.yml +13 -0
  4. data/.rubocop.yml +13 -0
  5. data/.travis.yml +9 -2
  6. data/README.md +184 -18
  7. data/Rakefile +2 -0
  8. data/bin/console +4 -9
  9. data/changelog.md +17 -0
  10. data/gems.locked +92 -0
  11. data/{Gemfile → gems.rb} +2 -1
  12. data/lib/shark-on-lambda.rb +1 -5
  13. data/lib/shark_on_lambda.rb +104 -1
  14. data/lib/shark_on_lambda/api_gateway/base_controller.rb +76 -0
  15. data/lib/shark_on_lambda/api_gateway/base_handler.rb +82 -0
  16. data/lib/shark_on_lambda/api_gateway/concerns/http_response_validation.rb +61 -0
  17. data/lib/shark_on_lambda/api_gateway/errors.rb +49 -0
  18. data/lib/shark_on_lambda/api_gateway/headers.rb +37 -0
  19. data/lib/shark_on_lambda/api_gateway/jsonapi_controller.rb +77 -0
  20. data/lib/shark_on_lambda/api_gateway/jsonapi_parameters.rb +68 -0
  21. data/lib/shark_on_lambda/api_gateway/jsonapi_renderer.rb +105 -0
  22. data/lib/shark_on_lambda/api_gateway/parameters.rb +18 -0
  23. data/lib/shark_on_lambda/api_gateway/query.rb +69 -0
  24. data/lib/shark_on_lambda/api_gateway/request.rb +148 -0
  25. data/lib/shark_on_lambda/api_gateway/response.rb +82 -0
  26. data/lib/shark_on_lambda/api_gateway/serializers/base_error_serializer.rb +20 -0
  27. data/lib/shark_on_lambda/concerns/filter_actions.rb +82 -0
  28. data/lib/shark_on_lambda/concerns/resettable_singleton.rb +18 -0
  29. data/lib/shark_on_lambda/concerns/yaml_config_loader.rb +28 -0
  30. data/lib/shark_on_lambda/configuration.rb +71 -0
  31. data/lib/shark_on_lambda/inferrers/name_inferrer.rb +66 -0
  32. data/lib/shark_on_lambda/inferrers/serializer_inferrer.rb +45 -0
  33. data/lib/shark_on_lambda/secrets.rb +43 -0
  34. data/lib/shark_on_lambda/tasks.rb +3 -0
  35. data/lib/shark_on_lambda/tasks/build.rake +146 -0
  36. data/lib/{shark-on-lambda → shark_on_lambda}/version.rb +1 -1
  37. data/shark-on-lambda.gemspec +21 -6
  38. metadata +158 -20
  39. data/Gemfile.lock +0 -35
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SharkOnLambda
4
- VERSION = '0.0.0'.freeze
4
+ VERSION = '0.6.7'
5
5
  end
@@ -2,16 +2,19 @@
2
2
 
3
3
  lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'shark-on-lambda/version'
5
+ require 'shark_on_lambda/version'
6
6
 
7
+ # rubocop:disable Metrics/BlockLength
7
8
  Gem::Specification.new do |spec|
8
9
  spec.name = 'shark-on-lambda'
9
10
  spec.version = SharkOnLambda::VERSION
10
11
  spec.authors = ['Huy Dinh']
11
12
  spec.email = ['mail@huydinh.eu']
12
13
 
13
- spec.summary = 'Deploy your Ruby application to AWS Lambda'
14
- spec.description = 'Version 0.0.0 is a dummy gem without any functionality!'
14
+ spec.summary = 'Write beautiful Ruby applications for AWS Lambda'
15
+ spec.description = '`shark-on-lambda` does the heavy lifting for writing ' \
16
+ 'web services based on AWS API Gateway on AWS Lambda ' \
17
+ 'using Ruby.'
15
18
  spec.homepage = 'https://gitlab.com/skudo/shark-on-lambda'
16
19
  spec.license = 'MIT'
17
20
 
@@ -27,7 +30,19 @@ Gem::Specification.new do |spec|
27
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
31
  spec.require_paths = ['lib']
29
32
 
30
- spec.add_development_dependency 'bundler', '~> 1.17'
31
- spec.add_development_dependency 'rake', '~> 10.0'
32
- spec.add_development_dependency 'rspec', '~> 3.0'
33
+ spec.add_dependency 'activesupport'
34
+ spec.add_dependency 'jsonapi-rb'
35
+ spec.add_dependency 'rack'
36
+
37
+ # TODO: Do we really need `activemodel`?
38
+ # Or can we get away with mocking out ::ActiveModel::Errors?
39
+ spec.add_development_dependency 'activemodel'
40
+ spec.add_development_dependency 'bundler'
41
+ spec.add_development_dependency 'factory_bot'
42
+ spec.add_development_dependency 'rake'
43
+ spec.add_development_dependency 'rspec'
44
+ spec.add_development_dependency 'rubocop'
45
+ spec.add_development_dependency 'simplecov'
46
+ spec.add_development_dependency 'yard'
33
47
  end
48
+ # rubocop:enable Metrics/BlockLength
metadata CHANGED
@@ -1,58 +1,171 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shark-on-lambda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.0
4
+ version: 0.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Huy Dinh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-15 00:00:00.000000000 Z
11
+ date: 2019-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jsonapi-rb
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: activemodel
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
13
69
  - !ruby/object:Gem::Dependency
14
70
  name: bundler
15
71
  requirement: !ruby/object:Gem::Requirement
16
72
  requirements:
17
- - - "~>"
73
+ - - ">="
18
74
  - !ruby/object:Gem::Version
19
- version: '1.17'
75
+ version: '0'
20
76
  type: :development
21
77
  prerelease: false
22
78
  version_requirements: !ruby/object:Gem::Requirement
23
79
  requirements:
24
- - - "~>"
80
+ - - ">="
25
81
  - !ruby/object:Gem::Version
26
- version: '1.17'
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: factory_bot
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
27
97
  - !ruby/object:Gem::Dependency
28
98
  name: rake
29
99
  requirement: !ruby/object:Gem::Requirement
30
100
  requirements:
31
- - - "~>"
101
+ - - ">="
32
102
  - !ruby/object:Gem::Version
33
- version: '10.0'
103
+ version: '0'
34
104
  type: :development
35
105
  prerelease: false
36
106
  version_requirements: !ruby/object:Gem::Requirement
37
107
  requirements:
38
- - - "~>"
108
+ - - ">="
39
109
  - !ruby/object:Gem::Version
40
- version: '10.0'
110
+ version: '0'
41
111
  - !ruby/object:Gem::Dependency
42
112
  name: rspec
43
113
  requirement: !ruby/object:Gem::Requirement
44
114
  requirements:
45
- - - "~>"
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: simplecov
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: yard
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
46
158
  - !ruby/object:Gem::Version
47
- version: '3.0'
159
+ version: '0'
48
160
  type: :development
49
161
  prerelease: false
50
162
  version_requirements: !ruby/object:Gem::Requirement
51
163
  requirements:
52
- - - "~>"
164
+ - - ">="
53
165
  - !ruby/object:Gem::Version
54
- version: '3.0'
55
- description: Version 0.0.0 is a dummy gem without any functionality!
166
+ version: '0'
167
+ description: "`shark-on-lambda` does the heavy lifting for writing web services based
168
+ on AWS API Gateway on AWS Lambda using Ruby."
56
169
  email:
57
170
  - mail@huydinh.eu
58
171
  executables: []
@@ -60,20 +173,44 @@ extensions: []
60
173
  extra_rdoc_files: []
61
174
  files:
62
175
  - ".gitignore"
176
+ - ".gitlab-ci.yml"
63
177
  - ".rspec"
64
178
  - ".rubocop.yml"
65
179
  - ".travis.yml"
66
180
  - CODE_OF_CONDUCT.md
67
- - Gemfile
68
- - Gemfile.lock
69
181
  - LICENSE.txt
70
182
  - README.md
71
183
  - Rakefile
72
184
  - bin/console
73
185
  - bin/setup
186
+ - changelog.md
187
+ - gems.locked
188
+ - gems.rb
74
189
  - lib/shark-on-lambda.rb
75
- - lib/shark-on-lambda/version.rb
76
190
  - lib/shark_on_lambda.rb
191
+ - lib/shark_on_lambda/api_gateway/base_controller.rb
192
+ - lib/shark_on_lambda/api_gateway/base_handler.rb
193
+ - lib/shark_on_lambda/api_gateway/concerns/http_response_validation.rb
194
+ - lib/shark_on_lambda/api_gateway/errors.rb
195
+ - lib/shark_on_lambda/api_gateway/headers.rb
196
+ - lib/shark_on_lambda/api_gateway/jsonapi_controller.rb
197
+ - lib/shark_on_lambda/api_gateway/jsonapi_parameters.rb
198
+ - lib/shark_on_lambda/api_gateway/jsonapi_renderer.rb
199
+ - lib/shark_on_lambda/api_gateway/parameters.rb
200
+ - lib/shark_on_lambda/api_gateway/query.rb
201
+ - lib/shark_on_lambda/api_gateway/request.rb
202
+ - lib/shark_on_lambda/api_gateway/response.rb
203
+ - lib/shark_on_lambda/api_gateway/serializers/base_error_serializer.rb
204
+ - lib/shark_on_lambda/concerns/filter_actions.rb
205
+ - lib/shark_on_lambda/concerns/resettable_singleton.rb
206
+ - lib/shark_on_lambda/concerns/yaml_config_loader.rb
207
+ - lib/shark_on_lambda/configuration.rb
208
+ - lib/shark_on_lambda/inferrers/name_inferrer.rb
209
+ - lib/shark_on_lambda/inferrers/serializer_inferrer.rb
210
+ - lib/shark_on_lambda/secrets.rb
211
+ - lib/shark_on_lambda/tasks.rb
212
+ - lib/shark_on_lambda/tasks/build.rake
213
+ - lib/shark_on_lambda/version.rb
77
214
  - shark-on-lambda.gemspec
78
215
  homepage: https://gitlab.com/skudo/shark-on-lambda
79
216
  licenses:
@@ -94,8 +231,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
231
  - !ruby/object:Gem::Version
95
232
  version: '0'
96
233
  requirements: []
97
- rubygems_version: 3.0.1
234
+ rubyforge_project:
235
+ rubygems_version: 2.7.6.2
98
236
  signing_key:
99
237
  specification_version: 4
100
- summary: Deploy your Ruby application to AWS Lambda
238
+ summary: Write beautiful Ruby applications for AWS Lambda
101
239
  test_files: []
@@ -1,35 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- shark-on-lambda (0.0.0)
5
-
6
- GEM
7
- remote: https://rubygems.org/
8
- specs:
9
- diff-lcs (1.3)
10
- rake (10.5.0)
11
- rspec (3.8.0)
12
- rspec-core (~> 3.8.0)
13
- rspec-expectations (~> 3.8.0)
14
- rspec-mocks (~> 3.8.0)
15
- rspec-core (3.8.0)
16
- rspec-support (~> 3.8.0)
17
- rspec-expectations (3.8.2)
18
- diff-lcs (>= 1.2.0, < 2.0)
19
- rspec-support (~> 3.8.0)
20
- rspec-mocks (3.8.0)
21
- diff-lcs (>= 1.2.0, < 2.0)
22
- rspec-support (~> 3.8.0)
23
- rspec-support (3.8.0)
24
-
25
- PLATFORMS
26
- ruby
27
-
28
- DEPENDENCIES
29
- bundler (~> 1.17)
30
- rake (~> 10.0)
31
- rspec (~> 3.0)
32
- shark-on-lambda!
33
-
34
- BUNDLED WITH
35
- 1.17.2