trailblazer-endpoint 0.0.3 → 0.0.8

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.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +16 -0
  3. data/Appraisals +5 -0
  4. data/CHANGES.md +27 -0
  5. data/README.md +40 -5
  6. data/Rakefile +7 -1
  7. data/gemfiles/rails_app.gemfile +12 -0
  8. data/lib/trailblazer/endpoint.rb +50 -14
  9. data/lib/trailblazer/endpoint/adapter.rb +30 -121
  10. data/lib/trailblazer/endpoint/builder.rb +1 -1
  11. data/lib/trailblazer/endpoint/controller.rb +217 -1
  12. data/lib/trailblazer/endpoint/dsl.rb +8 -3
  13. data/lib/trailblazer/endpoint/options.rb +16 -69
  14. data/lib/trailblazer/endpoint/protocol.rb +7 -11
  15. data/lib/trailblazer/endpoint/protocol/cipher.rb +27 -0
  16. data/lib/trailblazer/endpoint/protocol/controller.rb +102 -0
  17. data/lib/trailblazer/endpoint/protocol/find_process_model.rb +15 -0
  18. data/lib/trailblazer/endpoint/version.rb +1 -1
  19. data/test/adapter/api_test.rb +6 -11
  20. data/test/adapter/web_test.rb +2 -5
  21. data/test/config_test.rb +25 -0
  22. data/test/docs/controller_test.rb +220 -73
  23. data/test/endpoint_test.rb +1 -1
  24. data/test/rails-app/.gitignore +8 -2
  25. data/test/rails-app/.ruby-version +1 -0
  26. data/test/rails-app/Gemfile +21 -9
  27. data/test/rails-app/Gemfile.lock +174 -118
  28. data/test/rails-app/app/concepts/app/api/v1/representer/errors.rb +16 -0
  29. data/test/rails-app/app/concepts/auth/jwt.rb +35 -0
  30. data/test/rails-app/app/concepts/auth/operation/authenticate.rb +32 -0
  31. data/test/rails-app/app/concepts/auth/operation/policy.rb +9 -0
  32. data/test/rails-app/app/concepts/song/cell/create.rb +4 -0
  33. data/test/rails-app/app/concepts/song/cell/new.rb +4 -0
  34. data/test/rails-app/app/concepts/song/operation/create.rb +17 -0
  35. data/test/rails-app/app/concepts/song/operation/show.rb +10 -0
  36. data/test/rails-app/app/concepts/song/representer.rb +5 -0
  37. data/test/rails-app/app/concepts/song/view/create.erb +1 -0
  38. data/test/rails-app/app/concepts/song/view/new.erb +1 -0
  39. data/test/rails-app/app/controllers/api/v1/songs_controller.rb +41 -0
  40. data/test/rails-app/app/controllers/application_controller.rb +8 -1
  41. data/test/rails-app/app/controllers/application_controller/api.rb +107 -0
  42. data/test/rails-app/app/controllers/application_controller/web.rb +46 -0
  43. data/test/rails-app/app/controllers/auth_controller.rb +44 -0
  44. data/test/rails-app/app/controllers/home_controller.rb +5 -0
  45. data/test/rails-app/app/controllers/songs_controller.rb +254 -13
  46. data/test/rails-app/app/models/song.rb +6 -0
  47. data/test/rails-app/app/models/user.rb +7 -0
  48. data/test/rails-app/bin/bundle +114 -0
  49. data/test/rails-app/bin/rails +4 -0
  50. data/test/rails-app/bin/rake +4 -0
  51. data/test/rails-app/bin/setup +33 -0
  52. data/test/rails-app/config/application.rb +26 -3
  53. data/test/rails-app/config/credentials.yml.enc +1 -0
  54. data/test/rails-app/config/database.yml +2 -2
  55. data/test/rails-app/config/environments/development.rb +7 -17
  56. data/test/rails-app/config/environments/production.rb +28 -23
  57. data/test/rails-app/config/environments/test.rb +10 -12
  58. data/test/rails-app/config/initializers/application_controller_renderer.rb +6 -4
  59. data/test/rails-app/config/initializers/cors.rb +16 -0
  60. data/test/rails-app/config/initializers/trailblazer.rb +2 -0
  61. data/test/rails-app/config/locales/en.yml +11 -1
  62. data/test/rails-app/config/master.key +1 -0
  63. data/test/rails-app/config/routes.rb +27 -4
  64. data/test/rails-app/db/schema.rb +15 -0
  65. data/test/rails-app/test/controllers/api_songs_controller_test.rb +87 -0
  66. data/test/rails-app/test/controllers/songs_controller_test.rb +152 -145
  67. data/test/rails-app/test/test_helper.rb +7 -1
  68. data/test/test_helper.rb +0 -2
  69. data/trailblazer-endpoint.gemspec +2 -1
  70. metadata +69 -24
  71. data/test/rails-app/config/initializers/cookies_serializer.rb +0 -5
  72. data/test/rails-app/config/initializers/new_framework_defaults.rb +0 -24
  73. data/test/rails-app/config/initializers/session_store.rb +0 -3
  74. data/test/rails-app/config/secrets.yml +0 -22
  75. data/test/rails-app/test/helpers/.keep +0 -0
  76. data/test/rails-app/test/integration/.keep +0 -0
  77. data/test/rails-app/test/mailers/.keep +0 -0
  78. data/test/rails-app/vendor/assets/javascripts/.keep +0 -0
  79. data/test/rails-app/vendor/assets/stylesheets/.keep +0 -0
