draper 4.0.2 → 4.0.6

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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -2
  3. data/CHANGELOG.md +29 -0
  4. data/README.md +26 -7
  5. data/lib/draper/automatic_delegation.rb +14 -4
  6. data/lib/draper/compatibility/broadcastable.rb +24 -0
  7. data/lib/draper/compatibility/global_id.rb +9 -5
  8. data/lib/draper/decoratable/collection_proxy.rb +15 -0
  9. data/lib/draper/decoratable.rb +7 -2
  10. data/lib/draper/query_methods.rb +1 -1
  11. data/lib/draper/railtie.rb +14 -5
  12. data/lib/draper/version.rb +1 -1
  13. data/lib/draper/view_context/build_strategy.rb +1 -9
  14. data/lib/draper.rb +0 -6
  15. metadata +16 -235
  16. data/.github/PULL_REQUEST_TEMPLATE.md +0 -24
  17. data/.github/workflows/ci.yml +0 -55
  18. data/.gitignore +0 -18
  19. data/Gemfile +0 -24
  20. data/bin/bundle +0 -114
  21. data/bin/rake +0 -29
  22. data/draper.gemspec +0 -34
  23. data/spec/draper/collection_decorator_spec.rb +0 -291
  24. data/spec/draper/configuration_spec.rb +0 -49
  25. data/spec/draper/decoratable/equality_spec.rb +0 -10
  26. data/spec/draper/decoratable_spec.rb +0 -235
  27. data/spec/draper/decorated_association_spec.rb +0 -82
  28. data/spec/draper/decorates_assigned_spec.rb +0 -71
  29. data/spec/draper/decorator_spec.rb +0 -872
  30. data/spec/draper/draper_spec.rb +0 -25
  31. data/spec/draper/factory_spec.rb +0 -247
  32. data/spec/draper/finders_spec.rb +0 -166
  33. data/spec/draper/helper_proxy_spec.rb +0 -61
  34. data/spec/draper/lazy_helpers_spec.rb +0 -21
  35. data/spec/draper/query_methods/load_strategy_spec.rb +0 -26
  36. data/spec/draper/query_methods_spec.rb +0 -70
  37. data/spec/draper/undecorate_chain_spec.rb +0 -20
  38. data/spec/draper/undecorate_spec.rb +0 -19
  39. data/spec/draper/view_context/build_strategy_spec.rb +0 -132
  40. data/spec/draper/view_context_spec.rb +0 -182
  41. data/spec/draper/view_helpers_spec.rb +0 -8
  42. data/spec/dummy/.rspec +0 -2
  43. data/spec/dummy/Rakefile +0 -7
  44. data/spec/dummy/app/assets/config/manifest.js +0 -3
  45. data/spec/dummy/app/controllers/application_controller.rb +0 -2
  46. data/spec/dummy/app/controllers/base_controller.rb +0 -4
  47. data/spec/dummy/app/controllers/localized_urls.rb +0 -5
  48. data/spec/dummy/app/controllers/posts_controller.rb +0 -20
  49. data/spec/dummy/app/decorators/mongoid_post_decorator.rb +0 -4
  50. data/spec/dummy/app/decorators/post_decorator.rb +0 -60
  51. data/spec/dummy/app/helpers/application_helper.rb +0 -5
  52. data/spec/dummy/app/jobs/publish_post_job.rb +0 -7
  53. data/spec/dummy/app/mailers/application_mailer.rb +0 -3
  54. data/spec/dummy/app/mailers/post_mailer.rb +0 -19
  55. data/spec/dummy/app/models/admin.rb +0 -5
  56. data/spec/dummy/app/models/application_record.rb +0 -3
  57. data/spec/dummy/app/models/mongoid_post.rb +0 -5
  58. data/spec/dummy/app/models/post.rb +0 -3
  59. data/spec/dummy/app/models/user.rb +0 -5
  60. data/spec/dummy/app/views/layouts/application.html.erb +0 -11
  61. data/spec/dummy/app/views/post_mailer/decorated_email.html.erb +0 -1
  62. data/spec/dummy/app/views/posts/_post.html.erb +0 -42
  63. data/spec/dummy/app/views/posts/show.html.erb +0 -1
  64. data/spec/dummy/bin/rails +0 -4
  65. data/spec/dummy/config/application.rb +0 -68
  66. data/spec/dummy/config/boot.rb +0 -5
  67. data/spec/dummy/config/database.yml +0 -25
  68. data/spec/dummy/config/environment.rb +0 -5
  69. data/spec/dummy/config/environments/development.rb +0 -35
  70. data/spec/dummy/config/environments/production.rb +0 -59
  71. data/spec/dummy/config/environments/test.rb +0 -35
  72. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  73. data/spec/dummy/config/initializers/draper.rb +0 -3
  74. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  75. data/spec/dummy/config/initializers/inflections.rb +0 -15
  76. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  77. data/spec/dummy/config/initializers/secret_token.rb +0 -8
  78. data/spec/dummy/config/initializers/session_store.rb +0 -8
  79. data/spec/dummy/config/locales/en.yml +0 -5
  80. data/spec/dummy/config/mongoid.yml +0 -142
  81. data/spec/dummy/config/routes.rb +0 -9
  82. data/spec/dummy/config/storage.yml +0 -7
  83. data/spec/dummy/config.ru +0 -4
  84. data/spec/dummy/db/migrate/20121019115657_create_posts.rb +0 -8
  85. data/spec/dummy/db/schema.rb +0 -21
  86. data/spec/dummy/db/seeds.rb +0 -2
  87. data/spec/dummy/fast_spec/post_decorator_spec.rb +0 -37
  88. data/spec/dummy/lib/tasks/test.rake +0 -16
  89. data/spec/dummy/log/.gitkeep +0 -0
  90. data/spec/dummy/public/404.html +0 -26
  91. data/spec/dummy/public/422.html +0 -26
  92. data/spec/dummy/public/500.html +0 -25
  93. data/spec/dummy/public/favicon.ico +0 -0
  94. data/spec/dummy/script/rails +0 -6
  95. data/spec/dummy/spec/decorators/active_model_serializers_spec.rb +0 -12
  96. data/spec/dummy/spec/decorators/devise_spec.rb +0 -55
  97. data/spec/dummy/spec/decorators/helpers_spec.rb +0 -21
  98. data/spec/dummy/spec/decorators/post_decorator_spec.rb +0 -64
  99. data/spec/dummy/spec/decorators/spec_type_spec.rb +0 -7
  100. data/spec/dummy/spec/decorators/view_context_spec.rb +0 -22
  101. data/spec/dummy/spec/jobs/publish_post_job_spec.rb +0 -9
  102. data/spec/dummy/spec/mailers/post_mailer_spec.rb +0 -25
  103. data/spec/dummy/spec/models/application_spec.rb +0 -7
  104. data/spec/dummy/spec/models/mongoid_post_spec.rb +0 -8
  105. data/spec/dummy/spec/models/post_spec.rb +0 -15
  106. data/spec/dummy/spec/shared_examples/decoratable.rb +0 -22
  107. data/spec/dummy/spec/spec_helper.rb +0 -8
  108. data/spec/dummy/test/decorators/minitest/devise_test.rb +0 -55
  109. data/spec/dummy/test/decorators/minitest/helpers_test.rb +0 -21
  110. data/spec/dummy/test/decorators/minitest/spec_type_test.rb +0 -52
  111. data/spec/dummy/test/decorators/minitest/view_context_test.rb +0 -24
  112. data/spec/dummy/test/decorators/test_unit/devise_test.rb +0 -55
  113. data/spec/dummy/test/decorators/test_unit/helpers_test.rb +0 -21
  114. data/spec/dummy/test/decorators/test_unit/view_context_test.rb +0 -24
  115. data/spec/dummy/test/minitest_helper.rb +0 -2
  116. data/spec/dummy/test/test_helper.rb +0 -3
  117. data/spec/generators/controller/controller_generator_spec.rb +0 -23
  118. data/spec/generators/decorator/decorator_generator_spec.rb +0 -93
  119. data/spec/generators/install/install_generator_spec.rb +0 -19
  120. data/spec/integration/integration_spec.rb +0 -70
  121. data/spec/performance/active_record.rb +0 -4
  122. data/spec/performance/benchmark.rb +0 -55
  123. data/spec/performance/decorators.rb +0 -45
  124. data/spec/performance/models.rb +0 -20
  125. data/spec/spec_helper.rb +0 -50
  126. data/spec/support/dummy_app.rb +0 -85
  127. data/spec/support/matchers/have_text.rb +0 -50
  128. data/spec/support/shared_examples/decoratable_equality.rb +0 -40
  129. data/spec/support/shared_examples/view_helpers.rb +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b009279cf28737a6fcf4027fc26f3dc2a955741c7c5e5d2220c8dcb383490e3
