rails_ops 1.0.0.beta6 → 1.0.0.beta7

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +4 -0
  4. data/Rakefile +5 -6
  5. data/VERSION +1 -1
  6. data/lib/rails_ops/hookup.rb +9 -1
  7. data/lib/rails_ops/log_subscriber.rb +3 -6
  8. data/lib/rails_ops/model_mixins/virtual_has_one.rb +1 -5
  9. data/lib/rails_ops/model_mixins.rb +0 -1
  10. data/lib/rails_ops/operation/model.rb +1 -1
  11. data/lib/rails_ops/operation.rb +2 -2
  12. data/lib/rails_ops.rb +0 -3
  13. data/rails_ops.gemspec +11 -20
  14. data/test/dummy/Rakefile +6 -0
  15. data/test/dummy/app/assets/config/manifest.js +4 -0
  16. data/test/dummy/app/assets/images/.keep +0 -0
  17. data/test/dummy/app/assets/javascripts/application.js +13 -0
  18. data/test/dummy/app/assets/javascripts/cable.js +13 -0
  19. data/test/dummy/app/assets/javascripts/channels/.keep +0 -0
  20. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  21. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  22. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  23. data/test/dummy/app/controllers/application_controller.rb +3 -0
  24. data/test/dummy/app/controllers/concerns/.keep +0 -0
  25. data/test/dummy/app/helpers/application_helper.rb +2 -0
  26. data/test/dummy/app/jobs/application_job.rb +2 -0
  27. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  28. data/test/dummy/app/models/application_record.rb +3 -0
  29. data/test/dummy/app/models/concerns/.keep +0 -0
  30. data/test/dummy/app/models/group.rb +2 -0
  31. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  32. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  33. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  34. data/test/dummy/bin/bundle +3 -0
  35. data/test/dummy/bin/rails +4 -0
  36. data/test/dummy/bin/rake +4 -0
  37. data/test/dummy/bin/setup +37 -0
  38. data/test/dummy/bin/update +29 -0
  39. data/test/dummy/bin/yarn +11 -0
  40. data/test/dummy/config/application.rb +17 -0
  41. data/test/dummy/config/boot.rb +5 -0
  42. data/test/dummy/config/cable.yml +10 -0
  43. data/test/dummy/config/database.yml +14 -0
  44. data/test/dummy/config/environment.rb +5 -0
  45. data/test/dummy/config/environments/development.rb +54 -0
  46. data/test/dummy/config/environments/production.rb +91 -0
  47. data/test/dummy/config/environments/test.rb +42 -0
  48. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  49. data/test/dummy/config/initializers/assets.rb +14 -0
  50. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  51. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  52. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  53. data/test/dummy/config/initializers/inflections.rb +16 -0
  54. data/test/dummy/config/initializers/mime_types.rb +4 -0
  55. data/test/dummy/config/initializers/rails_ops.rb +4 -0
  56. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  57. data/test/dummy/config/locales/en.yml +33 -0
  58. data/test/dummy/config/puma.rb +56 -0
  59. data/test/dummy/config/routes.rb +3 -0
  60. data/test/dummy/config/secrets.yml +32 -0
  61. data/test/dummy/config/spring.rb +6 -0
  62. data/test/dummy/config.ru +5 -0
  63. data/test/dummy/db/schema.rb +9 -0
  64. data/test/dummy/lib/assets/.keep +0 -0
  65. data/test/dummy/log/.keep +0 -0
  66. data/test/dummy/package.json +5 -0
  67. data/test/dummy/public/404.html +67 -0
  68. data/test/dummy/public/422.html +67 -0
  69. data/test/dummy/public/500.html +66 -0
  70. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  71. data/test/dummy/public/apple-touch-icon.png +0 -0
  72. data/test/dummy/public/favicon.ico +0 -0
  73. data/test/dummy/tmp/.keep +0 -0
  74. data/test/test_helper.rb +44 -10
  75. data/test/unit/rails_ops/operation/model/create_test.rb +52 -0
  76. data/test/unit/rails_ops/operation/model/load_test.rb +54 -0
  77. data/test/unit/rails_ops/operation/model/update_test.rb +22 -0
  78. data/test/unit/rails_ops/operation/model_test.rb +67 -0
  79. data/test/unit/rails_ops/operation_test.rb +145 -0
  80. metadata +134 -49
  81. data/lib/rails_ops/model_mixins/protected_attributes.rb +0 -78
  82. data/test/rails_ops/operation/example_test.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b85c53101ae58831cb858a9aef78ac54b6f6e2a3
