draper 4.0.2 → 4.0.5

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 (131) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +1 -2
  3. data/CHANGELOG.md +24 -0
  4. data/README.md +26 -7
  5. data/lib/draper/automatic_delegation.rb +14 -4
  6. data/lib/draper/collection_decorator.rb +0 -6
  7. data/lib/draper/compatibility/broadcastable.rb +24 -0
  8. data/lib/draper/compatibility/global_id.rb +9 -5
  9. data/lib/draper/decoratable/collection_proxy.rb +15 -0
  10. data/lib/draper/decoratable.rb +7 -2
  11. data/lib/draper/decorator.rb +2 -18
  12. data/lib/draper/query_methods.rb +1 -1
  13. data/lib/draper/railtie.rb +14 -5
  14. data/lib/draper/version.rb +1 -1
  15. data/lib/draper/view_context/build_strategy.rb +1 -9
  16. data/lib/draper.rb +0 -6
  17. metadata +16 -235
  18. data/.github/PULL_REQUEST_TEMPLATE.md +0 -24
  19. data/.github/workflows/ci.yml +0 -55
  20. data/.gitignore +0 -18
  21. data/Gemfile +0 -24
  22. data/bin/bundle +0 -114
  23. data/bin/rake +0 -29
  24. data/draper.gemspec +0 -34
  25. data/spec/draper/collection_decorator_spec.rb +0 -291
  26. data/spec/draper/configuration_spec.rb +0 -49
  27. data/spec/draper/decoratable/equality_spec.rb +0 -10
  28. data/spec/draper/decoratable_spec.rb +0 -235
  29. data/spec/draper/decorated_association_spec.rb +0 -82
  30. data/spec/draper/decorates_assigned_spec.rb +0 -71
  31. data/spec/draper/decorator_spec.rb +0 -872
  32. data/spec/draper/draper_spec.rb +0 -25
  33. data/spec/draper/factory_spec.rb +0 -247
  34. data/spec/draper/finders_spec.rb +0 -166
  35. data/spec/draper/helper_proxy_spec.rb +0 -61
  36. data/spec/draper/lazy_helpers_spec.rb +0 -21
  37. data/spec/draper/query_methods/load_strategy_spec.rb +0 -26
  38. data/spec/draper/query_methods_spec.rb +0 -70
  39. data/spec/draper/undecorate_chain_spec.rb +0 -20
  40. data/spec/draper/undecorate_spec.rb +0 -19
  41. data/spec/draper/view_context/build_strategy_spec.rb +0 -132
  42. data/spec/draper/view_context_spec.rb +0 -182
  43. data/spec/draper/view_helpers_spec.rb +0 -8
  44. data/spec/dummy/.rspec +0 -2
  45. data/spec/dummy/Rakefile +0 -7
  46. data/spec/dummy/app/assets/config/manifest.js +0 -3
  47. data/spec/dummy/app/controllers/application_controller.rb +0 -2
  48. data/spec/dummy/app/controllers/base_controller.rb +0 -4
  49. data/spec/dummy/app/controllers/localized_urls.rb +0 -5
  50. data/spec/dummy/app/controllers/posts_controller.rb +0 -20
  51. data/spec/dummy/app/decorators/mongoid_post_decorator.rb +0 -4
  52. data/spec/dummy/app/decorators/post_decorator.rb +0 -60
  53. data/spec/dummy/app/helpers/application_helper.rb +0 -5
  54. data/spec/dummy/app/jobs/publish_post_job.rb +0 -7
  55. data/spec/dummy/app/mailers/application_mailer.rb +0 -3
  56. data/spec/dummy/app/mailers/post_mailer.rb +0 -19
  57. data/spec/dummy/app/models/admin.rb +0 -5
  58. data/spec/dummy/app/models/application_record.rb +0 -3
  59. data/spec/dummy/app/models/mongoid_post.rb +0 -5
  60. data/spec/dummy/app/models/post.rb +0 -3
  61. data/spec/dummy/app/models/user.rb +0 -5
  62. data/spec/dummy/app/views/layouts/application.html.erb +0 -11
  63. data/spec/dummy/app/views/post_mailer/decorated_email.html.erb +0 -1
  64. data/spec/dummy/app/views/posts/_post.html.erb +0 -42
  65. data/spec/dummy/app/views/posts/show.html.erb +0 -1
  66. data/spec/dummy/bin/rails +0 -4
  67. data/spec/dummy/config/application.rb +0 -68
  68. data/spec/dummy/config/boot.rb +0 -5
  69. data/spec/dummy/config/database.yml +0 -25
  70. data/spec/dummy/config/environment.rb +0 -5
  71. data/spec/dummy/config/environments/development.rb +0 -35
  72. data/spec/dummy/config/environments/production.rb +0 -59
  73. data/spec/dummy/config/environments/test.rb +0 -35
  74. data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
  75. data/spec/dummy/config/initializers/draper.rb +0 -3
  76. data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  77. data/spec/dummy/config/initializers/inflections.rb +0 -15
  78. data/spec/dummy/config/initializers/mime_types.rb +0 -5
  79. data/spec/dummy/config/initializers/secret_token.rb +0 -8
  80. data/spec/dummy/config/initializers/session_store.rb +0 -8
  81. data/spec/dummy/config/locales/en.yml +0 -5
  82. data/spec/dummy/config/mongoid.yml +0 -142
  83. data/spec/dummy/config/routes.rb +0 -9
  84. data/spec/dummy/config/storage.yml +0 -7
  85. data/spec/dummy/config.ru +0 -4
  86. data/spec/dummy/db/migrate/20121019115657_create_posts.rb +0 -8
  87. data/spec/dummy/db/schema.rb +0 -21
  88. data/spec/dummy/db/seeds.rb +0 -2
  89. data/spec/dummy/fast_spec/post_decorator_spec.rb +0 -37
  90. data/spec/dummy/lib/tasks/test.rake +0 -16
  91. data/spec/dummy/log/.gitkeep +0 -0
  92. data/spec/dummy/public/404.html +0 -26
  93. data/spec/dummy/public/422.html +0 -26
  94. data/spec/dummy/public/500.html +0 -25
  95. data/spec/dummy/public/favicon.ico +0 -0
  96. data/spec/dummy/script/rails +0 -6
  97. data/spec/dummy/spec/decorators/active_model_serializers_spec.rb +0 -12
  98. data/spec/dummy/spec/decorators/devise_spec.rb +0 -55
  99. data/spec/dummy/spec/decorators/helpers_spec.rb +0 -21
  100. data/spec/dummy/spec/decorators/post_decorator_spec.rb +0 -64
  101. data/spec/dummy/spec/decorators/spec_type_spec.rb +0 -7
  102. data/spec/dummy/spec/decorators/view_context_spec.rb +0 -22
  103. data/spec/dummy/spec/jobs/publish_post_job_spec.rb +0 -9
  104. data/spec/dummy/spec/mailers/post_mailer_spec.rb +0 -25
  105. data/spec/dummy/spec/models/application_spec.rb +0 -7
  106. data/spec/dummy/spec/models/mongoid_post_spec.rb +0 -8
  107. data/spec/dummy/spec/models/post_spec.rb +0 -15
  108. data/spec/dummy/spec/shared_examples/decoratable.rb +0 -22
  109. data/spec/dummy/spec/spec_helper.rb +0 -8
  110. data/spec/dummy/test/decorators/minitest/devise_test.rb +0 -55
  111. data/spec/dummy/test/decorators/minitest/helpers_test.rb +0 -21
  112. data/spec/dummy/test/decorators/minitest/spec_type_test.rb +0 -52
  113. data/spec/dummy/test/decorators/minitest/view_context_test.rb +0 -24
  114. data/spec/dummy/test/decorators/test_unit/devise_test.rb +0 -55
  115. data/spec/dummy/test/decorators/test_unit/helpers_test.rb +0 -21
  116. data/spec/dummy/test/decorators/test_unit/view_context_test.rb +0 -24
  117. data/spec/dummy/test/minitest_helper.rb +0 -2
  118. data/spec/dummy/test/test_helper.rb +0 -3
  119. data/spec/generators/controller/controller_generator_spec.rb +0 -23
  120. data/spec/generators/decorator/decorator_generator_spec.rb +0 -93
  121. data/spec/generators/install/install_generator_spec.rb +0 -19
  122. data/spec/integration/integration_spec.rb +0 -70
  123. data/spec/performance/active_record.rb +0 -4
  124. data/spec/performance/benchmark.rb +0 -55
  125. data/spec/performance/decorators.rb +0 -45
  126. data/spec/performance/models.rb +0 -20
  127. data/spec/spec_helper.rb +0 -50
  128. data/spec/support/dummy_app.rb +0 -85
  129. data/spec/support/matchers/have_text.rb +0 -50
  130. data/spec/support/shared_examples/decoratable_equality.rb +0 -40
  131. data/spec/support/shared_examples/view_helpers.rb +0 -39