@@ -1,10 +1,16 @@
1
1
  ENV['RAILS_ENV'] ||= 'test'
2
- require File.expand_path('../../config/environment', __FILE__)
2
+ require_relative '../config/environment'
3
3
  require 'rails/test_help'
4
4
 
5
5
  class ActiveSupport::TestCase
6
+ # Run tests in parallel with specified workers
7
+ parallelize(workers: :number_of_processors)
8
+
6
9
  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
7
10
  fixtures :all
8
11
 
9
12
  # Add more helper methods to be used by all tests here...
10
13
  end
14
+
15
+ class Show < Trailblazer::Activity::Railway
16
+ end
@@ -7,8 +7,6 @@ require "trailblazer/endpoint"
7
7
  require "trailblazer/endpoint/protocol"
8
8
  require "trailblazer/endpoint/adapter"
9
9
 
10
- require "test_helper"
11
-
12
10
  Minitest::Spec.class_eval do
13
11
  T = Trailblazer::Activity::Testing
14
12
 
@@ -17,10 +17,11 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.2.9", "< 0.4.0"
20
+ spec.add_dependency "trailblazer-activity-dsl-linear", ">= 0.3.4", "< 0.4.0"
21
21
 
22
22
  spec.add_development_dependency "bundler"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "minitest"
25
25
  spec.add_development_dependency "trailblazer-developer"
26
+ # spec.add_development_dependency "appraisal"
26
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-endpoint
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-31 00:00:00.000000000 Z
11
+ date: 2021-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: trailblazer-activity-dsl-linear
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.9
19
+ version: 0.3.4
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: 0.4.0
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.2.9
29
+ version: 0.3.4
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.4.0
@@ -94,10 +94,13 @@ executables: []
94
94
  extensions: []
95
95
  extra_rdoc_files: []
96
96
  files:
97
+ - ".gitignore"
98
+ - Appraisals
97
99
  - CHANGES.md
98
100
  - Gemfile
99
101
  - README.md
100
102
  - Rakefile
103
+ - gemfiles/rails_app.gemfile
101
104
  - lib/trailblazer-endpoint.rb
102
105
  - lib/trailblazer/endpoint.rb
103
106
  - lib/trailblazer/endpoint/adapter.rb
@@ -106,6 +109,9 @@ files:
106
109
  - lib/trailblazer/endpoint/dsl.rb
107
110
  - lib/trailblazer/endpoint/options.rb
108
111
  - lib/trailblazer/endpoint/protocol.rb
112
+ - lib/trailblazer/endpoint/protocol/cipher.rb
113
+ - lib/trailblazer/endpoint/protocol/controller.rb
114
+ - lib/trailblazer/endpoint/protocol/find_process_model.rb
109
115
  - lib/trailblazer/endpoint/rails.rb