4
- data.tar.gz: 6b8c6b428de0fe2c8e18b873861fdff1b108907f
3
+ metadata.gz: 011b8da5d8b7bc598a885694eadcaa3f248518f2
4
+ data.tar.gz: 57d7ef1ec35e5dbb81ca990700f19f1f8feed9da
5
5
  SHA512:
6
- metadata.gz: e31badbf0d50ae5d6a569205d4ca19cf00108c7554a1722cc79a3d51d37015564b686ad6e8c61bb30b2c5cb1f67808f44707bc5a08448861c8fd354fdd6909d1
7
- data.tar.gz: d12d06cace1f6d3bf65dbb9c1af701afc05da7043d13a3a2c179542606d4325eea95625df0aeeff6ee0127bccff3368ced3bfbd640d7b5c28778f7c08fe8cdf2
6
+ metadata.gz: 8dd34957e37e7ffd782bcd825f1373bf41ebf0149a20366a7da48cd8414549fa4579ae461accfffadcde77105c863018fba7e40cfb66fdd09d6e6396c7d9b0d7
7
+ data.tar.gz: 8fb8b269aa8c5ee3222db5dd3d131f52b6866b6b3d1ec21a53109898c16d4c4796713ccff575b6217c93ace34f47ba3b7cfa79808835b63d696b0770746bbc4a
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
  /tmp/
10
10
  /bin/ruby
11
11
  /vendor/bundle
12
+ /test/dummy/tmp/
13
+ /test/dummy/log/
data/README.md CHANGED
@@ -1290,6 +1290,10 @@ setting in production mode though.
1290
1290
  Change log
1291
1291
  ----------
1292
1292
 
1293
+ ### 1.0.0.beta7
1294
+
1295
+ * #2 Get rid of protected attributes functionality
1296
+
1293
1297
  ### 1.0.0.beta6
1294
1298
 
1295
1299
  * Fix #6 Exceptions in profiler are not re-thrown
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
+
2
3
  require 'rake/testtask'
3
4
 
4
5
  task default: :test
@@ -17,14 +18,11 @@ task :gemspec do
17
18
  spec.add_development_dependency 'bundler', '~> 1.3'
18
19
  spec.add_development_dependency 'rake'
19
20
  spec.add_development_dependency 'sqlite3'
20
- spec.add_development_dependency 'yard'
21
21
  spec.add_development_dependency 'rubocop', '0.47.1'
22
- spec.add_development_dependency 'redcarpet'
23
22
  spec.add_dependency 'active_type', '~> 0.7.1'
24
23
  spec.add_dependency 'minitest'
25
- spec.add_dependency 'activesupport'
26
- spec.add_dependency 'activerecord'
27
- spec.add_dependency 'activejob'
24
+ spec.add_dependency 'rails'
25
+ spec.add_dependency 'request_store'
28
26
  spec.add_dependency 'schemacop', '~> 2.0'
29
27
  end
30
28
 
@@ -34,7 +32,8 @@ end
34
32
  require 'rake/testtask'
35
33
 
36
34
  Rake::TestTask.new do |t|
37
- t.pattern = 'test/rails_ops/**/*_test.rb'
35
+ t.pattern = 'test/unit/**/*_test.rb'
38
36
  t.verbose = false
39
37
  t.libs << 'test'
38
+ t.warning = false
40
39
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0.beta6
1
+ 1.0.0.beta7
@@ -22,7 +22,15 @@ class RailsOps::Hookup
22
22
  def load_config
23
23
  unless @config_loaded
24
24
  @config_loaded = true
25
- load Rails.root.join(CONFIG_PATH)
25
+
26
+ if File.exist?(CONFIG_PATH)
27
+ load Rails.root.join(CONFIG_PATH)
28
+ else
29
+ Rails.logger.debug "RailsOps could not find hookup #{CONFIG_PATH}, using empty hookup configuration."
30
+ draw do
31
+ # Empty
32
+ end
33
+ end
26
34
  end
27
35
 
28
36
  unless @drawn
@@ -9,16 +9,13 @@ module RailsOps
9
9
 
10
10
  return if op.class.logging_skipped?
11
11
 
12
- message = 'OP'
13
-
14
12
  profile = ::RailsOps::Profiler.node(op.object_id)