4
- data.tar.gz: 22455a3a7126650483af269d6a0e432a5a4465a59c762518ce78f40bcecb4286
3
+ metadata.gz: c37ab7e42fe93c37a13899d6b51f1dbddfcb7a417eaad7531a3e11d59fb63442
4
+ data.tar.gz: 3ab092943fa340ef28abfe4974960201374f92e2defa6bd1c8fd90cd495b6056
5
5
  SHA512:
6
- metadata.gz: 2fd6c0b87227c23320e9ee211b4b2001c81cbf76d103a12e5076f427954febdb2d0366d5182f16b27f5155717ad878f08671098f8b1f9986c137ec053e1637bf
7
- data.tar.gz: 260d4eccd57c623c966422cd256ab1485e1ce4bbaea05d2c6f615cdb644ab0147f00e8917b8165eba78651f279b66cde0a13da38b1c5cc9dc6a0e49822db2361
6
+ metadata.gz: d700dbac01e145361e56c8b6fbf04c93b9156492e14659ba6724fa36be20ebdac6319c2bc2910beaf68b9cbe40271808ed17c23bed2c8a76361d438cc5b35033
7
+ data.tar.gz: bd8689b7de4f934d97dc48a564795ef91e2e859b586f7561c0ba3996e0f2b7434a29d8a9e497d5248b0e28074b854befdb86f6f20858f1816474755ec14fdca3
data/.rspec CHANGED
@@ -1,2 +1 @@
1
- --color
2
- --order rand
1
+ --format progress
data/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Draper Changelog
2
2
 