@@ -1,71 +0,0 @@
1
- require 'spec_helper'
2
-
3
- module Draper
4
- describe DecoratesAssigned do
5
- let(:controller_class) do
6
- Class.new do
7
- extend DecoratesAssigned
8
-
9
- def self.helper_method(method)
10
- helper_methods << method
11
- end
12
-
13
- def self.helper_methods
14
- @helper_methods ||= []
15
- end
16
- end
17
- end
18
-
19
- describe ".decorates_assigned" do
20
- it "adds helper methods" do
21
- controller_class.decorates_assigned :article, :author
22
-
23
- expect(controller_class.instance_methods).to include :article
24
- expect(controller_class.instance_methods).to include :author
25
-
26
- expect(controller_class.helper_methods).to include :article
27
- expect(controller_class.helper_methods).to include :author
28
- end
29
-
30
- it "creates a factory" do
31
- allow(Factory).to receive(:new).once
32
- controller_class.decorates_assigned :article, :author
33
- end
34
-
35
- it "passes options to the factory" do
36
- options = {foo: "bar"}
37
-
38
- allow(Factory).to receive(:new).with(options)
39
- controller_class.decorates_assigned :article, :author, options
40
- end
41
-
42
- describe "the generated method" do
43
- it "decorates the instance variable" do
44
- object = double
45
- factory = double
46
- allow(Factory).to receive_messages(new: factory)
47
-
48
- controller_class.decorates_assigned :article
49
- controller = controller_class.new
50
- controller.instance_variable_set "@article", object
51
-
52
- expect(factory).to receive(:decorate).with(object, context_args: controller).and_return(:decorated)
53
- expect(controller.article).to be :decorated
54
- end
55
-
56
- it "memoizes" do
57
- factory = double
58
- allow(Factory).to receive_messages(new: factory)
59
-
60
- controller_class.decorates_assigned :article
61
- controller = controller_class.new
62
-
63
- expect(factory).to receive(:decorate).once
64
- controller.article
65
- controller.article
66
- end
67
- end
68
- end
69
-
70
- end
71
- end