110
116
  - lib/trailblazer/endpoint/version.rb
111
117
  - test/adapter/api_test.rb
@@ -117,17 +123,41 @@ files:
117
123
  - test/docs/endpoint_test.rb
118
124
  - test/endpoint_test.rb
119
125
  - test/rails-app/.gitignore
126
+ - test/rails-app/.ruby-version
120
127
  - test/rails-app/Gemfile
121
128
  - test/rails-app/Gemfile.lock
122
129
  - test/rails-app/README.md
123
130
  - test/rails-app/Rakefile
131
+ - test/rails-app/app/concepts/app/api/v1/representer/errors.rb
132
+ - test/rails-app/app/concepts/auth/jwt.rb
133
+ - test/rails-app/app/concepts/auth/operation/authenticate.rb
134
+ - test/rails-app/app/concepts/auth/operation/policy.rb
135
+ - test/rails-app/app/concepts/song/cell/create.rb
136
+ - test/rails-app/app/concepts/song/cell/new.rb
137
+ - test/rails-app/app/concepts/song/operation/create.rb
138
+ - test/rails-app/app/concepts/song/operation/show.rb
139
+ - test/rails-app/app/concepts/song/representer.rb
140
+ - test/rails-app/app/concepts/song/view/create.erb
141
+ - test/rails-app/app/concepts/song/view/new.erb
142
+ - test/rails-app/app/controllers/api/v1/songs_controller.rb
124
143
  - test/rails-app/app/controllers/application_controller.rb
144
+ - test/rails-app/app/controllers/application_controller/api.rb
145
+ - test/rails-app/app/controllers/application_controller/web.rb
146
+ - test/rails-app/app/controllers/auth_controller.rb
147
+ - test/rails-app/app/controllers/home_controller.rb
125
148
  - test/rails-app/app/controllers/songs_controller.rb
126
149
  - test/rails-app/app/models/application_record.rb
127
150
  - test/rails-app/app/models/concerns/.keep
151
+ - test/rails-app/app/models/song.rb
152
+ - test/rails-app/app/models/user.rb
153
+ - test/rails-app/bin/bundle
154
+ - test/rails-app/bin/rails
155
+ - test/rails-app/bin/rake
156
+ - test/rails-app/bin/setup
128
157
  - test/rails-app/config.ru
129
158
  - test/rails-app/config/application.rb
130
159
  - test/rails-app/config/boot.rb
160
+ - test/rails-app/config/credentials.yml.enc
131
161
  - test/rails-app/config/database.yml
132
162
  - test/rails-app/config/environment.rb
133
163
  - test/rails-app/config/environments/development.rb
@@ -135,30 +165,26 @@ files:
135
165
  - test/rails-app/config/environments/test.rb
136
166
  - test/rails-app/config/initializers/application_controller_renderer.rb
137
167
  - test/rails-app/config/initializers/backtrace_silencers.rb
138
- - test/rails-app/config/initializers/cookies_serializer.rb
168
+ - test/rails-app/config/initializers/cors.rb
139
169
  - test/rails-app/config/initializers/filter_parameter_logging.rb
140
170
  - test/rails-app/config/initializers/inflections.rb
141
171
  - test/rails-app/config/initializers/mime_types.rb
142
- - test/rails-app/config/initializers/new_framework_defaults.rb
143
- - test/rails-app/config/initializers/session_store.rb
172
+ - test/rails-app/config/initializers/trailblazer.rb
144
173
  - test/rails-app/config/initializers/wrap_parameters.rb
145
174
  - test/rails-app/config/locales/en.yml
175
+ - test/rails-app/config/master.key
146
176
  - test/rails-app/config/routes.rb
147
- - test/rails-app/config/secrets.yml
177
+ - test/rails-app/db/schema.rb
148
178
  - test/rails-app/db/seeds.rb
149
179
  - test/rails-app/log/.keep
150
180
  - test/rails-app/test/controllers/.keep
181
+ - test/rails-app/test/controllers/api_songs_controller_test.rb
151
182
  - test/rails-app/test/controllers/songs_controller_test.rb
152
183
  - test/rails-app/test/fixtures/.keep
153
184
  - test/rails-app/test/fixtures/files/.keep
154
- - test/rails-app/test/helpers/.keep
155
- - test/rails-app/test/integration/.keep
156
- - test/rails-app/test/mailers/.keep
157
185
  - test/rails-app/test/models/.keep
158
186
  - test/rails-app/test/test_helper.rb
159
187
  - test/rails-app/tmp/.keep
160
- - test/rails-app/vendor/assets/javascripts/.keep
161
- - test/rails-app/vendor/assets/stylesheets/.keep
162
188
  - test/test_helper.rb
163
189
  - trailblazer-endpoint.gemspec
164
190
  homepage: http://trailblazer.to/gems/operation/endpoint.html
@@ -180,8 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
180
206
  - !ruby/object:Gem::Version
181
207
  version: '0'
182
208
  requirements: []
183
- rubyforge_project:
184
- rubygems_version: 2.7.6
209
+ rubygems_version: 3.0.3
185
210
  signing_key:
186
211
  specification_version: 4
187
212
  summary: Endpoints handle authentication, policies, run your domain operation and
@@ -196,17 +221,41 @@ test_files:
196
221
  - test/docs/endpoint_test.rb
197
222
  - test/endpoint_test.rb
198
223
  - test/rails-app/.gitignore
224
+ - test/rails-app/.ruby-version
199
225
  - test/rails-app/Gemfile
200
226
  - test/rails-app/Gemfile.lock
201
227
  - test/rails-app/README.md
202
228
  - test/rails-app/Rakefile
229
+ - test/rails-app/app/concepts/app/api/v1/representer/errors.rb
230
+ - test/rails-app/app/concepts/auth/jwt.rb
231
+ - test/rails-app/app/concepts/auth/operation/authenticate.rb
232
+ - test/rails-app/app/concepts/auth/operation/policy.rb
233
+ - test/rails-app/app/concepts/song/cell/create.rb
234
+ - test/rails-app/app/concepts/song/cell/new.rb
235
+ - test/rails-app/app/concepts/song/operation/create.rb
236
+ - test/rails-app/app/concepts/song/operation/show.rb
237
+ - test/rails-app/app/concepts/song/representer.rb
238
+ - test/rails-app/app/concepts/song/view/create.erb
239
+ - test/rails-app/app/concepts/song/view/new.erb
240
+ - test/rails-app/app/controllers/api/v1/songs_controller.rb
203
241
  - test/rails-app/app/controllers/application_controller.rb
242
+ - test/rails-app/app/controllers/application_controller/api.rb
243
+ - test/rails-app/app/controllers/application_controller/web.rb
244
+ - test/rails-app/app/controllers/auth_controller.rb
245
+ - test/rails-app/app/controllers/home_controller.rb
204
246
  - test/rails-app/app/controllers/songs_controller.rb
205
247
  - test/rails-app/app/models/application_record.rb
206
248
  - test/rails-app/app/models/concerns/.keep
249
+ - test/rails-app/app/models/song.rb
250
+ - test/rails-app/app/models/user.rb
251
+ - test/rails-app/bin/bundle
252
+ - test/rails-app/bin/rails
253
+ - test/rails-app/bin/rake
254
+ - test/rails-app/bin/setup
207
255
  - test/rails-app/config.ru
208
256
  - test/rails-app/config/application.rb
209
257
  - test/rails-app/config/boot.rb
258
+ - test/rails-app/config/credentials.yml.enc
210
259
  - test/rails-app/config/database.yml
211
260
  - test/rails-app/config/environment.rb
212
261
  - test/rails-app/config/environments/development.rb
@@ -214,28 +263,24 @@ test_files:
214
263
  - test/rails-app/config/environments/test.rb
215
264
  - test/rails-app/config/initializers/application_controller_renderer.rb
216
265
  - test/rails-app/config/initializers/backtrace_silencers.rb
217
- - test/rails-app/config/initializers/cookies_serializer.rb
266
+ - test/rails-app/config/initializers/cors.rb
218
267
  - test/rails-app/config/initializers/filter_parameter_logging.rb
219
268
  - test/rails-app/config/initializers/inflections.rb
