rails_ops 1.1.26 → 1.1.27

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f526737c309842ce86558e77bc8ac5292d0d5e4faa82a848926cb03e725e51cf
4
- data.tar.gz: fba2d918a81609ce6c778eecfe772d0aa252932403774234718309764b2ba348
3
+ metadata.gz: 3bcce101893137c4a67443fb2f0c056695a9f31d9eddd4d8db480e2e27abb004
4
+ data.tar.gz: 360264275974a50bf59bde14c29ea5a10192d35bc7c983829a190b56aa4bc853
5
5
  SHA512:
6
- metadata.gz: a3abbc42c29d64386772eceb6095edeecf667ac65987f83acaebe9e93f9a1c6d030536130f9d5430073a6beb8f91e9162f86d0d4e624e214e2a2377ed006ef41
7
- data.tar.gz: 5c396aae16103eeec31349daf26708c6eb24b66c9cf39b29a40a1f70e7686d1b6c6b21c8e49af6c5bd000b3ad24ef18c0beb8cf088094192dbaf70a6a45fe512
6
+ metadata.gz: a3334b17bf543eb8168f13388a822e3572c9a6bb4522cc8db8d27755ffda18cccaba4a7283efc21e8d4da3bd5c5e2ab64d7eef2c5ad7478aef57b432dd23f06d
7
+ data.tar.gz: 87e7d4cc99de70f5287f1c639b9607dfac59a8fcf492225fbc3956f49f2f7f372724eb153dd9016cc2927d9e5116a0522531e681fcd577314118ecda484f7393
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.1.27 (2022-02-15)
4
+
5
+ * Add `module` option to `operation` generator
6
+
3
7
  ## 1.1.26 (2022-01-18)
4
8
 
5
9
  * #25: Add test matrix for unit tests
data/README.md CHANGED
@@ -67,15 +67,16 @@ Requirements & Installation
67
67
  following inside of the `Application` class within your
68
68
  `config/application.rb`:
69
69
 