13
+
14
+ message = 'OP'
15
+ message += ' FAILED' if profile.erroneous?
15
16
  message += " (#{profile.t_self_ms.round(1)}ms / #{profile.t_kids_ms.round(1)}ms)"
16
17
  profile.free
17
18
 
18
- if profile.erroneous?
19
- message += ' (failed)'
20
- end
21
-
22
19
  color = profile.erroneous? ? RED : YELLOW
23
20
 
24
21
  message = color(message, color, true)
@@ -10,7 +10,7 @@ module RailsOps
10
10
  # https://github.com/remofritzsche/active_type/commit/fb8c2cb4cccaaec
11
11
  #
12
12
  # TODO: Document.
13
- def virtual_has_one(name, base_class, required: false, accessible: true, default: nil, type: Integer)
13
+ def virtual_has_one(name, base_class, required: false, default: nil, type: Integer)
14
14
  fk = "#{name}_id"
15
15
  attribute fk, type, default: default
16
16
 
@@ -18,10 +18,6 @@ module RailsOps
18
18
  validates fk, presence: true
19
19
  end
20
20
 
21
- if accessible
22
- attr_accessible name, fk
23
- end
24
-
25
21
  belongs_to name, anonymous_class: base_class, foreign_key: fk, class_name: base_class.name
26
22
 
27
23
  return reflect_on_association(name)
@@ -5,7 +5,6 @@ module RailsOps::ModelMixins
5
5
  included do
6
6
  include ArExtension # Provides correct behaviour of model_name when extending AR objects.
7
7
  include ParentOp # Provides parent_op accessor.
8
- include ProtectedAttributes # Provides attr_accessible and attr_protected.
9
8
  include VirtualAttributes # Provides virtual attributes functionality.
10
9
  include VirtualHasOne # Provides virtual_has_one.
11
10
  end
@@ -41,7 +41,7 @@ class RailsOps::Operation::Model < RailsOps::Operation
41
41
  # given model class, create a new model class inheriting from the
42
42
  # given one and mix in required modules.
43
43
  # ---------------------------------------------------------------
44
- if block_given? || always_extend_model_class?
44
+ if block_given? || always_extend_model_class? || name
45
45
  self._model_class = Class.new(model_class)
46
46
 
47
47
  # Include operation mixins that provide various functionality needed for
@@ -84,7 +84,7 @@ class RailsOps::Operation
84
84
  def run
85
85
  run!
86
86
  return true
87
- rescue validation_errors
87
+ rescue *validation_errors
88
88
  return false
89
89
  end
90
90
 
@@ -108,7 +108,7 @@ class RailsOps::Operation
108
108
 
109
109
  # Returns the contents of the operation as a nicely formatted string.
110
110
  def inspect
111
- inspection = self.class.name
111
+ inspection = self.class.name || '(AnonymousOp)'
112
112
  if params
113
113
  inspection << " (#{inspect_params(filtered_params)})"
114
114
  end
data/lib/rails_ops.rb CHANGED
@@ -21,8 +21,6 @@ module RailsOps
21
21
  end
22
22
 
23
23
  def self.authorization_enabled?
24
- fail 'No authorization backend is configured.' unless authorization_backend
25
-
26
24
  return false unless authorization_backend
27
25
 
28
26
  if Thread.current[AUTH_THREAD_STORAGE_KEY].nil?
@@ -79,7 +77,6 @@ require 'rails_ops/model_casting.rb'
79
77
  require 'rails_ops/model_mixins.rb'
80
78
  require 'rails_ops/model_mixins/ar_extension.rb'
81
79
  require 'rails_ops/model_mixins/parent_op.rb'
82
- require 'rails_ops/model_mixins/protected_attributes.rb'
83
80
  require 'rails_ops/model_mixins/virtual_attributes.rb'
84
81
  require 'rails_ops/model_mixins/virtual_attributes/virtual_column_wrapper.rb'
85
82
  require 'rails_ops/model_mixins/virtual_has_one.rb'