220
269
  - test/rails-app/config/initializers/mime_types.rb
221
- - test/rails-app/config/initializers/new_framework_defaults.rb
222
- - test/rails-app/config/initializers/session_store.rb
270
+ - test/rails-app/config/initializers/trailblazer.rb
223
271
  - test/rails-app/config/initializers/wrap_parameters.rb
224
272
  - test/rails-app/config/locales/en.yml
273
+ - test/rails-app/config/master.key
225
274
  - test/rails-app/config/routes.rb
226
- - test/rails-app/config/secrets.yml
275
+ - test/rails-app/db/schema.rb
227
276
  - test/rails-app/db/seeds.rb
228
277
  - test/rails-app/log/.keep
229
278
  - test/rails-app/test/controllers/.keep
279
+ - test/rails-app/test/controllers/api_songs_controller_test.rb
230
280
  - test/rails-app/test/controllers/songs_controller_test.rb
231
281
  - test/rails-app/test/fixtures/.keep
232
282
  - test/rails-app/test/fixtures/files/.keep
233
- - test/rails-app/test/helpers/.keep
234
- - test/rails-app/test/integration/.keep
235
- - test/rails-app/test/mailers/.keep
236
283
  - test/rails-app/test/models/.keep
237
284
  - test/rails-app/test/test_helper.rb
238
285
  - test/rails-app/tmp/.keep
239
- - test/rails-app/vendor/assets/javascripts/.keep
240
- - test/rails-app/vendor/assets/stylesheets/.keep
241
286
  - test/test_helper.rb
@@ -1,5 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Specify a serializer for the signed and encrypted cookie jars.
4
- # Valid options are :json, :marshal, and :hybrid.
5
- Rails.application.config.action_dispatch.cookies_serializer = :json
@@ -1,24 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
- #
3
- # This file contains migration options to ease your Rails 5.0 upgrade.
4
- #
5
- # Read the Rails 5.0 release notes for more info on each option.
6
-
7
- # Enable per-form CSRF tokens. Previous versions had false.
8
- Rails.application.config.action_controller.per_form_csrf_tokens = true
9
-
10
- # Enable origin-checking CSRF mitigation. Previous versions had false.
11
- Rails.application.config.action_controller.forgery_protection_origin_check = true
12
-
13
- # Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.
14
- # Previous versions had false.
15
- ActiveSupport.to_time_preserves_timezone = true
16
-
17
- # Require `belongs_to` associations by default. Previous versions had false.
18
- Rails.application.config.active_record.belongs_to_required_by_default = true
19
-
20
- # Do not halt callback chains when a callback returns false. Previous versions had true.
21
- ActiveSupport.halt_callback_chains_on_return_false = false
22
-
23
- # Configure SSL options to enable HSTS with subdomains. Previous versions had false.
24
- Rails.application.config.ssl_options = { hsts: { subdomains: true } }
@@ -1,3 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- Rails.application.config.session_store :cookie_store, key: '_rails-app_session'
@@ -1,22 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
-
3
- # Your secret key is used for verifying the integrity of signed cookies.
4
- # If you change this key, all old signed cookies will become invalid!
5
-
6
- # Make sure the secret is at least 30 characters and all random,
7
- # no regular words or you'll be exposed to dictionary attacks.
8
- # You can use `rails secret` to generate a secure secret key.
9
-
10
- # Make sure the secrets in this file are kept private
11
- # if you're sharing your code publicly.
12
-
13
- development:
14
- secret_key_base: 1b32956d5c4b81c91b20acbc5f1b3e13874e0c6617eaab7fc582aac62c7aa64680eade373d83118e2fdc248ab2b226d3bfc549286c709c4f34f31d0c4ca6fea0
15
-
16
- test:
17
- secret_key_base: 0482c39f2747ee5844978ec66786934a2486c8fbc10ef3e6c7f7a148baf255918fb07ff5752d0d189eeb644b9c76164d25b17df33fea38f24a4eae529a5f16a0
18
-
19
- # Do not keep production secrets in the repository,
20
- # instead read values from the environment.
21
- production:
22
- secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
File without changes
File without changes
File without changes