draper 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +16 -0
  3. data/.github/PULL_REQUEST_TEMPLATE.md +24 -0
  4. data/.gitignore +3 -1
  5. data/.rubocop.yml +11 -0
  6. data/.travis.yml +3 -7
  7. data/CHANGELOG.md +26 -0
  8. data/Gemfile +4 -5
  9. data/Guardfile +5 -5
  10. data/README.md +61 -11
  11. data/Rakefile +1 -1
  12. data/draper.gemspec +12 -10
  13. data/lib/draper.rb +8 -3
  14. data/lib/draper/automatic_delegation.rb +5 -3
  15. data/lib/draper/collection_decorator.rb +1 -11
  16. data/lib/draper/compatibility/api_only.rb +23 -0
  17. data/lib/draper/configuration.rb +15 -0
  18. data/lib/draper/decoratable.rb +3 -4
  19. data/lib/draper/decorator.rb +4 -24
  20. data/lib/draper/finders.rb +0 -0
  21. data/lib/draper/helper_proxy.rb +1 -8
  22. data/lib/draper/railtie.rb +12 -21
  23. data/lib/draper/tasks/test.rake +2 -15
  24. data/lib/draper/test/devise_helper.rb +1 -8
  25. data/lib/draper/test/minitest_integration.rb +0 -0
  26. data/lib/draper/test/rspec_integration.rb +1 -5
  27. data/lib/draper/test_case.rb +4 -8
  28. data/lib/draper/undecorate.rb +8 -0
  29. data/lib/draper/version.rb +1 -1
  30. data/lib/draper/view_context.rb +3 -19
  31. data/lib/draper/view_context/build_strategy.rb +11 -2
  32. data/lib/generators/controller_override.rb +2 -2
  33. data/lib/generators/draper/install_generator.rb +14 -0
  34. data/lib/generators/draper/templates/application_decorator.rb +8 -0
  35. data/lib/generators/mini_test/decorator_generator.rb +1 -1
  36. data/lib/generators/rails/decorator_generator.rb +1 -8
  37. data/lib/generators/rspec/templates/decorator_spec.rb +2 -2
  38. data/spec/draper/collection_decorator_spec.rb +11 -26
  39. data/spec/draper/configuration_spec.rb +25 -0
  40. data/spec/draper/decoratable_spec.rb +29 -16
  41. data/spec/draper/decorated_association_spec.rb +9 -9
  42. data/spec/draper/decorates_assigned_spec.rb +6 -6
  43. data/spec/draper/decorator_spec.rb +112 -89
  44. data/spec/draper/draper_spec.rb +24 -0
  45. data/spec/draper/factory_spec.rb +26 -26
  46. data/spec/draper/finders_spec.rb +21 -21
  47. data/spec/draper/helper_proxy_spec.rb +3 -3
  48. data/spec/draper/lazy_helpers_spec.rb +2 -2
  49. data/spec/draper/undecorate_chain_spec.rb +20 -0
  50. data/spec/draper/view_context/build_strategy_spec.rb +26 -10
  51. data/spec/draper/view_context_spec.rb +49 -21
  52. data/spec/dummy/app/controllers/base_controller.rb +4 -0
  53. data/spec/dummy/app/controllers/posts_controller.rb +2 -2
  54. data/spec/dummy/app/decorators/post_decorator.rb +0 -0
  55. data/spec/dummy/app/views/posts/_post.html.erb +8 -6
  56. data/spec/dummy/config/boot.rb +1 -1
  57. data/spec/dummy/config/initializers/draper.rb +3 -0
  58. data/spec/dummy/config/mongoid.yml +104 -41
  59. data/spec/dummy/db/schema.rb +4 -4
  60. data/spec/dummy/fast_spec/post_decorator_spec.rb +1 -1
  61. data/spec/dummy/lib/tasks/test.rake +1 -1
  62. data/spec/dummy/spec/decorators/active_model_serializers_spec.rb +4 -8
  63. data/spec/dummy/spec/decorators/devise_spec.rb +0 -9
  64. data/spec/dummy/spec/decorators/post_decorator_spec.rb +2 -4
  65. data/spec/dummy/spec/mailers/post_mailer_spec.rb +0 -8
  66. data/spec/dummy/spec/shared_examples/decoratable.rb +0 -2
  67. data/spec/dummy/test/decorators/minitest/devise_test.rb +0 -9
  68. data/spec/dummy/test/decorators/minitest/view_context_test.rb +3 -3
  69. data/spec/dummy/test/decorators/test_unit/devise_test.rb +0 -9
  70. data/spec/dummy/test/decorators/test_unit/view_context_test.rb +1 -1
  71. data/spec/generators/controller/controller_generator_spec.rb +3 -3
  72. data/spec/generators/decorator/decorator_generator_spec.rb +14 -12
  73. data/spec/generators/install/install_generator_spec.rb +19 -0
  74. data/spec/integration/integration_spec.rb +11 -8
  75. data/spec/performance/benchmark.rb +1 -1
  76. data/spec/spec_helper.rb +4 -4
  77. data/spec/support/matchers/have_text.rb +2 -2
  78. data/spec/support/shared_examples/view_helpers.rb +8 -8
  79. metadata +71 -29
  80. data/gemfiles/4.0.gemfile +0 -3
  81. data/gemfiles/4.1.gemfile +0 -3
  82. data/gemfiles/4.2.gemfile +0 -3
  83. data/spec/dummy/app/controllers/application_controller.rb +0 -4
