rails_ops 1.0.0.beta6 → 1.0.0.beta7

Sign up to get free protection for your applications and to get access to all the features.
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!