draper 2.1.0 → 3.0.0
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.
- checksums.yaml +4 -4
- data/.codeclimate.yml +16 -0
- data/.github/PULL_REQUEST_TEMPLATE.md +24 -0
- data/.gitignore +3 -1
- data/.rubocop.yml +11 -0
- data/.travis.yml +3 -7
- data/CHANGELOG.md +26 -0
- data/Gemfile +4 -5
- data/Guardfile +5 -5
- data/README.md +61 -11
- data/Rakefile +1 -1
- data/draper.gemspec +12 -10
- data/lib/draper.rb +8 -3
- data/lib/draper/automatic_delegation.rb +5 -3
- data/lib/draper/collection_decorator.rb +1 -11
- data/lib/draper/compatibility/api_only.rb +23 -0
- data/lib/draper/configuration.rb +15 -0
- data/lib/draper/decoratable.rb +3 -4
- data/lib/draper/decorator.rb +4 -24
- data/lib/draper/finders.rb +0 -0
- data/lib/draper/helper_proxy.rb +1 -8
- data/lib/draper/railtie.rb +12 -21
- data/lib/draper/tasks/test.rake +2 -15
- data/lib/draper/test/devise_helper.rb +1 -8
- data/lib/draper/test/minitest_integration.rb +0 -0
- data/lib/draper/test/rspec_integration.rb +1 -5
- data/lib/draper/test_case.rb +4 -8
- data/lib/draper/undecorate.rb +8 -0
- data/lib/draper/version.rb +1 -1
- data/lib/draper/view_context.rb +3 -19
- data/lib/draper/view_context/build_strategy.rb +11 -2
- data/lib/generators/controller_override.rb +2 -2
- data/lib/generators/draper/install_generator.rb +14 -0
- data/lib/generators/draper/templates/application_decorator.rb +8 -0
- data/lib/generators/mini_test/decorator_generator.rb +1 -1
- data/lib/generators/rails/decorator_generator.rb +1 -8
- data/lib/generators/rspec/templates/decorator_spec.rb +2 -2
- data/spec/draper/collection_decorator_spec.rb +11 -26
- data/spec/draper/configuration_spec.rb +25 -0
- data/spec/draper/decoratable_spec.rb +29 -16
- data/spec/draper/decorated_association_spec.rb +9 -9
- data/spec/draper/decorates_assigned_spec.rb +6 -6
- data/spec/draper/decorator_spec.rb +112 -89
- data/spec/draper/draper_spec.rb +24 -0
- data/spec/draper/factory_spec.rb +26 -26
- data/spec/draper/finders_spec.rb +21 -21
- data/spec/draper/helper_proxy_spec.rb +3 -3
- data/spec/draper/lazy_helpers_spec.rb +2 -2
- data/spec/draper/undecorate_chain_spec.rb +20 -0
- data/spec/draper/view_context/build_strategy_spec.rb +26 -10
- data/spec/draper/view_context_spec.rb +49 -21
- data/spec/dummy/app/controllers/base_controller.rb +4 -0
- data/spec/dummy/app/controllers/posts_controller.rb +2 -2
- data/spec/dummy/app/decorators/post_decorator.rb +0 -0
- data/spec/dummy/app/views/posts/_post.html.erb +8 -6
- data/spec/dummy/config/boot.rb +1 -1
- data/spec/dummy/config/initializers/draper.rb +3 -0
- data/spec/dummy/config/mongoid.yml +104 -41
- data/spec/dummy/db/schema.rb +4 -4
- data/spec/dummy/fast_spec/post_decorator_spec.rb +1 -1
- data/spec/dummy/lib/tasks/test.rake +1 -1
- data/spec/dummy/spec/decorators/active_model_serializers_spec.rb +4 -8
- data/spec/dummy/spec/decorators/devise_spec.rb +0 -9
- data/spec/dummy/spec/decorators/post_decorator_spec.rb +2 -4
- data/spec/dummy/spec/mailers/post_mailer_spec.rb +0 -8
- data/spec/dummy/spec/shared_examples/decoratable.rb +0 -2
- data/spec/dummy/test/decorators/minitest/devise_test.rb +0 -9
- data/spec/dummy/test/decorators/minitest/view_context_test.rb +3 -3
- data/spec/dummy/test/decorators/test_unit/devise_test.rb +0 -9
- data/spec/dummy/test/decorators/test_unit/view_context_test.rb +1 -1
- data/spec/generators/controller/controller_generator_spec.rb +3 -3
- data/spec/generators/decorator/decorator_generator_spec.rb +14 -12
- data/spec/generators/install/install_generator_spec.rb +19 -0
- data/spec/integration/integration_spec.rb +11 -8
- data/spec/performance/benchmark.rb +1 -1
- data/spec/spec_helper.rb +4 -4
- data/spec/support/matchers/have_text.rb +2 -2
- data/spec/support/shared_examples/view_helpers.rb +8 -8
- metadata +71 -29
- data/gemfiles/4.0.gemfile +0 -3
- data/gemfiles/4.1.gemfile +0 -3
- data/gemfiles/4.2.gemfile +0 -3
- 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
|
64
|
-
expect(Draper::ViewContext.current.controller).to be_an
|
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
|
-
|
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
|
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require '
|
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 {
|
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 '
|
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 {
|
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 {
|
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 {
|
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 {
|
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.
|
44
|
-
|
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 {
|
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 {
|
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 {
|
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 {
|
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 {
|
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
|
-
|
42
|
-
|
43
|
-
|
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
|
-
|
46
|
-
|
47
|
-
|
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
|
-
|
50
|
-
|
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
|
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
|
24
|
+
def failure_message
|
25
25
|
"expected to find #{@text.inspect} #{within}"
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
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.
|
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.
|
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.
|
17
|
-
subject.helpers.
|
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.
|
23
|
-
subject.helpers.
|
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.
|
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.
|
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:
|
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:
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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: '
|
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
|
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
|
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: '
|
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: '
|
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: '
|
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: '
|
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/
|
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:
|
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.
|
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/
|
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
|