@@ -51,14 +51,5 @@ if defined?(Devise)
51
51
 
52
52
  expect(helper.current_user).to be_nil
53
53
  end
54
-
55
- it "is backwards-compatible" do
56
- user = double("User")
57
- ActiveSupport::Deprecation.silence do
58
- sign_in user
59
- end
60
-
61
- expect(helper.current_user).to be user
62
- end
63
54
  end
64
55
  end
@@ -54,13 +54,11 @@ describe PostDecorator do
54
54
  end
55
55
 
56
56
  it "serializes to XML" do
57
- pending("Rails < 3.2 does not use `serializable_hash` in `to_xml`") if Rails.version.to_f < 3.2
58
-
59
57
  xml = Capybara.string(decorator.to_xml)
60
58
  expect(xml).to have_css "post > updated-at", text: "overridden"
61
59
  end
62
60
 
63
- it "uses a test view context from ApplicationController" do
64
- expect(Draper::ViewContext.current.controller).to be_an ApplicationController
61
+ it "uses a test view context from BaseController" do
62
+ expect(Draper::ViewContext.current.controller).to be_an BaseController
65
63
  end
66
64
  end
@@ -10,14 +10,6 @@ describe PostMailer do
10
10
  expect(email_body).to have_content "Today"
11
11
  end
12
12
 
13
- it "can use path helpers with a model" do
14
- expect(email_body).to have_css "#path_with_model", text: "/en/posts/#{post.id}"
15
- end
16
-
17
- it "can use path helpers with an id" do
18
- expect(email_body).to have_css "#path_with_id", text: "/en/posts/#{post.id}"
19
- end
20
-
21
13
  it "can use url helpers with a model" do
22
14
  expect(email_body).to have_css "#url_with_model", text: "http://www.example.com:12345/en/posts/#{post.id}"
23
15
  end
@@ -11,8 +11,6 @@ shared_examples_for "a decoratable model" do
11
11
 
12
12
  describe "#==" do
13
13
  it "is true for other instances' decorators" do
14
- pending "Mongoid < 3.1 overrides `#==`" if defined?(Mongoid) && Mongoid::VERSION.to_f < 3.1 && described_class < Mongoid::Document
15
-
16
14
  described_class.create
17
15
  one = described_class.first
18
16
  other = described_class.first
@@ -51,14 +51,5 @@ if defined?(Devise)
51
51
 
52
52
  assert helper.current_user.nil?
53
53
  end
54
-
55
- it "is backwards-compatible" do
56
- user = Object.new
57
- ActiveSupport::Deprecation.silence do
58
- sign_in user
59
- end
60
-
61
- assert_same user, helper.current_user
62
- end
63
54
  end
64
55
  end
@@ -13,12 +13,12 @@ describe "A decorator test" do
13
13
  it_does_not_leak_view_context
14
14
  end
15
15
 
16
- describe "A controller test" do
17
- tests Class.new(ActionController::Base)
16
+ describe "A controller decorator test" do
17
+ subject { Class.new(ActionController::Base) }
18
18
 
19
19
  it_does_not_leak_view_context
20
20
  end
21
21
 
22
- describe "A mailer test" do
22
+ describe "A mailer decorator test" do
23
23
  it_does_not_leak_view_context
24
24
  end
@@ -51,14 +51,5 @@ if defined?(Devise)
51
51
 
52
52
  assert helper.current_user.nil?
53
53
  end
54
-
55
- def test_backwards_compatibility
56
- user = Object.new
57
- ActiveSupport::Deprecation.silence do
58
- sign_in user
59
- end
60
-
61
- assert_same user, helper.current_user
62
- end
63
54
  end
64
55
  end
@@ -14,7 +14,7 @@ class DecoratorTest < Draper::TestCase
14
14
  end
15
15
 
16
16
  class ControllerTest < ActionController::TestCase
17
- tests Class.new(ActionController::Base)
17
+ subject{ Class.new(ActionController::Base) }
18
18
 
19
19
  it_does_not_leak_view_context
20
20
  end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
- require 'rails'
2
+ require 'dummy/config/environment'
3
3
  require 'ammeter/init'
4
4
  require 'generators/controller_override'
5
5
  require 'generators/rails/decorator_generator'
@@ -16,7 +16,7 @@ describe Rails::Generators::ControllerGenerator do
16
16
  describe "naming" do
17
17
  before { run_generator %w(YourModels) }
18
18
 
19
- it { should contain "class YourModelDecorator" }
19
+ it { is_expected.to contain "class YourModelDecorator" }
20
20
  end
21
21
  end
22
- end
22
+ end
@@ -1,5 +1,5 @@
1
1
  require 'spec_helper'
2
- require 'rails'
2
+ require 'dummy/config/environment'
3
3
  require 'ammeter/init'
4
4
  require 'generators/rails/decorator_generator'
5
5
 
@@ -15,38 +15,40 @@ describe Rails::Generators::DecoratorGenerator do
15
15
  describe "naming" do
16
16
  before { run_generator %w(YourModel) }
17
17
 
18
- it { should contain "class YourModelDecorator" }
18
+ it { is_expected.to contain "class YourModelDecorator" }
19
19
  end
20
20
 
21
21
  describe "namespacing" do
22
22
  subject { file("app/decorators/namespace/your_model_decorator.rb") }
23
23
  before { run_generator %w(Namespace::YourModel) }
24
24
 
25
- it { should contain "class Namespace::YourModelDecorator" }
25
+ it { is_expected.to contain "class Namespace::YourModelDecorator" }
26
26
  end
27
27
 
28
28
  describe "inheritance" do
29
29
  context "by default" do
30
30
  before { run_generator %w(YourModel) }
31
31
 
32
- it { should contain "class YourModelDecorator < Draper::Decorator" }
32
+ it { is_expected.to contain "class YourModelDecorator < Draper::Decorator" }
33
33
  end
34
34
 
35
35
  context "with the --parent option" do
36
36
  before { run_generator %w(YourModel --parent=FooDecorator) }
37
37
 
38
- it { should contain "class YourModelDecorator < FooDecorator" }
38
+ it { is_expected.to contain "class YourModelDecorator < FooDecorator" }
39
39
  end
40
40
 
41
41
  context "with an ApplicationDecorator" do
42
42
  before do
43
- Object.any_instance.stub(:require).with("application_decorator").and_return (
44
- stub_const "ApplicationDecorator", Class.new)
43
+ allow_any_instance_of(Object).to receive(:require)
44
+ allow_any_instance_of(Object).to receive(:require).with("application_decorator").and_return(
45
+ stub_const "ApplicationDecorator", Class.new
46
+ )
45
47
  end
46
48
 
47
49
  before { run_generator %w(YourModel) }
48
50
 
49
- it { should contain "class YourModelDecorator < ApplicationDecorator" }
51
+ it { is_expected.to contain "class YourModelDecorator < ApplicationDecorator" }
50
52
  end
51
53
  end
52
54
  end
@@ -58,14 +60,14 @@ describe Rails::Generators::DecoratorGenerator do
58
60
  describe "naming" do
59
61
  before { run_generator %w(YourModel -t=rspec) }
60
62
 
61
- it { should contain "describe YourModelDecorator" }
63
+ it { is_expected.to contain "describe YourModelDecorator" }
62
64
  end
63
65
 
64
66
  describe "namespacing" do
65
67
  subject { file("spec/decorators/namespace/your_model_decorator_spec.rb") }
66
68
  before { run_generator %w(Namespace::YourModel -t=rspec) }
67
69
 
68
- it { should contain "describe Namespace::YourModelDecorator" }
70
+ it { is_expected.to contain "describe Namespace::YourModelDecorator" }
69
71
  end
70
72
  end
71
73
  end
@@ -77,14 +79,14 @@ describe Rails::Generators::DecoratorGenerator do
77
79
  describe "naming" do
78
80
  before { run_generator %w(YourModel -t=test_unit) }
79
81
 
80
- it { should contain "class YourModelDecoratorTest < Draper::TestCase" }
82
+ it { is_expected.to contain "class YourModelDecoratorTest < Draper::TestCase" }
81
83
  end
82
84
 
83
85
  describe "namespacing" do
84
86
  subject { file("test/decorators/namespace/your_model_decorator_test.rb") }
85
87
  before { run_generator %w(Namespace::YourModel -t=test_unit) }
86
88
 
87
- it { should contain "class Namespace::YourModelDecoratorTest < Draper::TestCase" }
89
+ it { is_expected.to contain "class Namespace::YourModelDecoratorTest < Draper::TestCase" }
88
90
  end
89
91
  end
90
92
  end
@@ -0,0 +1,19 @@
1
+ require 'spec_helper'
2
+ require 'dummy/config/environment'
3
+ require 'ammeter/init'
4
+ require 'generators/draper/install_generator'
5
+
6
+ describe Draper::Generators::InstallGenerator do
7
+ destination File.expand_path('../tmp', __FILE__)
8
+
9
+ before { prepare_destination }
10
+ after(:all) { FileUtils.rm_rf destination_root }
11
+
12
+ describe 'the application decorator' do
13
+ subject { file('app/decorators/application_decorator.rb') }
14
+
15
+ before { run_generator }
16
+
17
+ it { is_expected.to contain 'class ApplicationDecorator' }
18
+ end
19
+ end
@@ -38,16 +38,19 @@ app.start_server do
38
38
  expect(page).to have_text("Goodnight, moon!").in("#goodnight_moon")
39
39
  end
40
40
 
41
- it "can be passed to path helpers" do
42
- expect(page).to have_text("/en/posts/1").in("#path_with_decorator")
43
- end
41
+ # _path helpers aren't available in mailers
42
+ if type == :view
43
+ it "can be passed to path helpers" do
44
+ expect(page).to have_text("/en/posts/1").in("#path_with_decorator")
45
+ end
44
46
 
45
- it "can use path helpers with a model" do
46
- expect(page).to have_text("/en/posts/1").in("#path_with_model")
47
- end
47
+ it "can use path helpers with a model" do
48
+ expect(page).to have_text("/en/posts/1").in("#path_with_model")
49
+ end
48
50
 
49
- it "can use path helpers with an id" do
50
- expect(page).to have_text("/en/posts/1").in("#path_with_id")
51
+ it "can use path helpers with an id" do
52
+ expect(page).to have_text("/en/posts/1").in("#path_with_id")
53
+ end
51
54
  end
52
55
 
53
56
  it "can be passed to url helpers" do
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
3
  require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])
4
- Bundler.require(:default) if defined?(Bundler)
4
+ Bundler.require :default
5
5
 
6
6
  require "benchmark"
7
7
  require "draper"
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'bundler/setup'
2
2
  require 'draper'
3
- require 'rails/version'
4
3
  require 'action_controller'
5
4
  require 'action_controller/test_case'
6
5
 
@@ -20,17 +19,18 @@ class Other < Model; end
20
19
  class ProductDecorator < Draper::Decorator; end
21
20
  class ProductsDecorator < Draper::CollectionDecorator; end
22
21
 
23
- class ProductPresenter < Draper::Decorator; end
24
-
25
22
  class OtherDecorator < Draper::Decorator; end
26
23
 
27
24
  module Namespaced
28
25
  class Product < Model; end
29
26
  class ProductDecorator < Draper::Decorator; end
30
-
27
+ ProductsDecorator = Class.new(Draper::CollectionDecorator)
31
28
  class OtherDecorator < Draper::Decorator; end
32
29
  end
33
30
 
31
+ ApplicationController = Class.new(ActionController::Base)
32
+ CustomController = Class.new(ActionController::Base)
33
+
34
34
  # After each example, revert changes made to the class
35
35
  def protect_class(klass)
36
36
  before { stub_const klass.name, Class.new(klass) }
@@ -21,11 +21,11 @@ module HaveTextMatcher
21
21
  @subject.has_css?(@css || "*", text: @text)
22
22
  end
23
23
 
24
- def failure_message_for_should
24
+ def failure_message
25
25
  "expected to find #{@text.inspect} #{within}"
26
26
  end
27
27
 
28
- def failure_message_for_should_not
28
+ def failure_message_when_negated
29
29
  "expected not to find #{@text.inspect} #{within}"
30
30
  end
31
31
 
@@ -1,38 +1,38 @@
1
1
  shared_examples_for "view helpers" do |subject|
2
2
  describe "#helpers" do
3
3
  it "returns the current view context" do
4
- Draper::ViewContext.stub current: :current_view_context
4
+ allow(Draper::ViewContext).to receive_messages current: :current_view_context
5
5
  expect(subject.helpers).to be :current_view_context
6
6
  end
7
7
 
8
8
  it "is aliased to #h" do
9
- Draper::ViewContext.stub current: :current_view_context
9
+ allow(Draper::ViewContext).to receive_messages current: :current_view_context
10
10
  expect(subject.h).to be :current_view_context
11
11
  end
12
12
  end
13
13
 
14
14
  describe "#localize" do
15
15
  it "delegates to #helpers" do
16
- subject.stub helpers: double
17
- subject.helpers.should_receive(:localize).with(:an_object, some: "parameter")
16
+ allow(subject).to receive(:helpers).and_return(double)
17
+ expect(subject.helpers).to receive(:localize).with(:an_object, some: "parameter")
18
18
  subject.localize(:an_object, some: "parameter")
19
19
  end
20
20
 
21
21
  it "is aliased to #l" do
22
- subject.stub helpers: double
23
- subject.helpers.should_receive(:localize).with(:an_object, some: "parameter")
22
+ allow(subject).to receive_messages helpers: double
23
+ expect(subject.helpers).to receive(:localize).with(:an_object, some: "parameter")
24
24
  subject.l(:an_object, some: "parameter")
25
25
  end
26
26
  end
27
27
 
28
28
  describe ".helpers" do
29
29
  it "returns the current view context" do
30
- Draper::ViewContext.stub current: :current_view_context
30
+ allow(Draper::ViewContext).to receive_messages current: :current_view_context
31
31
  expect(subject.class.helpers).to be :current_view_context
32
32
  end
33
33
 
34
34
  it "is aliased to .h" do
35
- Draper::ViewContext.stub current: :current_view_context
35
+ allow(Draper::ViewContext).to receive(:current).and_return(:current_view_context)
36
36
  expect(subject.class.h).to be :current_view_context
37
37
  end
38
38
  end
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: 2.1.0
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Casimir
@@ -9,36 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-03-27 00:00:00.000000000 Z
12
+ date: 2017-05-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
18
+ - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '3.0'
20
+ version: '5.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
- - - ">="
25
+ - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '3.0'
27
+ version: '5.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: actionpack
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '3.0'
34
+ version: '5.0'
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
- - - ">="
39
+ - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '3.0'
41
+ version: '5.0'
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: request_store
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -57,16 +57,30 @@ dependencies:
57
57
  name: activemodel
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
- - - ">="
60
+ - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '3.0'
62
+ version: '5.0'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
66
66
  requirements:
67
- - - ">="
67
+ - - "~>"
68
68
  - !ruby/object:Gem::Version
69
- version: '3.0'
69
+ version: '5.0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: activemodel-serializers-xml
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: '1.0'
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '1.0'
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: ammeter
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -87,42 +101,42 @@ dependencies:
87
101
  requirements:
88
102
  - - ">="
89
103
  - !ruby/object:Gem::Version
90
- version: 0.9.2
104
+ version: '0'
91
105
  type: :development
92
106
  prerelease: false
93
107
  version_requirements: !ruby/object:Gem::Requirement
94
108
  requirements:
95
109
  - - ">="
96
110
  - !ruby/object:Gem::Version
97
- version: 0.9.2
111
+ version: '0'
98
112
  - !ruby/object:Gem::Dependency
99
113
  name: rspec-rails
100
114
  requirement: !ruby/object:Gem::Requirement
101
115
  requirements:
102
- - - "~>"
116
+ - - ">="
103
117
  - !ruby/object:Gem::Version
104
- version: '3.2'
118
+ version: '0'
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
- - - "~>"
123
+ - - ">="
110
124
  - !ruby/object:Gem::Version
111
- version: '3.2'
125
+ version: '0'
112
126
  - !ruby/object:Gem::Dependency
113
127
  name: minitest-rails
114
128
  requirement: !ruby/object:Gem::Requirement
115
129
  requirements:
116
130
  - - ">="
117
131
  - !ruby/object:Gem::Version
118
- version: '1.0'
132
+ version: '0'
119
133
  type: :development
120
134
  prerelease: false
121
135
  version_requirements: !ruby/object:Gem::Requirement
122
136
  requirements:
123
137
  - - ">="
124
138
  - !ruby/object:Gem::Version
125
- version: '1.0'
139
+ version: '0'
126
140
  - !ruby/object:Gem::Dependency
127
141
  name: capybara
128
142
  requirement: !ruby/object:Gem::Requirement
@@ -139,6 +153,20 @@ dependencies:
139
153
  version: '0'
140
154
  - !ruby/object:Gem::Dependency
141
155
  name: active_model_serializers
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: '0.10'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '0.10'
168
+ - !ruby/object:Gem::Dependency
169
+ name: rubocop
142
170
  requirement: !ruby/object:Gem::Requirement
143
171
  requirements:
144
172
  - - ">="
@@ -160,8 +188,11 @@ executables: []
160
188
  extensions: []
161
189
  extra_rdoc_files: []
162
190
  files:
191
+ - ".codeclimate.yml"
192
+ - ".github/PULL_REQUEST_TEMPLATE.md"
163
193
  - ".gitignore"
164
194
  - ".rspec"
195
+ - ".rubocop.yml"
165
196
  - ".travis.yml"
166
197
  - ".yardopts"
167
198
  - CHANGELOG.md
@@ -172,12 +203,11 @@ files:
172
203
  - README.md
173
204
  - Rakefile
174
205
  - draper.gemspec
175
- - gemfiles/4.0.gemfile
176
- - gemfiles/4.1.gemfile
177
- - gemfiles/4.2.gemfile
178
206
  - lib/draper.rb
179
207
  - lib/draper/automatic_delegation.rb
180
208
  - lib/draper/collection_decorator.rb
209
+ - lib/draper/compatibility/api_only.rb
210
+ - lib/draper/configuration.rb
181
211
  - lib/draper/decoratable.rb
182
212
  - lib/draper/decoratable/equality.rb
183
213
  - lib/draper/decorated_association.rb
@@ -201,6 +231,8 @@ files:
201
231
  - lib/draper/view_context/build_strategy.rb
202
232
  - lib/draper/view_helpers.rb
203
233
  - lib/generators/controller_override.rb
234
+ - lib/generators/draper/install_generator.rb
235
+ - lib/generators/draper/templates/application_decorator.rb
204
236
  - lib/generators/mini_test/decorator_generator.rb
205
237
  - lib/generators/mini_test/templates/decorator_spec.rb
206
238
  - lib/generators/mini_test/templates/decorator_test.rb
@@ -211,22 +243,25 @@ files:
211
243
  - lib/generators/test_unit/decorator_generator.rb
212
244
  - lib/generators/test_unit/templates/decorator_test.rb
213
245
  - spec/draper/collection_decorator_spec.rb
246
+ - spec/draper/configuration_spec.rb
214
247
  - spec/draper/decoratable/equality_spec.rb
215
248
  - spec/draper/decoratable_spec.rb
216
249
  - spec/draper/decorated_association_spec.rb
217
250
  - spec/draper/decorates_assigned_spec.rb
218
251
  - spec/draper/decorator_spec.rb
252
+ - spec/draper/draper_spec.rb
219
253
  - spec/draper/factory_spec.rb
220
254
  - spec/draper/finders_spec.rb
221
255
  - spec/draper/helper_proxy_spec.rb
222
256
  - spec/draper/lazy_helpers_spec.rb
257
+ - spec/draper/undecorate_chain_spec.rb
223
258
  - spec/draper/undecorate_spec.rb
224
259
  - spec/draper/view_context/build_strategy_spec.rb
225
260
  - spec/draper/view_context_spec.rb
226
261
  - spec/draper/view_helpers_spec.rb
227
262
  - spec/dummy/.rspec
228
263
  - spec/dummy/Rakefile