data/rails_ops.gemspec CHANGED
@@ -1,18 +1,18 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: rails_ops 1.0.0.beta6 ruby lib
2
+ # stub: rails_ops 1.0.0.beta7 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "rails_ops".freeze
6
- s.version = "1.0.0.beta6"
6
+ s.version = "1.0.0.beta7"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Sitrox".freeze]
11
- s.date = "2017-11-27"
12
- s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".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/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/protected_attributes.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/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/rails_ops/operation/example_test.rb".freeze, "test/test_helper.rb".freeze]
11
+ s.date = "2017-12-19"
12
+ s.files = [".gitignore".freeze, ".releaser_config".freeze, ".rubocop.yml".freeze, ".travis.yml".freeze, "Gemfile".freeze, "LICENSE.txt".freeze, "README.md".freeze, "RUBY_VERSION".freeze, "Rakefile".freeze, "VERSION".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/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/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/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/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.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/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_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_test.rb".freeze]
13
13
  s.rubygems_version = "2.6.6".freeze
14
14
  s.summary = "An operations service layer for rails projects.".freeze
15
- s.test_files = ["test/db/models.rb".freeze, "test/db/schema.rb".freeze, "test/rails_ops/operation/example_test.rb".freeze, "test/test_helper.rb".freeze]
15
+ s.test_files = ["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/application_record.rb".freeze, "test/dummy/app/models/concerns/.keep".freeze, "test/dummy/app/models/group.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/operation/model/create_test.rb".freeze, "test/unit/rails_ops/operation/model/load_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_test.rb".freeze]
16
16
 
17
17
  if s.respond_to? :specification_version then
18
18
  s.specification_version = 4
@@ -21,41 +21,32 @@ Gem::Specification.new do |s|
21
21
  s.add_development_dependency(%q<bundler>.freeze, ["~> 1.3"])
22
22
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
23
23
  s.add_development_dependency(%q<sqlite3>.freeze, [">= 0"])
24
- s.add_development_dependency(%q<yard>.freeze, [">= 0"])
25
24
  s.add_development_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
26
- s.add_development_dependency(%q<redcarpet>.freeze, [">= 0"])
27
25
  s.add_runtime_dependency(%q<active_type>.freeze, ["~> 0.7.1"])
28
26
  s.add_runtime_dependency(%q<minitest>.freeze, [">= 0"])
29
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
30
- s.add_runtime_dependency(%q<activerecord>.freeze, [">= 0"])
31
- s.add_runtime_dependency(%q<activejob>.freeze, [">= 0"])
27
+ s.add_runtime_dependency(%q<rails>.freeze, [">= 0"])
28
+ s.add_runtime_dependency(%q<request_store>.freeze, [">= 0"])
32
29
  s.add_runtime_dependency(%q<schemacop>.freeze, ["~> 2.0"])
33
30
  else
34
31
  s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
35
32
  s.add_dependency(%q<rake>.freeze, [">= 0"])
36
33
  s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
37
- s.add_dependency(%q<yard>.freeze, [">= 0"])
38
34
  s.add_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
39
- s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
40
35
  s.add_dependency(%q<active_type>.freeze, ["~> 0.7.1"])
41
36
  s.add_dependency(%q<minitest>.freeze, [">= 0"])
42
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
43
- s.add_dependency(%q<activerecord>.freeze, [">= 0"])
44
- s.add_dependency(%q<activejob>.freeze, [">= 0"])
37
+ s.add_dependency(%q<rails>.freeze, [">= 0"])
38
+ s.add_dependency(%q<request_store>.freeze, [">= 0"])
45
39
  s.add_dependency(%q<schemacop>.freeze, ["~> 2.0"])
46
40
  end
47
41
  else
48
42
  s.add_dependency(%q<bundler>.freeze, ["~> 1.3"])
49
43
  s.add_dependency(%q<rake>.freeze, [">= 0"])
50
44
  s.add_dependency(%q<sqlite3>.freeze, [">= 0"])
51
- s.add_dependency(%q<yard>.freeze, [">= 0"])
52
45
  s.add_dependency(%q<rubocop>.freeze, ["= 0.47.1"])
53
- s.add_dependency(%q<redcarpet>.freeze, [">= 0"])
54
46
  s.add_dependency(%q<active_type>.freeze, ["~> 0.7.1"])
55
47
  s.add_dependency(%q<minitest>.freeze, [">= 0"])
56
- s.add_dependency(%q<activesupport>.freeze, [">= 0"])
57
- s.add_dependency(%q<activerecord>.freeze, [">= 0"])
58
- s.add_dependency(%q<activejob>.freeze, [">= 0"])
48
+ s.add_dependency(%q<rails>.freeze, [">= 0"])
49
+ s.add_dependency(%q<request_store>.freeze, [">= 0"])
59
50
  s.add_dependency(%q<schemacop>.freeze, ["~> 2.0"])
60
51
  end
61
52
  end
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,4 @@
1
+
2
+ //= link_tree ../images
3
+ //= link_directory ../javascripts .js
4
+ //= link_directory ../stylesheets .css
File without changes
@@ -0,0 +1,13 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require_tree .
@@ -0,0 +1,13 @@
1
+ // Action Cable provides the framework to deal with WebSockets in Rails.
2
+ // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
+ //
4
+ //= require action_cable
5
+ //= require_self
6
+ //= require_tree ./channels
7
+
8
+ (function() {
9
+ this.App || (this.App = {});
10
+
11
+ App.cable = ActionCable.createConsumer();
12
+
13
+ }).call(this);
File without changes
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery with: :exception
3
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ module ApplicationHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
File without changes
@@ -0,0 +1,2 @@
1
+ class Group < ApplicationRecord
2
+ end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <%= csrf_meta_tags %>
6
+
7
+ <%= stylesheet_link_tag 'application', media: 'all' %>
8
+ <%= javascript_include_tag 'application' %>
9
+ </head>
10
+
11
+ <body>
12
+ <%= yield %>
13
+ </body>
14
+ </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
@@ -0,0 +1,37 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a starting point to setup your application.
15
+ # Add necessary setup steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ # Install JavaScript dependencies if using Yarn
22
+ # system('bin/yarn')
23
+
24
+ # puts "\n== Copying sample files =="
25
+ # unless File.exist?('config/database.yml')
26
+ # cp 'config/database.yml.sample', 'config/database.yml'
27
+ # end
28
+
29
+ puts "\n== Preparing database =="
30
+ system! 'bin/rails db:setup'
31
+
32
+ puts "\n== Removing old logs and tempfiles =="
33
+ system! 'bin/rails log:clear tmp:clear'
34
+
35
+ puts "\n== Restarting application server =="
36
+ system! 'bin/rails restart'
37
+ end
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a way to update your development environment automatically.
15
+ # Add necessary update steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ puts "\n== Updating database =="
22
+ system! 'bin/rails db:migrate'
23
+
24
+ puts "\n== Removing old logs and tempfiles =="
25
+ system! 'bin/rails log:clear tmp:clear'
26
+
27
+ puts "\n== Restarting application server =="
28
+ system! 'bin/rails restart'
29
+ end
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ VENDOR_PATH = File.expand_path('..', __dir__)
3
+ Dir.chdir(VENDOR_PATH) do
4
+ begin
5
+ exec "yarnpkg #{ARGV.join(' ')}"
6
+ rescue Errno::ENOENT
7
+ $stderr.puts 'Yarn executable was not detected in the system.'
8
+ $stderr.puts 'Download Yarn at https://yarnpkg.com/en/docs/install'
9
+ exit 1
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ require_relative 'boot'
2
+
3
+ require 'rails/all'
4
+
5
+ Bundler.require(*Rails.groups)
6
+ require 'rails_ops'
7
+
8
+ module Dummy
9
+ class Application < Rails::Application
10
+ # Initialize configuration defaults for originally generated Rails version.
11
+ config.load_defaults 5.1
12
+
13
+ # Settings in config/environments/* take precedence over those specified here.
14
+ # Application configuration should go into files in config/initializers
15
+ # -- all .rb files in that directory are automatically loaded.
16
+ end
17
+ end
@@ -0,0 +1,5 @@
1
+ # Set up gems listed in the Gemfile.
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__)
3
+
4
+ require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
5
+ $LOAD_PATH.unshift File.expand_path('../../../lib', __dir__)
@@ -0,0 +1,10 @@
1
+ development:
2
+ adapter: async
3
+
4
+ test:
5
+ adapter: async
6
+
7
+ production:
8
+ adapter: redis
9
+ url: redis://localhost:6379/1
10
+ channel_prefix: dummy_production
@@ -0,0 +1,14 @@
1
+ default: &default
2
+ adapter: sqlite3
3
+ pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
4
+ timeout: 5000
5
+ database: ':memory:'
6
+
7
+ development:
8
+ <<: *default
9
+
10
+ test:
11
+ <<: *default
12
+
13
+ production:
14
+ <<: *default
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require_relative 'application'
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!