3
+ ## 4.0.6 - 2025-11-15
4
+
5
+ ### Fixes
6
+ * Revert breaking change from v4.0.5
7
+
8
+ ## 4.0.5 - 2025-11-12
9
+
10
+ ### Fixes
11
+ * Remove unused files from package [#945](https://github.com/drapergem/draper/pull/945)
12
+ * Support Rails 8.1 [#949](https://github.com/drapergem/draper/pull/949)
13
+
14
+ ## 4.0.4 - 2025-01-28
15
+
16
+ ### Fixes
17
+ * Fix a `LoadError` caused by a cherry-pick issue in version 4.0.3
18
+
19
+ ## 4.0.3 - 2025-01-27
20
+
21
+ Added support for latest Ruby (upto 3.4) and Rails (upto 8) versions.
22
+
23
+ ### Fixes
24
+ * Fix `CollectionDecorator#respond_to?` for non-ORM collections [#920](https://github.com/drapergem/draper/pull/920)
25
+ * Fix issues with using Draper outside of controller scope [#927](https://github.com/drapergem/draper/pull/927)
26
+ * Fix decoration of AR associations [#932](https://github.com/drapergem/draper/pull/932)
27
+
28
+ ### Other Changes
29
+ * Improve performance of delegation via `delegate_all` [#911](https://github.com/drapergem/draper/pull/911)
30
+ * Improve README [#878](https://github.com/drapergem/draper/pull/878), [#922](https://github.com/drapergem/draper/pull/922), [#934](https://github.com/drapergem/draper/pull/934)
31
+
3
32
  ## 4.0.2 - 2021-05-27
4
33
 
5
34
  ### Fixes
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Draper: View Models for Rails
2
2
 
3
- [![Actions Status](https://github.com/drapergem/draper/workflows/CI/badge.svg?branch=master)](https://github.com/drapergem/draper/actions?query=workflow%3Aci+branch%3Amaster)
4
- [![Code Climate](https://codeclimate.com/github/drapergem/draper.svg)](https://codeclimate.com/github/drapergem/draper)
5
- [![Test Coverage](https://api.codeclimate.com/v1/badges/0d40c43951d516bf6985/test_coverage)](https://codeclimate.com/github/drapergem/draper/test_coverage)
3
+ [![Actions Status](https://github.com/drapergem/draper/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/drapergem/draper/actions?query=workflow%3Aci+branch%3Amaster)
6
4
  [![Inline docs](http://inch-ci.org/github/drapergem/draper.svg?branch=master)](http://inch-ci.org/github/drapergem/draper)
7
5
 
8
6
  Draper adds an object-oriented layer of presentation logic to your Rails
@@ -131,6 +129,17 @@ class ArticleDecorator < Draper::Decorator
131
129
  end
132
130
  ```
133
131
 
132
+
133
+ To decorate a model in a namespace e.g. `Admin::Catalogue` place the decorator under the
134
+ directory `app/decorators/admin` in the same way you would with views and models.
135
+
136
+ ```ruby
137
+ # app/decorators/admin/catalogue_decorator.rb
138
+ class Admin::CatalogueDecorator < Draper::Decorator
139
+ # ...
140
+ end
141
+ ```
142
+
134
143
  ### Generators
135
144
 
136
145
  To create an `ApplicationDecorator` that all generated decorators inherit from, run...
@@ -155,6 +164,15 @@ rails generate decorator Article
155
164
 
156
165
  ...to create the `ArticleDecorator`.
157
166
 
167
+ If you don't want Rails to generate decorator files when generating a new controller,
168
+ you can add the following configuration to your `config/application.rb` file:
169
+
170
+ ```ruby
171
+ config.generators do |g|
172
+ g.decorator false
173
+ end
174
+ ```
175
+
158
176
  ### Accessing Helpers
159
177
 
160
178
  Normal Rails helpers are still useful for lots of tasks. Both Rails' provided
@@ -652,9 +670,8 @@ you can include this module manually.
652
670
  [Active Job](http://edgeguides.rubyonrails.org/active_job_basics.html) allows you to pass ActiveRecord
653
671
  objects to background tasks directly and performs the necessary serialization and deserialization. In
654
672
  order to do this, arguments to a background job must implement [Global ID](https://github.com/rails/globalid).
655
- Decorated objects implement Global ID by delegating to the object they are decorating. This means
656
- you can pass decorated objects to background jobs, however, the object won't be decorated when it is
657
- deserialized.
673
+ Decorators implement Global ID.
674
+ This means you can pass decorated objects to background jobs, and get them just as decorated when deserialized.
658
675
 
659
676
  ## Contributors
660
677
 
@@ -664,7 +681,8 @@ great community of open source
664
681
 
665
682
  ### Current maintainers
666
683
 
667
- * Cliff Braton (cliff.braton@gmail.com)
684
+ * Alexander Senko (Alexander.Senko@gmail.com)
685
+ * Yuji Yaginuma (yuuji.yaginuma@gmail.com)
668
686
 
669
687
  ### Historical maintainers
670
688
 
@@ -673,3 +691,4 @@ great community of open source
673
691
  * Vasiliy Ermolovich
674
692
  * Andrew Haines
675
693
  * Sean Linsley
694
+ * Cliff Braton (cliff.braton@gmail.com)
@@ -18,11 +18,21 @@ module Draper
18
18
  super || delegatable?(method)
19
19
  end
20
20
 
21
- # @private
22
- def delegatable?(method)
23
- return if private_methods(false).include?(method)
21
+ # The inherit argument for `private_method_defined?` is supported since Ruby 2.6.
22
+ if RUBY_VERSION >= "2.6"
23
+ # @private
24
+ def delegatable?(method)
25
+ return if self.class.private_method_defined?(method, false)
24
26
 
25
- object.respond_to?(method)
27
+ object.respond_to?(method)
28
+ end
29
+ else
30
+ # @private
31
+ def delegatable?(method)
32
+ return if private_methods(false).include?(method)
33
+
34
+ object.respond_to?(method)
35
+ end
26
36
  end
27
37
 
28
38
  module ClassMethods
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Draper
4
+ module Compatibility
5
+ # It would look consistent to use decorated objects inside templates broadcasted with
6
+ # Turbo::Broadcastable.
7
+ #
8
+ # This compatibility patch fixes the issue by overriding the original defaults to decorate the
9
+ # object, that's passed to the partial in a local variable.
10
+ module Broadcastable
11
+ private
12
+
13
+ def broadcast_rendering_with_defaults(options)
14
+ return super unless decorator_class?
15
+
16
+ # Add the decorated current instance into the locals (see original method for details).
17
+ options[:locals] =
18
+ (options[:locals] || {}).reverse_merge!(model_name.element.to_sym => decorate)
19
+
20
+ super
21
+ end
22
+ end
23
+ end
24
+ end
@@ -5,17 +5,21 @@ module Draper
5
5
  # and deserialization. In order to do this, arguments to a background job must implement
6
6
  # [Global ID](https://github.com/rails/globalid).
7
7
  #
8
- # This compatibility patch implements Global ID for decorated objects by delegating to the object
9
- # that is decorated. This means you can pass decorated objects to background jobs, but
10
- # the object won't be decorated when it is deserialized. This patch is meant as an intermediate
11
- # fix until we can find a way to deserialize the decorated object correctly.
8
+ # This compatibility patch implements Global ID for decorated objects by defining `.find(id)`
9
+ # class method that uses the original one and decorates the result.
10
+ # This means you can pass decorated objects to background jobs and they will be decorated when
11
+ # deserialized.
12
12
  module GlobalID
13
13
  extend ActiveSupport::Concern
14
14
 
15
15
  included do
16
16
  include ::GlobalID::Identification
17
+ end
17
18
 
18
- delegate :to_global_id, :to_signed_global_id, to: :object
19
+ class_methods do
20
+ def find(*args)
21
+ object_class.find(*args).decorate
22
+ end
19
23
  end
20
24
  end
21
25
  end
@@ -0,0 +1,15 @@
1
+ module Draper
2
+ module Decoratable
3
+ module CollectionProxy
4
+ # Decorates a collection of objects. Used at the end of a scope chain.
5
+ #
6
+ # @example
7
+ # company.products.popular.decorate
8
+ # @param [Hash] options
9
+ # see {Decorator.decorate_collection}.
10
+ def decorate(options = {})
11
+ decorator_class.decorate_collection(load_target, options.reverse_merge(with: nil))
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,4 +1,5 @@
1
1
  require 'draper/decoratable/equality'
2
+ require 'draper/compatibility/broadcastable'
2
3
 
3
4
  module Draper
4
5
  # Provides shortcuts to decorate objects directly, so you can do
@@ -11,6 +12,12 @@ module Draper
11
12
  extend ActiveSupport::Concern
12
13
  include Draper::Decoratable::Equality
13
14
 
15
+ autoload :CollectionProxy, 'draper/decoratable/collection_proxy'
16
+
17
+ included do
18
+ prepend Draper::Compatibility::Broadcastable if defined? Turbo::Broadcastable
19
+ end
20
+
14
21
  # Decorates the object using the inferred {#decorator_class}.
15
22
  # @param [Hash] options
16
23
  # see {Decorator#initialize}
@@ -87,8 +94,6 @@ module Draper
87
94
  def ===(other)
88
95
  super || (other.is_a?(Draper::Decorator) && super(other.object))
89
96
  end
90
-
91
97
  end
92
-
93
98
  end
94
99
  end
@@ -10,7 +10,7 @@ module Draper
10
10
  end
11
11
 
12
12
  def respond_to_missing?(method, include_private = false)
13
- strategy.allowed?(method) || super
13
+ object.respond_to?(method) && strategy.allowed?(method) || super
14
14
  end
15
15
 
16
16
  private
@@ -33,10 +33,14 @@ module Draper
33
33
  end
34
34
 
35
35
  initializer 'draper.setup_orm' do
36
- [:active_record, :mongoid].each do |orm|
37
- ActiveSupport.on_load orm do
38
- Draper.setup_orm self
39
- end
36
+ ActiveSupport.on_load :active_record do
37
+ include Draper::Decoratable
38
+
39
+ ActiveRecord::Associations::CollectionProxy.include Draper::Decoratable::CollectionProxy
40
+ end
41
+
42
+ ActiveSupport.on_load :mongoid do
43
+ include Draper::Decoratable
40
44
  end
41
45
  end
42
46
 
@@ -52,7 +56,12 @@ module Draper
52
56
  Draper::ViewContext.build
53
57
  end
54
58
 
55
- console { initialize_view_context }
59
+ console do
60
+ initialize_view_context
61
+ if ActiveSupport.gem_version >= Gem::Version.new('8.1.0')
62
+ ActiveSupport::ExecutionContext.nestable = false
63
+ end
64
+ end
56
65
 
57
66
  runner { initialize_view_context }
58
67
 
@@ -1,3 +1,3 @@
1
1
  module Draper
2
- VERSION = '4.0.2'
2
+ VERSION = '4.0.6'
3
3
  end
@@ -38,17 +38,9 @@ module Draper
38
38
  def controller
39
39
  Draper::ViewContext.controller ||= Draper.default_controller.new
40
40
  Draper::ViewContext.controller.tap do |controller|
41
- controller.request ||= new_test_request controller if defined?(ActionController::TestRequest)
41
+ controller.request ||= ActionDispatch::TestRequest.create
42
42
  end
43
43
  end
44
-
45
- def new_test_request(controller)
46
- is_above_rails_5_1 ? ActionController::TestRequest.create(controller) : ActionController::TestRequest.create
47
- end
48
-
49
- def is_above_rails_5_1
50
- ActionController::TestRequest.method(:create).parameters.first == [:req, :controller_class]
51
- end
52
44
  end
53
45
  end
54
46
  end
data/lib/draper.rb CHANGED
@@ -51,12 +51,6 @@ module Draper
51
51
  end
52
52
  end
53
53
 
54
- def self.setup_orm(base)
55
- base.class_eval do
56
- include Draper::Decoratable
57
- end
58
- end
59
-
60
54
  class UninferrableDecoratorError < NameError
61
55
  def initialize(klass)
62
56
  super("Could not infer a decorator for #{klass}.")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: draper
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.2
4
+ version: 4.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Casimir
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-27 00:00:00.000000000 Z
12
+ date: 2025-11-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -138,7 +138,7 @@ dependencies:
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
140
  - !ruby/object:Gem::Dependency
141
- name: minitest-rails
141
+ name: rspec-activerecord-expectations
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - ">="
@@ -152,7 +152,7 @@ dependencies:
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  - !ruby/object:Gem::Dependency
155
- name: capybara
155
+ name: minitest-rails
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - ">="
@@ -166,19 +166,19 @@ dependencies:
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  - !ruby/object:Gem::Dependency
169
- name: active_model_serializers
169
+ name: capybara
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - ">="
173
173
  - !ruby/object:Gem::Version
174
- version: '0.10'
174
+ version: '0'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - ">="
180
180
  - !ruby/object:Gem::Version
181
- version: '0.10'
181
+ version: '0'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: rubocop
184
184
  requirement: !ruby/object:Gem::Requirement
@@ -197,16 +197,16 @@ dependencies:
197
197
  name: simplecov
198
198
  requirement: !ruby/object:Gem::Requirement
199
199
  requirements:
200
- - - '='
200
+ - - ">="
201
201
  - !ruby/object:Gem::Version
202
- version: 0.17.1
202
+ version: '0'
203
203
  type: :development
204
204
  prerelease: false
205
205
  version_requirements: !ruby/object:Gem::Requirement
206
206
  requirements:
207
- - - '='
207
+ - - ">="
208
208
  - !ruby/object:Gem::Version
209
- version: 0.17.1
209
+ version: '0'
210
210
  description: Draper adds an object-oriented layer of presentation logic to your Rails
211
211
  apps.
212
212
  email:
@@ -217,29 +217,24 @@ extensions: []
217
217
  extra_rdoc_files: []
218
218
  files:
219
219
  - ".codeclimate.yml"
220
- - ".github/PULL_REQUEST_TEMPLATE.md"
221
- - ".github/workflows/ci.yml"
222
- - ".gitignore"
223
220
  - ".rspec"
224
221
  - ".rubocop.yml"
225
222
  - ".yardopts"
226
223
  - CHANGELOG.md
227
224
  - CONTRIBUTING.md
228
- - Gemfile
229
225
  - Guardfile
230
226
  - LICENSE
231
227
  - README.md
232
228
  - Rakefile
233
- - bin/bundle
234
- - bin/rake
235
- - draper.gemspec
236
229
  - lib/draper.rb
237
230
  - lib/draper/automatic_delegation.rb
238
231
  - lib/draper/collection_decorator.rb
239
232
  - lib/draper/compatibility/api_only.rb
233
+ - lib/draper/compatibility/broadcastable.rb
240
234
  - lib/draper/compatibility/global_id.rb
241
235
  - lib/draper/configuration.rb
242
236
  - lib/draper/decoratable.rb
237
+ - lib/draper/decoratable/collection_proxy.rb
243
238
  - lib/draper/decoratable/equality.rb
244
239
  - lib/draper/decorated_association.rb
245
240
  - lib/draper/decorates_assigned.rb
@@ -275,114 +270,7 @@ files:
275
270
  - lib/generators/rspec/templates/decorator_spec.rb
276
271
  - lib/generators/test_unit/decorator_generator.rb
277
272
  - lib/generators/test_unit/templates/decorator_test.rb
278
- - spec/draper/collection_decorator_spec.rb
279
- - spec/draper/configuration_spec.rb
280
- - spec/draper/decoratable/equality_spec.rb
281
- - spec/draper/decoratable_spec.rb
282
- - spec/draper/decorated_association_spec.rb
283
- - spec/draper/decorates_assigned_spec.rb
284
- - spec/draper/decorator_spec.rb
285
- - spec/draper/draper_spec.rb
286
- - spec/draper/factory_spec.rb
287
- - spec/draper/finders_spec.rb
288
- - spec/draper/helper_proxy_spec.rb
289
- - spec/draper/lazy_helpers_spec.rb
290
- - spec/draper/query_methods/load_strategy_spec.rb
291
- - spec/draper/query_methods_spec.rb
292
- - spec/draper/undecorate_chain_spec.rb
293
- - spec/draper/undecorate_spec.rb
294
- - spec/draper/view_context/build_strategy_spec.rb
295
- - spec/draper/view_context_spec.rb
296
- - spec/draper/view_helpers_spec.rb
297
- - spec/dummy/.rspec
298
- - spec/dummy/Rakefile
299
- - spec/dummy/app/assets/config/manifest.js
300
- - spec/dummy/app/controllers/application_controller.rb
301
- - spec/dummy/app/controllers/base_controller.rb
302
- - spec/dummy/app/controllers/localized_urls.rb
303
- - spec/dummy/app/controllers/posts_controller.rb
304
- - spec/dummy/app/decorators/mongoid_post_decorator.rb
305
- - spec/dummy/app/decorators/post_decorator.rb
306
- - spec/dummy/app/helpers/application_helper.rb
307
- - spec/dummy/app/jobs/publish_post_job.rb
308
- - spec/dummy/app/mailers/application_mailer.rb
309
- - spec/dummy/app/mailers/post_mailer.rb
310
- - spec/dummy/app/models/admin.rb
311
- - spec/dummy/app/models/application_record.rb
312
- - spec/dummy/app/models/mongoid_post.rb
313
- - spec/dummy/app/models/post.rb
314
- - spec/dummy/app/models/user.rb
315
- - spec/dummy/app/views/layouts/application.html.erb
316
- - spec/dummy/app/views/post_mailer/decorated_email.html.erb
317
- - spec/dummy/app/views/posts/_post.html.erb
318
- - spec/dummy/app/views/posts/show.html.erb
319
- - spec/dummy/bin/rails
320
- - spec/dummy/config.ru
321
- - spec/dummy/config/application.rb
322
- - spec/dummy/config/boot.rb
323
- - spec/dummy/config/database.yml
324
- - spec/dummy/config/environment.rb
325
- - spec/dummy/config/environments/development.rb
326
- - spec/dummy/config/environments/production.rb
327
- - spec/dummy/config/environments/test.rb
328
- - spec/dummy/config/initializers/backtrace_silencers.rb
329
- - spec/dummy/config/initializers/draper.rb
330
- - spec/dummy/config/initializers/filter_parameter_logging.rb
331
- - spec/dummy/config/initializers/inflections.rb
332
- - spec/dummy/config/initializers/mime_types.rb
333
- - spec/dummy/config/initializers/secret_token.rb
334
- - spec/dummy/config/initializers/session_store.rb
335
- - spec/dummy/config/locales/en.yml
336
- - spec/dummy/config/mongoid.yml
337
- - spec/dummy/config/routes.rb
338
- - spec/dummy/config/storage.yml
339
- - spec/dummy/db/migrate/20121019115657_create_posts.rb
340
- - spec/dummy/db/schema.rb
341
- - spec/dummy/db/seeds.rb
342
- - spec/dummy/fast_spec/post_decorator_spec.rb
343
- - spec/dummy/lib/tasks/test.rake
344
- - spec/dummy/log/.gitkeep
345
- - spec/dummy/public/404.html
346
- - spec/dummy/public/422.html
347
- - spec/dummy/public/500.html
348
- - spec/dummy/public/favicon.ico
349
- - spec/dummy/script/rails
350
- - spec/dummy/spec/decorators/active_model_serializers_spec.rb
351
- - spec/dummy/spec/decorators/devise_spec.rb
352
- - spec/dummy/spec/decorators/helpers_spec.rb
353
- - spec/dummy/spec/decorators/post_decorator_spec.rb
354
- - spec/dummy/spec/decorators/spec_type_spec.rb
355
- - spec/dummy/spec/decorators/view_context_spec.rb
356
- - spec/dummy/spec/jobs/publish_post_job_spec.rb
357
- - spec/dummy/spec/mailers/post_mailer_spec.rb
358
- - spec/dummy/spec/models/application_spec.rb
359
- - spec/dummy/spec/models/mongoid_post_spec.rb
360
- - spec/dummy/spec/models/post_spec.rb
361
- - spec/dummy/spec/shared_examples/decoratable.rb
362
- - spec/dummy/spec/spec_helper.rb
363
- - spec/dummy/test/decorators/minitest/devise_test.rb
364
- - spec/dummy/test/decorators/minitest/helpers_test.rb
365
- - spec/dummy/test/decorators/minitest/spec_type_test.rb
366
- - spec/dummy/test/decorators/minitest/view_context_test.rb
367
- - spec/dummy/test/decorators/test_unit/devise_test.rb
368
- - spec/dummy/test/decorators/test_unit/helpers_test.rb
369
- - spec/dummy/test/decorators/test_unit/view_context_test.rb
370
- - spec/dummy/test/minitest_helper.rb
371
- - spec/dummy/test/test_helper.rb
372
- - spec/generators/controller/controller_generator_spec.rb
373
- - spec/generators/decorator/decorator_generator_spec.rb
374
- - spec/generators/install/install_generator_spec.rb
375
- - spec/integration/integration_spec.rb
376
- - spec/performance/active_record.rb
377
- - spec/performance/benchmark.rb
378
- - spec/performance/decorators.rb
379
- - spec/performance/models.rb
380
- - spec/spec_helper.rb
381
- - spec/support/dummy_app.rb
382
- - spec/support/matchers/have_text.rb
383
- - spec/support/shared_examples/decoratable_equality.rb
384
- - spec/support/shared_examples/view_helpers.rb
385
- homepage: http://github.com/drapergem/draper
273
+ homepage: https://github.com/drapergem/draper
386
274
  licenses:
387
275
  - MIT
388
276
  metadata: {}
@@ -401,115 +289,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
401
289
  - !ruby/object:Gem::Version
402
290
  version: '0'
403
291
  requirements: []
404
- rubygems_version: 3.0.8
292
+ rubygems_version: 3.5.23
405
293
  signing_key:
406
294
  specification_version: 4
407
295
  summary: View Models for Rails
408
- test_files:
409
- - spec/draper/collection_decorator_spec.rb
410
- - spec/draper/configuration_spec.rb
411
- - spec/draper/decoratable/equality_spec.rb
412
- - spec/draper/decoratable_spec.rb
413
- - spec/draper/decorated_association_spec.rb
414
- - spec/draper/decorates_assigned_spec.rb
415
- - spec/draper/decorator_spec.rb
416
- - spec/draper/draper_spec.rb
417
- - spec/draper/factory_spec.rb
418
- - spec/draper/finders_spec.rb
419
- - spec/draper/helper_proxy_spec.rb
420
- - spec/draper/lazy_helpers_spec.rb
421
- - spec/draper/query_methods/load_strategy_spec.rb
422
- - spec/draper/query_methods_spec.rb
423
- - spec/draper/undecorate_chain_spec.rb
424
- - spec/draper/undecorate_spec.rb
425
- - spec/draper/view_context/build_strategy_spec.rb
426
- - spec/draper/view_context_spec.rb
427
- - spec/draper/view_helpers_spec.rb
428
- - spec/dummy/.rspec
429
- - spec/dummy/Rakefile
430
- - spec/dummy/app/assets/config/manifest.js
431
- - spec/dummy/app/controllers/application_controller.rb
432
- - spec/dummy/app/controllers/base_controller.rb
433
- - spec/dummy/app/controllers/localized_urls.rb
434
- - spec/dummy/app/controllers/posts_controller.rb
435
- - spec/dummy/app/decorators/mongoid_post_decorator.rb
436
- - spec/dummy/app/decorators/post_decorator.rb
437
- - spec/dummy/app/helpers/application_helper.rb
438
- - spec/dummy/app/jobs/publish_post_job.rb
439
- - spec/dummy/app/mailers/application_mailer.rb
440
- - spec/dummy/app/mailers/post_mailer.rb
441
- - spec/dummy/app/models/admin.rb
442
- - spec/dummy/app/models/application_record.rb
443
- - spec/dummy/app/models/mongoid_post.rb
444
- - spec/dummy/app/models/post.rb
445
- - spec/dummy/app/models/user.rb
446
- - spec/dummy/app/views/layouts/application.html.erb
447
- - spec/dummy/app/views/post_mailer/decorated_email.html.erb
448
- - spec/dummy/app/views/posts/_post.html.erb
449
- - spec/dummy/app/views/posts/show.html.erb
450
- - spec/dummy/bin/rails
451
- - spec/dummy/config.ru
452
- - spec/dummy/config/application.rb
453
- - spec/dummy/config/boot.rb
454
- - spec/dummy/config/database.yml
455
- - spec/dummy/config/environment.rb
456
- - spec/dummy/config/environments/development.rb
457
- - spec/dummy/config/environments/production.rb
458
- - spec/dummy/config/environments/test.rb
459
- - spec/dummy/config/initializers/backtrace_silencers.rb
460
- - spec/dummy/config/initializers/draper.rb
461
- - spec/dummy/config/initializers/filter_parameter_logging.rb
462
- - spec/dummy/config/initializers/inflections.rb
463
- - spec/dummy/config/initializers/mime_types.rb
464
- - spec/dummy/config/initializers/secret_token.rb
465
- - spec/dummy/config/initializers/session_store.rb
466
- - spec/dummy/config/locales/en.yml
467
- - spec/dummy/config/mongoid.yml
468
- - spec/dummy/config/routes.rb
469
- - spec/dummy/config/storage.yml
470
- - spec/dummy/db/migrate/20121019115657_create_posts.rb
471
- - spec/dummy/db/schema.rb
472
- - spec/dummy/db/seeds.rb
473
- - spec/dummy/fast_spec/post_decorator_spec.rb
474
- - spec/dummy/lib/tasks/test.rake
475
- - spec/dummy/log/.gitkeep
476
- - spec/dummy/public/404.html
477
- - spec/dummy/public/422.html
478
- - spec/dummy/public/500.html
479
- - spec/dummy/public/favicon.ico
480
- - spec/dummy/script/rails
481
- - spec/dummy/spec/decorators/active_model_serializers_spec.rb
482
- - spec/dummy/spec/decorators/devise_spec.rb
483
- - spec/dummy/spec/decorators/helpers_spec.rb
484
- - spec/dummy/spec/decorators/post_decorator_spec.rb
485
- - spec/dummy/spec/decorators/spec_type_spec.rb
486
- - spec/dummy/spec/decorators/view_context_spec.rb
487
- - spec/dummy/spec/jobs/publish_post_job_spec.rb
488
- - spec/dummy/spec/mailers/post_mailer_spec.rb
489
- - spec/dummy/spec/models/application_spec.rb
490
- - spec/dummy/spec/models/mongoid_post_spec.rb
491
- - spec/dummy/spec/models/post_spec.rb
492
- - spec/dummy/spec/shared_examples/decoratable.rb
493
- - spec/dummy/spec/spec_helper.rb
494
- - spec/dummy/test/decorators/minitest/devise_test.rb
495
- - spec/dummy/test/decorators/minitest/helpers_test.rb
496
- - spec/dummy/test/decorators/minitest/spec_type_test.rb
497
- - spec/dummy/test/decorators/minitest/view_context_test.rb
498
- - spec/dummy/test/decorators/test_unit/devise_test.rb
499
- - spec/dummy/test/decorators/test_unit/helpers_test.rb
500
- - spec/dummy/test/decorators/test_unit/view_context_test.rb
501
- - spec/dummy/test/minitest_helper.rb
502
- - spec/dummy/test/test_helper.rb
503
- - spec/generators/controller/controller_generator_spec.rb
504
- - spec/generators/decorator/decorator_generator_spec.rb
505
- - spec/generators/install/install_generator_spec.rb
506
- - spec/integration/integration_spec.rb
507
- - spec/performance/active_record.rb
508
- - spec/performance/benchmark.rb
509
- - spec/performance/decorators.rb
510
- - spec/performance/models.rb
511
- - spec/spec_helper.rb
512
- - spec/support/dummy_app.rb
513
- - spec/support/matchers/have_text.rb
514
- - spec/support/shared_examples/decoratable_equality.rb
515
- - spec/support/shared_examples/view_helpers.rb
296
+ test_files: []