229
- - spec/dummy/app/controllers/application_controller.rb
264
+ - spec/dummy/app/controllers/base_controller.rb
230
265
  - spec/dummy/app/controllers/localized_urls.rb
231
266
  - spec/dummy/app/controllers/posts_controller.rb
232
267
  - spec/dummy/app/decorators/mongoid_post_decorator.rb
@@ -252,6 +287,7 @@ files:
252
287
  - spec/dummy/config/environments/production.rb
253
288
  - spec/dummy/config/environments/test.rb
254
289
  - spec/dummy/config/initializers/backtrace_silencers.rb
290
+ - spec/dummy/config/initializers/draper.rb
255
291
  - spec/dummy/config/initializers/inflections.rb
256
292
  - spec/dummy/config/initializers/mime_types.rb
257
293
  - spec/dummy/config/initializers/secret_token.rb
@@ -292,6 +328,7 @@ files:
292
328
  - spec/dummy/test/test_helper.rb
293
329
  - spec/generators/controller/controller_generator_spec.rb
294
330
  - spec/generators/decorator/decorator_generator_spec.rb
331
+ - spec/generators/install/install_generator_spec.rb
295
332
  - spec/integration/integration_spec.rb
296
333
  - spec/performance/active_record.rb
297
334
  - spec/performance/benchmark.rb
@@ -314,7 +351,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
314
351
  requirements:
315
352
  - - ">="
316
353
  - !ruby/object:Gem::Version
317
- version: '0'
354
+ version: 2.2.2
318
355
  required_rubygems_version: !ruby/object:Gem::Requirement
319
356
  requirements:
320
357
  - - ">="
@@ -322,28 +359,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
322
359
  version: '0'
323
360
  requirements: []
324
361
  rubyforge_project:
325
- rubygems_version: 2.4.6
362
+ rubygems_version: 2.6.11
326
363
  signing_key:
327
364
  specification_version: 4
328
365
  summary: View Models for Rails
329
366
  test_files:
330
367
  - spec/draper/collection_decorator_spec.rb
368
+ - spec/draper/configuration_spec.rb
331
369
  - spec/draper/decoratable/equality_spec.rb
332
370
  - spec/draper/decoratable_spec.rb
333
371
  - spec/draper/decorated_association_spec.rb
334
372
  - spec/draper/decorates_assigned_spec.rb
335
373
  - spec/draper/decorator_spec.rb
374
+ - spec/draper/draper_spec.rb
336
375
  - spec/draper/factory_spec.rb
337
376
  - spec/draper/finders_spec.rb
338
377
  - spec/draper/helper_proxy_spec.rb
339
378
  - spec/draper/lazy_helpers_spec.rb
379
+ - spec/draper/undecorate_chain_spec.rb
340
380
  - spec/draper/undecorate_spec.rb
341
381
  - spec/draper/view_context/build_strategy_spec.rb
342
382
  - spec/draper/view_context_spec.rb
343
383
  - spec/draper/view_helpers_spec.rb
344
384
  - spec/dummy/.rspec
345
385
  - spec/dummy/Rakefile
346
- - spec/dummy/app/controllers/application_controller.rb
386
+ - spec/dummy/app/controllers/base_controller.rb
347
387
  - spec/dummy/app/controllers/localized_urls.rb
348
388
  - spec/dummy/app/controllers/posts_controller.rb
349
389
  - spec/dummy/app/decorators/mongoid_post_decorator.rb
@@ -369,6 +409,7 @@ test_files:
369
409
  - spec/dummy/config/environments/production.rb
370
410
  - spec/dummy/config/environments/test.rb
371
411
  - spec/dummy/config/initializers/backtrace_silencers.rb
412
+ - spec/dummy/config/initializers/draper.rb
372
413
  - spec/dummy/config/initializers/inflections.rb
373
414
  - spec/dummy/config/initializers/mime_types.rb
374
415
  - spec/dummy/config/initializers/secret_token.rb
@@ -409,6 +450,7 @@ test_files:
409
450
  - spec/dummy/test/test_helper.rb
410
451
  - spec/generators/controller/controller_generator_spec.rb
411
452
  - spec/generators/decorator/decorator_generator_spec.rb
453
+ - spec/generators/install/install_generator_spec.rb
412
454
  - spec/integration/integration_spec.rb
413
455
  - spec/performance/active_record.rb
414
456
  - spec/performance/benchmark.rb