70
- ```ruby
71
- config.paths = Rails::Paths::Root.new(Rails.root)
72
- config.paths.add 'app/models', eager_load: true
73
- config.paths.add 'app', eager_load: true
70
+ ```ruby
71
+ app_operations = "#{Rails.root}/app/operations"
72
+ ActiveSupport::Dependencies.autoload_paths.delete(app_operations)
73
+
74
+ module Operations; end
75
+ loader = Rails.autoloaders.main
76
+ loader.push_dir(app_operations, namespace: Operations)
77
+ ```
74
78
 
75
- # WARNING: Skip this if you have any script files in your lib/ directory
76
- # that will run when loaded.
77
- config.paths.add 'lib', eager_load: true
78
- ```
79
+ Taken from [this github issues comment](https://github.com/rails/rails/issues/40126#issuecomment-816275285).
79
80
 
80
81
  Operation Basics
81
82
  ----------------
@@ -1546,6 +1547,36 @@ flags:
1546
1547
 
1547
1548
  Or if you want to skip them all: `--only-operations`.
1548
1549
 
1550
+ You can also add a module as a namespace, all generated files will be put in
1551
+ the proper subfolders and modules by using the `--module` option.
1552
+
1553
+ As an example:
1554
+
1555
+ ```ruby
1556
+ rails g operation User --module Admin
1557
+ ```
1558
+
1559
+ This will generate the following operations:
1560
+
1561
+ * `app/operations/admin/user/load.rb`
1562
+ * `app/operations/admin/user/create.rb`
1563
+ * `app/operations/admin/user/update.rb`
1564
+ * `app/operations/admin/user/destroy.rb`
1565
+
1566
+ These operations will be namespaced in the `Admin` module, e.g. `app/operations/admin/user/load.rb` will define `Operations::Admin::User::Load`.
1567
+
1568
+ It will also generate the controller `app/controllers/admin/users_controller.rb` and the following
1569
+ empty view files:
1570
+
1571
+ * `app/views/admin/users/index.html.haml`
1572
+ * `app/views/admin/users/show.html.haml`
1573
+ * `app/views/admin/users/new.html.haml`
1574
+ * `app/views/admin/users/edit.html.haml`
1575
+
1576
+ Both lower- and uppercase will generate the same files (i.e. `--module Admin` and `--module admin` are equal).
1577
+
1578
+ You can even nest the generated files deeper, `--module Admin::Foo` and `--module admin/foo` will both work.
1579
+
1549
1580
  Of course, at this point, the operations will need some adaptions, especially the
1550
1581
  [parameter schemas](#validating-params), and the controllers need the logic for the
1551
1582
  success and failure cases, as this depends on your application.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.26
1
+ 1.1.27
@@ -5,13 +5,23 @@ class OperationGenerator < Rails::Generators::NamedBase
5
5
  class_option :skip_views, type: :boolean, desc: "Don't add the views."
6
6
  class_option :skip_routes, type: :boolean, desc: "Don't add routes to config/routes.rb."
7
7
  class_option :only_operations, type: :boolean, desc: 'Only add the operations. This is equal to specifying --skip-controller --skip-routes --skip-views'
8
+ class_option :module, type: :string, desc: 'Add the operations in a module, e.g. "Admin" results in namespacing everything in the Admin module'
8
9
 
9
10
  def add_operations
10
11
  @class_name = name.classify
11
12
  @underscored_name = name.underscore
12
13
  @underscored_pluralized_name = name.underscore.pluralize
13
14
 
14
- operations_path = "app/operations/#{@underscored_name}"
15
+ operations_path = 'app/operations/'
16
+
17
+ if options[:module].present?
18
+ @module_name = options[:module].classify
19
+ @module_underscored_name = @module_name.underscore
20
+
21
+ operations_path += "#{@module_underscored_name}/"
22
+ end
23
+
24
+ operations_path += @underscored_name.to_s
15
25
 
16
26
  template 'load.erb', "#{operations_path}/load.rb"
17
27
  template 'create.erb', "#{operations_path}/create.rb"
@@ -22,7 +32,11 @@ class OperationGenerator < Rails::Generators::NamedBase
22
32
  def add_controller
23
33
  return if options[:skip_controller] || options[:only_operations]
24
34
 
25
- controller_file_path = "app/controllers/#{@underscored_pluralized_name}_controller.rb"
35
+ controller_file_path = 'app/controllers/'
36
+ if @module_underscored_name.present?
37
+ controller_file_path += "#{@module_underscored_name}/"
38
+ end
39
+ controller_file_path += "#{@underscored_pluralized_name}_controller.rb"
26
40
  @controller_name = "#{@class_name.pluralize}Controller"
27
41
 
28
42
  template 'controller.erb', controller_file_path
@@ -31,7 +45,11 @@ class OperationGenerator < Rails::Generators::NamedBase
31
45
  def add_views
32
46
  return if options[:skip_views] || options[:only_operations]
33
47
 
34
- views_folder = "app/views/#{@underscored_pluralized_name}"
48
+ views_folder = 'app/views/'
49
+ if @module_underscored_name.present?
50
+ views_folder += "#{@module_underscored_name}/"
51
+ end
52
+ views_folder += @underscored_pluralized_name.to_s
35
53
 
36
54
  %w(index show new edit).each do |view|
37
55
  template 'view.erb', "#{views_folder}/#{view}.html.haml"
@@ -1,16 +1,18 @@
1
- class <%= @controller_name %> < ApplicationController
1
+ <%
2
+ controller_code = <<-RUBY
3
+ class #{@controller_name} < ApplicationController
2
4
  def index; end
3
5
 
4
6
  def show
5
- op Operations::<%= @class_name %>::Load
7
+ op Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Load
6
8
  end
7
9
 
8
10
  def new
9
- op Operations::<%= @class_name %>::Create
11
+ op Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Create
10
12
  end
11
13
 
12
14
  def create
13
- if run Operations::<%= @class_name %>::Create
15
+ if run Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Create
14
16
  # handle successful case
15
17
  else
16
18
  # handle error case
@@ -18,11 +20,11 @@ class <%= @controller_name %> < ApplicationController
18
20
  end
19
21
 
20
22
  def edit
21
- op Operations::<%= @class_name %>::Update
23
+ op Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Update
22
24
  end
23
25
 
24
26
  def update
25
- if run Operations::<%= @class_name %>::Update
27
+ if run Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Update
26
28
  # handle successful case
27
29
  else
28
30
  # handle error case
@@ -30,10 +32,25 @@ class <%= @controller_name %> < ApplicationController
30
32
  end
31
33
 
32
34
  def destroy
33
- if run Operations::<%= @class_name %>::Destroy
35
+ if run Operations#{ "::#{@module_name}" if @module_name.present? }::#{@class_name}::Destroy
34
36
  # handle successful case
35
37
  else
36
38
  # handle error case
37
39
  end
38
40
  end
39
41
  end
42
+ RUBY
43
+ -%>
44
+ <% if @module_name.present? -%>
45
+ module <%= @module_name %>
46
+ <% controller_code.split("\n").each do |line| -%>
47
+ <% if line.blank? -%>
48
+
49
+ <% else -%>
50
+ <%= line %>
51
+ <% end -%>
52
+ <% end -%>
53
+ end
54
+ <% else -%>
55
+ <%= controller_code -%>
56
+ <% end -%>
@@ -1,4 +1,8 @@
1
+ <% if @module_name.present? -%>
2
+ module Operations::<%= @module_name %>::<%= @class_name %>
3
+ <% else -%>
1
4
  module Operations::<%= @class_name %>
5
+ <% end -%>
2
6
  class Create < RailsOps::Operation::Model::Create
3
7
  schema3 do
4
8
  hsh? :<%= @underscored_name %> do
@@ -1,4 +1,8 @@
1
+ <% if @module_name.present? -%>
2
+ module Operations::<%= @module_name %>::<%= @class_name %>
3
+ <% else -%>
1
4
  module Operations::<%= @class_name %>
5
+ <% end -%>
2
6
  class Destroy < RailsOps::Operation::Model::Destroy
3
7
  schema3 do
4
8
  str! :id
@@ -1,5 +1,13 @@
1
+ <% if @module_name.present? -%>
2
+ module Operations::<%= @module_name %>::<%= @class_name %>
3
+ <% else -%>
1
4
  module Operations::<%= @class_name %>
5
+ <% end -%>
2
6
  class Load < RailsOps::Operation::Model::Load
7
+ schema3 do
8
+ str! :id
9
+ end
10
+
3
11
  model ::<%= @class_name %>
4
12
  end
5
13
  end
@@ -1,4 +1,8 @@
1
+ <% if @module_name.present? -%>
2
+ module Operations::<%= @module_name %>::<%= @class_name %>
3
+ <% else -%>
1
4
  module Operations::<%= @class_name %>
5
+ <% end -%>
2
6
  class Update < RailsOps::Operation::Model::Update
3
7
  schema3 do
4
8
  str! :id
data/rails_ops.gemspec CHANGED
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rails_ops 1.1.26 ruby lib
2
+ # stub: rails_ops 1.1.27 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rails_ops".freeze
6
- s.version = "1.1.26"
6
+ s.version = "1.1.27"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2022-01-18"
11
+ s.date = "2022-02-15"
12
12
  s.files = [".github/workflows/rubocop.yml".freeze, ".github/workflows/ruby.yml".freeze, ".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, "Appraisals".freeze, "CHANGELOG.md".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "gemfiles/rails_5.1.gemfile".freeze, "gemfiles/rails_5.2.gemfile".freeze, "gemfiles/rails_6.0.gemfile".freeze, "gemfiles/rails_6.1.gemfile".freeze, "gemfiles/rails_7.0.gemfile".freeze, "lib/generators/operation/USAGE".freeze, "lib/generators/operation/operation_generator.rb".freeze, "lib/generators/operation/templates/controller.erb".freeze, "lib/generators/operation/templates/create.erb".freeze, "lib/generators/operation/templates/destroy.erb".freeze, "lib/generators/operation/templates/load.erb".freeze, "lib/generators/operation/templates/update.erb".freeze, "lib/generators/operation/templates/view.erb".freeze, "lib/rails_ops.rb".freeze, "lib/rails_ops/authorization_backend/abstract.rb".freeze, "lib/rails_ops/authorization_backend/can_can_can.rb".freeze, "lib/rails_ops/configuration.rb".freeze, "lib/rails_ops/context.rb".freeze, "lib/rails_ops/controller_mixin.rb".freeze, "lib/rails_ops/exceptions.rb".freeze, "lib/rails_ops/hooked_job.rb".freeze, "lib/rails_ops/hookup.rb".freeze, "lib/rails_ops/hookup/dsl.rb".freeze, "lib/rails_ops/hookup/dsl_validator.rb".freeze, "lib/rails_ops/hookup/hook.rb".freeze, "lib/rails_ops/log_subscriber.rb".freeze, "lib/rails_ops/mixins.rb".freeze, "lib/rails_ops/mixins/authorization.rb".freeze, "lib/rails_ops/mixins/log_settings.rb".freeze, "lib/rails_ops/mixins/model.rb".freeze, "lib/rails_ops/mixins/model/authorization.rb".freeze, "lib/rails_ops/mixins/model/nesting.rb".freeze, "lib/rails_ops/mixins/param_authorization.rb".freeze, "lib/rails_ops/mixins/policies.rb".freeze, "lib/rails_ops/mixins/require_context.rb".freeze, "lib/rails_ops/mixins/routes.rb".freeze, "lib/rails_ops/mixins/schema_validation.rb".freeze, "lib/rails_ops/mixins/sub_ops.rb".freeze, "lib/rails_ops/model_casting.rb".freeze, "lib/rails_ops/model_mixins.rb".freeze, "lib/rails_ops/model_mixins/ar_extension.rb".freeze, "lib/rails_ops/model_mixins/parent_op.rb".freeze, "lib/rails_ops/model_mixins/sti_fixes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes.rb".freeze, "lib/rails_ops/model_mixins/virtual_attributes/virtual_column_wrapper.rb".freeze, "lib/rails_ops/model_mixins/virtual_has_one.rb".freeze, "lib/rails_ops/model_mixins/virtual_model_name.rb".freeze, "lib/rails_ops/operation.rb".freeze, "lib/rails_ops/operation/model.rb".freeze, "lib/rails_ops/operation/model/create.rb".freeze, "lib/rails_ops/operation/model/destroy.rb".freeze, "lib/rails_ops/operation/model/load.rb".freeze, "lib/rails_ops/operation/model/update.rb".freeze, "lib/rails_ops/patches/active_type_patch.rb".freeze, "lib/rails_ops/profiler.rb".freeze, "lib/rails_ops/profiler/node.rb".freeze, "lib/rails_ops/railtie.rb".freeze, "lib/rails_ops/scoped_env.rb".freeze, "lib/rails_ops/virtual_model.rb".freeze, "rails_ops.gemspec".freeze, "test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/dummy/Rakefile".freeze, "test/dummy/app/assets/config/manifest.js".freeze, "test/dummy/app/assets/images/.keep".freeze, "test/dummy/app/assets/javascripts/application.js".freeze, "test/dummy/app/assets/javascripts/cable.js".freeze, "test/dummy/app/assets/javascripts/channels/.keep".freeze, "test/dummy/app/assets/stylesheets/application.css".freeze, "test/dummy/app/channels/application_cable/channel.rb".freeze, "test/dummy/app/channels/application_cable/connection.rb".freeze, "test/dummy/app/controllers/application_controller.rb".freeze, "test/dummy/app/controllers/concerns/.keep".freeze, "test/dummy/app/helpers/application_helper.rb".freeze, "test/dummy/app/jobs/application_job.rb".freeze, "test/dummy/app/mailers/application_mailer.rb".freeze, "test/dummy/app/models/animal.rb".freeze, "test/dummy/app/models/application_record.rb".freeze, "test/dummy/app/models/bird.rb".freeze, "test/dummy/app/models/cat.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/dog.rb".freeze, "test/dummy/app/models/flower.rb".freeze, "test/dummy/app/models/group.rb".freeze, "test/dummy/app/models/nightingale.rb".freeze, "test/dummy/app/models/phoenix.rb".freeze, "test/dummy/app/models/user.rb".freeze, "test/dummy/app/views/layouts/application.html.erb".freeze, "test/dummy/app/views/layouts/mailer.html.erb".freeze, "test/dummy/app/views/layouts/mailer.text.erb".freeze, "test/dummy/bin/bundle".freeze, "test/dummy/bin/rails".freeze, "test/dummy/bin/rake".freeze, "test/dummy/bin/setup".freeze, "test/dummy/bin/update".freeze, "test/dummy/bin/yarn".freeze, "test/dummy/config.ru".freeze, "test/dummy/config/application.rb".freeze, "test/dummy/config/boot.rb".freeze, "test/dummy/config/cable.yml".freeze, "test/dummy/config/database.yml".freeze, "test/dummy/config/environment.rb".freeze, "test/dummy/config/environments/development.rb".freeze, "test/dummy/config/environments/production.rb".freeze, "test/dummy/config/environments/test.rb".freeze, "test/dummy/config/initializers/application_controller_renderer.rb".freeze, "test/dummy/config/initializers/assets.rb".freeze, "test/dummy/config/initializers/backtrace_silencers.rb".freeze, "test/dummy/config/initializers/cookies_serializer.rb".freeze, "test/dummy/config/initializers/filter_parameter_logging.rb".freeze, "test/dummy/config/initializers/inflections.rb".freeze, "test/dummy/config/initializers/mime_types.rb".freeze, "test/dummy/config/initializers/rails_ops.rb".freeze, "test/dummy/config/initializers/wrap_parameters.rb".freeze, "test/dummy/config/locales/en.yml".freeze, "test/dummy/config/puma.rb".freeze, "test/dummy/config/routes.rb".freeze, "test/dummy/config/secrets.yml".freeze, "test/dummy/config/spring.rb".freeze, "test/dummy/db/schema.rb".freeze, "test/dummy/lib/assets/.keep".freeze, "test/dummy/log/.keep".freeze, "test/dummy/package.json".freeze, "test/dummy/public/404.html".freeze, "test/dummy/public/422.html".freeze, "test/dummy/public/500.html".freeze, "test/dummy/public/apple-touch-icon-precomposed.png".freeze, "test/dummy/public/apple-touch-icon.png".freeze, "test/dummy/public/favicon.ico".freeze, "test/dummy/tmp/.keep".freeze, "test/test_helper.rb".freeze, "test/unit/rails_ops/generators/operation_generator_test.rb".freeze, "test/unit/rails_ops/mixins/model/nesting.rb".freeze, "test/unit/rails_ops/mixins/policies_test.rb".freeze, "test/unit/rails_ops/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_test.rb".freeze, "test/unit/rails_ops/operation/model/sti_test.rb".freeze, "test/unit/rails_ops/operation/model/update_test.rb".freeze, "test/unit/rails_ops/operation/model_test.rb".freeze, "test/unit/rails_ops/operation/update_auth_test.rb".freeze, "test/unit/rails_ops/operation/update_lazy_auth_test.rb".freeze, "test/unit/rails_ops/operation_test.rb".freeze]
13
13
  s.rubygems_version = "3.2.15".freeze
14
14
  s.summary = "An operations service layer for rails projects.".freeze
@@ -125,6 +125,90 @@ class OperationGeneratorTest < Rails::Generators::TestCase
125
125
  assert_routes
126
126
  end
127
127
 
128
+ def test_module_name
129
+ optiongroups = [['User', '--module=Admin'], ['User', '--module=admin']]
130
+
131
+ optiongroups.each do |optiongroup|
132
+ run_generator optiongroup
133
+
134
+ # Check that namespaced operations are generated
135
+ assert_file 'app/operations/admin/user/create.rb' do |operation|
136
+ assert_match(/module Operations::Admin::User/, operation)
137
+ assert_match(/class Create < RailsOps::Operation::Model::Create/, operation)
138
+ assert_match(/model ::User/, operation)
139
+ end
140
+ assert_file 'app/operations/admin/user/destroy.rb' do |operation|
141
+ assert_match(/module Operations::Admin::User/, operation)
142
+ assert_match(/class Destroy < RailsOps::Operation::Model::Destroy/, operation)
143
+ assert_match(/model ::User/, operation)
144
+ end
145
+ assert_file 'app/operations/admin/user/load.rb' do |operation|
146
+ assert_match(/module Operations::Admin::User/, operation)
147
+ assert_match(/class Load < RailsOps::Operation::Model::Load/, operation)
148
+ assert_match(/model ::User/, operation)
149
+ end
150
+ assert_file 'app/operations/admin/user/update.rb' do |operation|
151
+ assert_match(/module Operations::Admin::User/, operation)
152
+ assert_match(/class Update < RailsOps::Operation::Model::Update/, operation)
153
+ assert_match(/model ::User/, operation)
154
+ end
155
+
156
+ # Check that views are generated
157
+ %w(index show new edit).each do |view|
158
+ assert_file "app/views/admin/users/#{view}.html.haml"
159
+ end
160
+
161
+ # Check that the controller is generated
162
+ assert_file 'app/controllers/admin/users_controller.rb' do |controller|
163
+ assert_match(/module Admin/, controller)
164
+ assert_match(/class UsersController < ApplicationController/, controller)
165
+ end
166
+
167
+ # Check that the routes entry is added
168
+ assert_routes
169
+ end
170
+ end
171
+
172
+ def test_nested_module_name
173
+ run_generator ['User', '--module=admin/foo']
174
+
175
+ # Check that namespaced operations are generated
176
+ assert_file 'app/operations/admin/foo/user/create.rb' do |operation|
177
+ assert_match(/module Operations::Admin::Foo::User/, operation)
178
+ assert_match(/class Create < RailsOps::Operation::Model::Create/, operation)
179
+ assert_match(/model ::User/, operation)
180
+ end
181
+ assert_file 'app/operations/admin/foo/user/destroy.rb' do |operation|
182
+ assert_match(/module Operations::Admin::Foo::User/, operation)
183
+ assert_match(/class Destroy < RailsOps::Operation::Model::Destroy/, operation)
184
+ assert_match(/model ::User/, operation)
185
+ end
186
+ assert_file 'app/operations/admin/foo/user/load.rb' do |operation|
187
+ assert_match(/module Operations::Admin::Foo::User/, operation)
188
+ assert_match(/class Load < RailsOps::Operation::Model::Load/, operation)
189
+ assert_match(/model ::User/, operation)
190
+ end
191
+ assert_file 'app/operations/admin/foo/user/update.rb' do |operation|
192
+ assert_match(/module Operations::Admin::Foo::User/, operation)
193
+ assert_match(/class Update < RailsOps::Operation::Model::Update/, operation)
194
+ assert_match(/model ::User/, operation)
195
+ end
196
+
197
+ # Check that views are generated
198
+ %w(index show new edit).each do |view|
199
+ assert_file "app/views/admin/foo/users/#{view}.html.haml"
200
+ end
201
+
202
+ # Check that the controller is generated
203
+ assert_file 'app/controllers/admin/foo/users_controller.rb' do |controller|
204
+ assert_match(/module Admin::Foo/, controller)
205
+ assert_match(/class UsersController < ApplicationController/, controller)
206
+ end
207
+
208
+ # Check that the routes entry is added
209
+ assert_routes
210
+ end
211
+
128
212
  private
129
213
 
130
214
  def assert_operations
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_ops
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.26
4
+ version: 1.1.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sitrox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-18 00:00:00.000000000 Z
11
+ date: 2022-02-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal