draper 1.0.0 → 1.1.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.
- data/CHANGELOG.md +3 -0
- data/CONTRIBUTING.md +5 -1
- data/Gemfile +23 -9
- data/README.md +144 -52
- data/Rakefile +1 -0
- data/draper.gemspec +1 -1
- data/lib/draper.rb +9 -6
- data/lib/draper/decoratable.rb +3 -7
- data/lib/draper/decoratable/equality.rb +14 -0
- data/lib/draper/decorator.rb +4 -7
- data/lib/draper/helper_proxy.rb +22 -3
- data/lib/draper/test/devise_helper.rb +18 -22
- data/lib/draper/test/rspec_integration.rb +4 -0
- data/lib/draper/test_case.rb +20 -0
- data/lib/draper/version.rb +1 -1
- data/lib/draper/view_context.rb +75 -13
- data/lib/draper/view_context/build_strategy.rb +48 -0
- data/lib/draper/view_helpers.rb +2 -2
- data/spec/draper/collection_decorator_spec.rb +169 -196
- data/spec/draper/decoratable/equality_spec.rb +10 -0
- data/spec/draper/decoratable_spec.rb +107 -132
- data/spec/draper/decorated_association_spec.rb +99 -96
- data/spec/draper/decorator_spec.rb +408 -434
- data/spec/draper/finders_spec.rb +160 -126
- data/spec/draper/helper_proxy_spec.rb +38 -8
- data/spec/draper/view_context/build_strategy_spec.rb +116 -0
- data/spec/draper/view_context_spec.rb +154 -0
- data/spec/draper/view_helpers_spec.rb +4 -37
- data/spec/dummy/app/controllers/posts_controller.rb +7 -0
- data/spec/dummy/app/decorators/post_decorator.rb +26 -2
- data/spec/dummy/app/helpers/application_helper.rb +3 -0
- data/spec/dummy/app/mailers/post_mailer.rb +10 -0
- data/spec/dummy/app/models/admin.rb +5 -0
- data/spec/dummy/app/models/mongoid_post.rb +5 -0
- data/spec/dummy/app/models/user.rb +5 -0
- data/spec/dummy/app/views/posts/_post.html.erb +15 -0
- data/spec/dummy/bin/rails +4 -0
- data/spec/dummy/config/application.rb +9 -3
- data/spec/dummy/config/boot.rb +2 -7
- data/spec/dummy/config/environments/development.rb +2 -3
- data/spec/dummy/config/environments/production.rb +2 -0
- data/spec/dummy/config/environments/test.rb +3 -4
- data/spec/dummy/config/initializers/secret_token.rb +1 -0
- data/spec/dummy/config/mongoid.yml +80 -0
- data/spec/dummy/config/routes.rb +2 -0
- data/spec/dummy/fast_spec/post_decorator_spec.rb +38 -0
- data/spec/dummy/lib/tasks/test.rake +11 -5
- data/spec/dummy/spec/decorators/devise_spec.rb +64 -0
- data/spec/dummy/spec/decorators/helpers_spec.rb +21 -0
- data/spec/dummy/spec/decorators/post_decorator_spec.rb +26 -6
- data/spec/dummy/spec/decorators/spec_type_spec.rb +7 -0
- data/spec/dummy/spec/decorators/view_context_spec.rb +22 -0
- data/spec/dummy/spec/mailers/post_mailer_spec.rb +10 -6
- data/spec/dummy/spec/models/mongoid_post_spec.rb +10 -0
- data/spec/dummy/spec/models/post_spec.rb +5 -5
- data/spec/dummy/spec/spec_helper.rb +1 -0
- data/spec/dummy/test/decorators/minitest/devise_test.rb +64 -0
- data/spec/dummy/test/decorators/minitest/helpers_test.rb +21 -0
- data/spec/dummy/{mini_test/mini_test_integration_test.rb → test/decorators/minitest/spec_type_test.rb} +9 -3
- data/spec/dummy/test/decorators/minitest/view_context_test.rb +24 -0
- data/spec/dummy/test/decorators/test_unit/devise_test.rb +64 -0
- data/spec/dummy/test/decorators/test_unit/helpers_test.rb +21 -0
- data/spec/dummy/test/decorators/test_unit/view_context_test.rb +24 -0
- data/spec/dummy/test/minitest_helper.rb +4 -0
- data/spec/dummy/test/test_helper.rb +3 -0
- data/spec/generators/decorator/decorator_generator_spec.rb +1 -0
- data/spec/integration/integration_spec.rb +31 -6
- data/spec/spec_helper.rb +32 -25
- data/spec/support/shared_examples/decoratable_equality.rb +40 -0
- data/spec/support/shared_examples/view_helpers.rb +39 -0
- metadata +56 -44
- data/spec/dummy/README.rdoc +0 -261
- data/spec/dummy/spec/decorators/rspec_integration_spec.rb +0 -19
- data/spec/support/action_controller.rb +0 -12
- data/spec/support/active_model.rb +0 -7
- data/spec/support/active_record.rb +0 -9
- data/spec/support/decorators/decorator_with_application_helper.rb +0 -25
- data/spec/support/decorators/namespaced_product_decorator.rb +0 -5
- data/spec/support/decorators/non_active_model_product_decorator.rb +0 -2
- data/spec/support/decorators/product_decorator.rb +0 -23
- data/spec/support/decorators/products_decorator.rb +0 -10
- data/spec/support/decorators/some_thing_decorator.rb +0 -2
- data/spec/support/decorators/specific_product_decorator.rb +0 -2
- data/spec/support/decorators/widget_decorator.rb +0 -2
- data/spec/support/models/namespaced_product.rb +0 -49
- data/spec/support/models/non_active_model_product.rb +0 -3
- data/spec/support/models/product.rb +0 -95
- data/spec/support/models/some_thing.rb +0 -5
- data/spec/support/models/uninferrable_decorator_model.rb +0 -3
- data/spec/support/models/widget.rb +0 -2
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
if defined?(Devise)
|
4
|
+
class DeviseTest < Draper::TestCase
|
5
|
+
def test_sign_in_a_real_user
|
6
|
+
user = User.new
|
7
|
+
sign_in user
|
8
|
+
|
9
|
+
assert_same user, helper.current_user
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_sign_in_a_mock_user
|
13
|
+
user = Object.new
|
14
|
+
sign_in :user, user
|
15
|
+
|
16
|
+
assert_same user, helper.current_user
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_sign_in_a_real_admin
|
20
|
+
admin = Admin.new
|
21
|
+
sign_in admin
|
22
|
+
|
23
|
+
assert_same admin, helper.current_admin
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_sign_in_a_mock_admin
|
27
|
+
admin = Object.new
|
28
|
+
sign_in :admin, admin
|
29
|
+
|
30
|
+
assert_same admin, helper.current_admin
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_sign_out_a_real_user
|
34
|
+
user = User.new
|
35
|
+
sign_in user
|
36
|
+
sign_out user
|
37
|
+
|
38
|
+
assert helper.current_user.nil?
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_sign_out_a_mock_user
|
42
|
+
user = Object.new
|
43
|
+
sign_in :user, user
|
44
|
+
sign_out :user
|
45
|
+
|
46
|
+
assert helper.current_user.nil?
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_sign_out_without_a_user
|
50
|
+
sign_out :user
|
51
|
+
|
52
|
+
assert helper.current_user.nil?
|
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
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
class HelpersTest < Draper::TestCase
|
4
|
+
def test_access_helpers_through_helper
|
5
|
+
assert_equal "<p>Help!</p>", helper.content_tag(:p, "Help!")
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_access_helpers_through_helpers
|
9
|
+
assert_equal "<p>Help!</p>", helpers.content_tag(:p, "Help!")
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_access_helpers_through_h
|
13
|
+
assert_equal "<p>Help!</p>", h.content_tag(:p, "Help!")
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_same_helper_object_as_decorators
|
17
|
+
decorator = Draper::Decorator.new(Object.new)
|
18
|
+
|
19
|
+
assert_same decorator.helpers, helpers
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
def it_does_not_leak_view_context
|
4
|
+
2.times do |n|
|
5
|
+
define_method("test_has_independent_view_context_#{n}") do
|
6
|
+
refute_equal :leaked, Draper::ViewContext.current
|
7
|
+
Draper::ViewContext.current = :leaked
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
class DecoratorTest < Draper::TestCase
|
13
|
+
it_does_not_leak_view_context
|
14
|
+
end
|
15
|
+
|
16
|
+
class ControllerTest < ActionController::TestCase
|
17
|
+
tests Class.new(ActionController::Base)
|
18
|
+
|
19
|
+
it_does_not_leak_view_context
|
20
|
+
end
|
21
|
+
|
22
|
+
class MailerTest < ActionMailer::TestCase
|
23
|
+
it_does_not_leak_view_context
|
24
|
+
end
|
@@ -3,30 +3,55 @@ require 'support/dummy_app'
|
|
3
3
|
require 'support/matchers/have_text'
|
4
4
|
|
5
5
|
app = DummyApp.new(ENV["RAILS_ENV"])
|
6
|
+
spec_types = {
|
7
|
+
view: ["/posts/1", "PostsController"],
|
8
|
+
mailer: ["/posts/1/mail", "PostMailer"]
|
9
|
+
}
|
6
10
|
|
7
11
|
app.start_server do
|
8
|
-
|
12
|
+
spec_types.each do |type, (path, controller)|
|
9
13
|
page = app.get(path)
|
10
14
|
|
11
15
|
describe "in a #{type}" do
|
12
16
|
it "runs in the correct environment" do
|
13
|
-
page.
|
17
|
+
expect(page).to have_text(app.environment).in("#environment")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "uses the correct view context controller" do
|
21
|
+
expect(page).to have_text(controller).in("#controller")
|
22
|
+
end
|
23
|
+
|
24
|
+
it "can use built-in helpers" do
|
25
|
+
expect(page).to have_text("Once upon a...").in("#truncated")
|
26
|
+
end
|
27
|
+
|
28
|
+
it "can use built-in private helpers" do
|
29
|
+
# Nokogiri unescapes text!
|
30
|
+
expect(page).to have_text("<script>danger</script>").in("#html_escaped")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "can use user-defined helpers from app/helpers" do
|
34
|
+
expect(page).to have_text("Hello, world!").in("#hello_world")
|
35
|
+
end
|
36
|
+
|
37
|
+
it "can use user-defined helpers from the controller" do
|
38
|
+
expect(page).to have_text("Goodnight, moon!").in("#goodnight_moon")
|
14
39
|
end
|
15
40
|
|
16
41
|
it "can use path helpers with a model" do
|
17
|
-
page.
|
42
|
+
expect(page).to have_text("/en/posts/1").in("#path_with_model")
|
18
43
|
end
|
19
44
|
|
20
45
|
it "can use path helpers with an id" do
|
21
|
-
page.
|
46
|
+
expect(page).to have_text("/en/posts/1").in("#path_with_id")
|
22
47
|
end
|
23
48
|
|
24
49
|
it "can use url helpers with a model" do
|
25
|
-
page.
|
50
|
+
expect(page).to have_text("http://www.example.com:12345/en/posts/1").in("#url_with_model")
|
26
51
|
end
|
27
52
|
|
28
53
|
it "can use url helpers with an id" do
|
29
|
-
page.
|
54
|
+
expect(page).to have_text("http://www.example.com:12345/en/posts/1").in("#url_with_id")
|
30
55
|
end
|
31
56
|
end
|
32
57
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,29 +1,36 @@
|
|
1
1
|
require 'bundler/setup'
|
2
|
-
require '
|
3
|
-
require 'rails'
|
4
|
-
|
5
|
-
require 'action_view'
|
2
|
+
require 'draper'
|
6
3
|
require 'action_controller'
|
7
4
|
require 'action_controller/test_case'
|
8
5
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
6
|
+
RSpec.configure do |config|
|
7
|
+
config.treat_symbols_as_metadata_keys_with_true_values = true
|
8
|
+
config.expect_with(:rspec) {|c| c.syntax = :expect}
|
9
|
+
config.order = :random
|
10
|
+
end
|
11
|
+
|
12
|
+
class Model; include Draper::Decoratable; end
|
13
|
+
|
14
|
+
class Product < Model; end
|
15
|
+
class ProductDecorator < Draper::Decorator; end
|
16
|
+
class ProductsDecorator < Draper::CollectionDecorator; end
|
17
|
+
|
18
|
+
class ProductPresenter < Draper::Decorator; end
|
19
|
+
|
20
|
+
class OtherDecorator < Draper::Decorator; end
|
21
|
+
|
22
|
+
module Namespaced
|
23
|
+
class Product < Model; end
|
24
|
+
class ProductDecorator < Draper::Decorator; end
|
25
|
+
|
26
|
+
class OtherDecorator < Draper::Decorator; end
|
27
|
+
end
|
28
|
+
|
29
|
+
# After each example, revert changes made to the class
|
30
|
+
def protect_class(klass)
|
31
|
+
before { stub_const klass.name, Class.new(klass) }
|
32
|
+
end
|
33
|
+
|
34
|
+
def protect_module(mod)
|
35
|
+
before { stub_const mod.name, mod.dup }
|
36
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
shared_examples_for "decoration-aware #==" do |subject|
|
2
|
+
it "is true for itself" do
|
3
|
+
expect(subject == subject).to be_true
|
4
|
+
end
|
5
|
+
|
6
|
+
it "is false for another object" do
|
7
|
+
expect(subject == Object.new).to be_false
|
8
|
+
end
|
9
|
+
|
10
|
+
it "is true for a decorated version of itself" do
|
11
|
+
decorated = double(source: subject, decorated?: true)
|
12
|
+
|
13
|
+
expect(subject == decorated).to be_true
|
14
|
+
end
|
15
|
+
|
16
|
+
it "is false for a decorated other object" do
|
17
|
+
decorated = double(source: Object.new, decorated?: true)
|
18
|
+
|
19
|
+
expect(subject == decorated).to be_false
|
20
|
+
end
|
21
|
+
|
22
|
+
it "is false for a decoratable object with a `source` association" do
|
23
|
+
decoratable = double(source: subject, decorated?: false)
|
24
|
+
|
25
|
+
expect(subject == decoratable).to be_false
|
26
|
+
end
|
27
|
+
|
28
|
+
it "is false for an undecoratable object with a `source` association" do
|
29
|
+
undecoratable = double(source: subject)
|
30
|
+
|
31
|
+
expect(subject == undecoratable).to be_false
|
32
|
+
end
|
33
|
+
|
34
|
+
it "is true for a multiply-decorated version of itself" do
|
35
|
+
decorated = double(source: subject, decorated?: true)
|
36
|
+
redecorated = double(source: decorated, decorated?: true)
|
37
|
+
|
38
|
+
expect(subject == redecorated).to be_true
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
shared_examples_for "view helpers" do |subject|
|
2
|
+
describe "#helpers" do
|
3
|
+
it "returns the current view context" do
|
4
|
+
Draper::ViewContext.stub current: :current_view_context
|
5
|
+
expect(subject.helpers).to be :current_view_context
|
6
|
+
end
|
7
|
+
|
8
|
+
it "is aliased to #h" do
|
9
|
+
Draper::ViewContext.stub current: :current_view_context
|
10
|
+
expect(subject.h).to be :current_view_context
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "#localize" do
|
15
|
+
it "delegates to #helpers" do
|
16
|
+
subject.stub helpers: double
|
17
|
+
subject.helpers.should_receive(:localize).with(:an_object, some: "parameter")
|
18
|
+
subject.localize(:an_object, some: "parameter")
|
19
|
+
end
|
20
|
+
|
21
|
+
it "is aliased to #l" do
|
22
|
+
subject.stub helpers: double
|
23
|
+
subject.helpers.should_receive(:localize).with(:an_object, some: "parameter")
|
24
|
+
subject.l(:an_object, some: "parameter")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe ".helpers" do
|
29
|
+
it "returns the current view context" do
|
30
|
+
Draper::ViewContext.stub current: :current_view_context
|
31
|
+
expect(subject.class.helpers).to be :current_view_context
|
32
|
+
end
|
33
|
+
|
34
|
+
it "is aliased to .h" do
|
35
|
+
Draper::ViewContext.stub current: :current_view_context
|
36
|
+
expect(subject.class.h).to be :current_view_context
|
37
|
+
end
|
38
|
+
end
|
39
|
+
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: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-01-
|
13
|
+
date: 2013-01-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -172,8 +172,8 @@ dependencies:
|
|
172
172
|
- - ! '>='
|
173
173
|
- !ruby/object:Gem::Version
|
174
174
|
version: '0'
|
175
|
-
description: Draper adds
|
176
|
-
|
175
|
+
description: Draper adds an object-oriented layer of presentation logic to your Rails
|
176
|
+
apps.
|
177
177
|
email:
|
178
178
|
- jeff@casimircreative.com
|
179
179
|
- steve@steveklabnik.com
|
@@ -197,6 +197,7 @@ files:
|
|
197
197
|
- lib/draper/automatic_delegation.rb
|
198
198
|
- lib/draper/collection_decorator.rb
|
199
199
|
- lib/draper/decoratable.rb
|
200
|
+
- lib/draper/decoratable/equality.rb
|
200
201
|
- lib/draper/decorated_association.rb
|
201
202
|
- lib/draper/decorator.rb
|
202
203
|
- lib/draper/delegation.rb
|
@@ -212,6 +213,7 @@ files:
|
|
212
213
|
- lib/draper/test_case.rb
|
213
214
|
- lib/draper/version.rb
|
214
215
|
- lib/draper/view_context.rb
|
216
|
+
- lib/draper/view_context/build_strategy.rb
|
215
217
|
- lib/draper/view_helpers.rb
|
216
218
|
- lib/generators/decorator/decorator_generator.rb
|
217
219
|
- lib/generators/decorator/templates/decorator.rb
|
@@ -224,14 +226,16 @@ files:
|
|
224
226
|
- lib/generators/test_unit/decorator_generator.rb
|
225
227
|
- lib/generators/test_unit/templates/decorator_test.rb
|
226
228
|
- spec/draper/collection_decorator_spec.rb
|
229
|
+
- spec/draper/decoratable/equality_spec.rb
|
227
230
|
- spec/draper/decoratable_spec.rb
|
228
231
|
- spec/draper/decorated_association_spec.rb
|
229
232
|
- spec/draper/decorator_spec.rb
|
230
233
|
- spec/draper/finders_spec.rb
|
231
234
|
- spec/draper/helper_proxy_spec.rb
|
235
|
+
- spec/draper/view_context/build_strategy_spec.rb
|
236
|
+
- spec/draper/view_context_spec.rb
|
232
237
|
- spec/draper/view_helpers_spec.rb
|
233
238
|
- spec/dummy/.rspec
|
234
|
-
- spec/dummy/README.rdoc
|
235
239
|
- spec/dummy/Rakefile
|
236
240
|
- spec/dummy/app/controllers/application_controller.rb
|
237
241
|
- spec/dummy/app/controllers/localized_urls.rb
|
@@ -240,11 +244,15 @@ files:
|
|
240
244
|
- spec/dummy/app/helpers/application_helper.rb
|
241
245
|
- spec/dummy/app/mailers/application_mailer.rb
|
242
246
|
- spec/dummy/app/mailers/post_mailer.rb
|
247
|
+
- spec/dummy/app/models/admin.rb
|
248
|
+
- spec/dummy/app/models/mongoid_post.rb
|
243
249
|
- spec/dummy/app/models/post.rb
|
250
|
+
- spec/dummy/app/models/user.rb
|
244
251
|
- spec/dummy/app/views/layouts/application.html.erb
|
245
252
|
- spec/dummy/app/views/post_mailer/decorated_email.html.erb
|
246
253
|
- spec/dummy/app/views/posts/_post.html.erb
|
247
254
|
- spec/dummy/app/views/posts/show.html.erb
|
255
|
+
- spec/dummy/bin/rails
|
248
256
|
- spec/dummy/config.ru
|
249
257
|
- spec/dummy/config/application.rb
|
250
258
|
- spec/dummy/config/boot.rb
|
@@ -259,23 +267,37 @@ files:
|
|
259
267
|
- spec/dummy/config/initializers/secret_token.rb
|
260
268
|
- spec/dummy/config/initializers/session_store.rb
|
261
269
|
- spec/dummy/config/locales/en.yml
|
270
|
+
- spec/dummy/config/mongoid.yml
|
262
271
|
- spec/dummy/config/routes.rb
|
263
272
|
- spec/dummy/db/migrate/20121019115657_create_posts.rb
|
264
273
|
- spec/dummy/db/schema.rb
|
265
274
|
- spec/dummy/db/seeds.rb
|
275
|
+
- spec/dummy/fast_spec/post_decorator_spec.rb
|
266
276
|
- spec/dummy/lib/tasks/test.rake
|
267
277
|
- spec/dummy/log/.gitkeep
|
268
|
-
- spec/dummy/mini_test/mini_test_integration_test.rb
|
269
278
|
- spec/dummy/public/404.html
|
270
279
|
- spec/dummy/public/422.html
|
271
280
|
- spec/dummy/public/500.html
|
272
281
|
- spec/dummy/public/favicon.ico
|
273
282
|
- spec/dummy/script/rails
|
283
|
+
- spec/dummy/spec/decorators/devise_spec.rb
|
284
|
+
- spec/dummy/spec/decorators/helpers_spec.rb
|
274
285
|
- spec/dummy/spec/decorators/post_decorator_spec.rb
|
275
|
-
- spec/dummy/spec/decorators/
|
286
|
+
- spec/dummy/spec/decorators/spec_type_spec.rb
|
287
|
+
- spec/dummy/spec/decorators/view_context_spec.rb
|
276
288
|
- spec/dummy/spec/mailers/post_mailer_spec.rb
|
289
|
+
- spec/dummy/spec/models/mongoid_post_spec.rb
|
277
290
|
- spec/dummy/spec/models/post_spec.rb
|
278
291
|
- spec/dummy/spec/spec_helper.rb
|
292
|
+
- spec/dummy/test/decorators/minitest/devise_test.rb
|
293
|
+
- spec/dummy/test/decorators/minitest/helpers_test.rb
|
294
|
+
- spec/dummy/test/decorators/minitest/spec_type_test.rb
|
295
|
+
- spec/dummy/test/decorators/minitest/view_context_test.rb
|
296
|
+
- spec/dummy/test/decorators/test_unit/devise_test.rb
|
297
|
+
- spec/dummy/test/decorators/test_unit/helpers_test.rb
|
298
|
+
- spec/dummy/test/decorators/test_unit/view_context_test.rb
|
299
|
+
- spec/dummy/test/minitest_helper.rb
|
300
|
+
- spec/dummy/test/test_helper.rb
|
279
301
|
- spec/generators/decorator/decorator_generator_spec.rb
|
280
302
|
- spec/integration/integration_spec.rb
|
281
303
|
- spec/performance/active_record.rb
|
@@ -283,25 +305,10 @@ files:
|
|
283
305
|
- spec/performance/decorators.rb
|
284
306
|
- spec/performance/models.rb
|
285
307
|
- spec/spec_helper.rb
|
286
|
-
- spec/support/action_controller.rb
|
287
|
-
- spec/support/active_model.rb
|
288
|
-
- spec/support/active_record.rb
|
289
|
-
- spec/support/decorators/decorator_with_application_helper.rb
|
290
|
-
- spec/support/decorators/namespaced_product_decorator.rb
|
291
|
-
- spec/support/decorators/non_active_model_product_decorator.rb
|
292
|
-
- spec/support/decorators/product_decorator.rb
|
293
|
-
- spec/support/decorators/products_decorator.rb
|
294
|
-
- spec/support/decorators/some_thing_decorator.rb
|
295
|
-
- spec/support/decorators/specific_product_decorator.rb
|
296
|
-
- spec/support/decorators/widget_decorator.rb
|
297
308
|
- spec/support/dummy_app.rb
|
298
309
|
- spec/support/matchers/have_text.rb
|
299
|
-
- spec/support/
|
300
|
-
- spec/support/
|
301
|
-
- spec/support/models/product.rb
|
302
|
-
- spec/support/models/some_thing.rb
|
303
|
-
- spec/support/models/uninferrable_decorator_model.rb
|
304
|
-
- spec/support/models/widget.rb
|
310
|
+
- spec/support/shared_examples/decoratable_equality.rb
|
311
|
+
- spec/support/shared_examples/view_helpers.rb
|
305
312
|
homepage: http://github.com/drapergem/draper
|
306
313
|
licenses: []
|
307
314
|
post_install_message:
|
@@ -328,14 +335,16 @@ specification_version: 3
|
|
328
335
|
summary: View Models for Rails
|
329
336
|
test_files:
|
330
337
|
- spec/draper/collection_decorator_spec.rb
|
338
|
+
- spec/draper/decoratable/equality_spec.rb
|
331
339
|
- spec/draper/decoratable_spec.rb
|
332
340
|
- spec/draper/decorated_association_spec.rb
|
333
341
|
- spec/draper/decorator_spec.rb
|
334
342
|
- spec/draper/finders_spec.rb
|
335
343
|
- spec/draper/helper_proxy_spec.rb
|
344
|
+
- spec/draper/view_context/build_strategy_spec.rb
|
345
|
+
- spec/draper/view_context_spec.rb
|
336
346
|
- spec/draper/view_helpers_spec.rb
|
337
347
|
- spec/dummy/.rspec
|
338
|
-
- spec/dummy/README.rdoc
|
339
348
|
- spec/dummy/Rakefile
|
340
349
|
- spec/dummy/app/controllers/application_controller.rb
|
341
350
|
- spec/dummy/app/controllers/localized_urls.rb
|
@@ -344,11 +353,15 @@ test_files:
|
|
344
353
|
- spec/dummy/app/helpers/application_helper.rb
|
345
354
|
- spec/dummy/app/mailers/application_mailer.rb
|
346
355
|
- spec/dummy/app/mailers/post_mailer.rb
|
356
|
+
- spec/dummy/app/models/admin.rb
|
357
|
+
- spec/dummy/app/models/mongoid_post.rb
|
347
358
|
- spec/dummy/app/models/post.rb
|
359
|
+
- spec/dummy/app/models/user.rb
|
348
360
|
- spec/dummy/app/views/layouts/application.html.erb
|
349
361
|
- spec/dummy/app/views/post_mailer/decorated_email.html.erb
|
350
362
|
- spec/dummy/app/views/posts/_post.html.erb
|
351
363
|
- spec/dummy/app/views/posts/show.html.erb
|
364
|
+
- spec/dummy/bin/rails
|
352
365
|
- spec/dummy/config.ru
|
353
366
|
- spec/dummy/config/application.rb
|
354
367
|
- spec/dummy/config/boot.rb
|
@@ -363,23 +376,37 @@ test_files:
|
|
363
376
|
- spec/dummy/config/initializers/secret_token.rb
|
364
377
|
- spec/dummy/config/initializers/session_store.rb
|
365
378
|
- spec/dummy/config/locales/en.yml
|
379
|
+
- spec/dummy/config/mongoid.yml
|
366
380
|
- spec/dummy/config/routes.rb
|
367
381
|
- spec/dummy/db/migrate/20121019115657_create_posts.rb
|
368
382
|
- spec/dummy/db/schema.rb
|
369
383
|
- spec/dummy/db/seeds.rb
|
384
|
+
- spec/dummy/fast_spec/post_decorator_spec.rb
|
370
385
|
- spec/dummy/lib/tasks/test.rake
|
371
386
|
- spec/dummy/log/.gitkeep
|
372
|
-
- spec/dummy/mini_test/mini_test_integration_test.rb
|
373
387
|
- spec/dummy/public/404.html
|
374
388
|
- spec/dummy/public/422.html
|
375
389
|
- spec/dummy/public/500.html
|
376
390
|
- spec/dummy/public/favicon.ico
|
377
391
|
- spec/dummy/script/rails
|
392
|
+
- spec/dummy/spec/decorators/devise_spec.rb
|
393
|
+
- spec/dummy/spec/decorators/helpers_spec.rb
|
378
394
|
- spec/dummy/spec/decorators/post_decorator_spec.rb
|
379
|
-
- spec/dummy/spec/decorators/
|
395
|
+
- spec/dummy/spec/decorators/spec_type_spec.rb
|
396
|
+
- spec/dummy/spec/decorators/view_context_spec.rb
|
380
397
|
- spec/dummy/spec/mailers/post_mailer_spec.rb
|
398
|
+
- spec/dummy/spec/models/mongoid_post_spec.rb
|
381
399
|
- spec/dummy/spec/models/post_spec.rb
|
382
400
|
- spec/dummy/spec/spec_helper.rb
|
401
|
+
- spec/dummy/test/decorators/minitest/devise_test.rb
|
402
|
+
- spec/dummy/test/decorators/minitest/helpers_test.rb
|
403
|
+
- spec/dummy/test/decorators/minitest/spec_type_test.rb
|
404
|
+
- spec/dummy/test/decorators/minitest/view_context_test.rb
|
405
|
+
- spec/dummy/test/decorators/test_unit/devise_test.rb
|
406
|
+
- spec/dummy/test/decorators/test_unit/helpers_test.rb
|
407
|
+
- spec/dummy/test/decorators/test_unit/view_context_test.rb
|
408
|
+
- spec/dummy/test/minitest_helper.rb
|
409
|
+
- spec/dummy/test/test_helper.rb
|
383
410
|
- spec/generators/decorator/decorator_generator_spec.rb
|
384
411
|
- spec/integration/integration_spec.rb
|
385
412
|
- spec/performance/active_record.rb
|
@@ -387,23 +414,8 @@ test_files:
|
|
387
414
|
- spec/performance/decorators.rb
|
388
415
|
- spec/performance/models.rb
|
389
416
|
- spec/spec_helper.rb
|
390
|
-
- spec/support/action_controller.rb
|
391
|
-
- spec/support/active_model.rb
|
392
|
-
- spec/support/active_record.rb
|
393
|
-
- spec/support/decorators/decorator_with_application_helper.rb
|
394
|
-
- spec/support/decorators/namespaced_product_decorator.rb
|
395
|
-
- spec/support/decorators/non_active_model_product_decorator.rb
|
396
|
-
- spec/support/decorators/product_decorator.rb
|
397
|
-
- spec/support/decorators/products_decorator.rb
|
398
|
-
- spec/support/decorators/some_thing_decorator.rb
|
399
|
-
- spec/support/decorators/specific_product_decorator.rb
|
400
|
-
- spec/support/decorators/widget_decorator.rb
|
401
417
|
- spec/support/dummy_app.rb
|
402
418
|
- spec/support/matchers/have_text.rb
|
403
|
-
- spec/support/
|
404
|
-
- spec/support/
|
405
|
-
- spec/support/models/product.rb
|
406
|
-
- spec/support/models/some_thing.rb
|
407
|
-
- spec/support/models/uninferrable_decorator_model.rb
|
408
|
-
- spec/support/models/widget.rb
|
419
|
+
- spec/support/shared_examples/decoratable_equality.rb
|
420
|
+
- spec/support/shared_examples/view_helpers.rb
|
409
421
|
has_rdoc:
|