draper 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -1,95 +0,0 @@
|
|
1
|
-
class Product < ActiveRecord::Base
|
2
|
-
include Draper::Decoratable
|
3
|
-
include ActiveModel::Serialization
|
4
|
-
|
5
|
-
delegate :delegated_method, to: :thing
|
6
|
-
|
7
|
-
def self.find_by_name(name)
|
8
|
-
@@dummy ||= Product.new
|
9
|
-
end
|
10
|
-
|
11
|
-
def self.first
|
12
|
-
@@first ||= Product.new
|
13
|
-
end
|
14
|
-
|
15
|
-
def self.last
|
16
|
-
@@last ||= Product.new
|
17
|
-
end
|
18
|
-
|
19
|
-
def self.all
|
20
|
-
[Product.new, Product.new]
|
21
|
-
end
|
22
|
-
|
23
|
-
def self.scoped
|
24
|
-
[Product.new]
|
25
|
-
end
|
26
|
-
|
27
|
-
def self.model_name
|
28
|
-
name
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.find(id)
|
32
|
-
return Product.new
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.sample_class_method
|
36
|
-
"sample class method"
|
37
|
-
end
|
38
|
-
|
39
|
-
def hello_world
|
40
|
-
"Hello, World"
|
41
|
-
end
|
42
|
-
|
43
|
-
def goodnight_moon
|
44
|
-
"Goodnight, Moon"
|
45
|
-
end
|
46
|
-
|
47
|
-
def title
|
48
|
-
"Sample Title"
|
49
|
-
end
|
50
|
-
|
51
|
-
def some_action
|
52
|
-
self.nonexistant_method
|
53
|
-
end
|
54
|
-
|
55
|
-
def block
|
56
|
-
yield
|
57
|
-
end
|
58
|
-
|
59
|
-
def self.reflect_on_association(association_symbol)
|
60
|
-
association_symbol.to_s.starts_with?("poro") ? nil : OpenStruct.new(:klass => self)
|
61
|
-
end
|
62
|
-
|
63
|
-
def similar_products
|
64
|
-
[Product.new, Product.new]
|
65
|
-
end
|
66
|
-
|
67
|
-
def previous_version
|
68
|
-
Product.new
|
69
|
-
end
|
70
|
-
|
71
|
-
def thing
|
72
|
-
SomeThing.new
|
73
|
-
end
|
74
|
-
|
75
|
-
def poro_similar_products
|
76
|
-
[Product.new, Product.new]
|
77
|
-
end
|
78
|
-
|
79
|
-
def poro_previous_version
|
80
|
-
Product.new
|
81
|
-
end
|
82
|
-
|
83
|
-
def overridable
|
84
|
-
:overridable
|
85
|
-
end
|
86
|
-
|
87
|
-
def self.overridable
|
88
|
-
:overridable
|
89
|
-
end
|
90
|
-
|
91
|
-
private
|
92
|
-
|
93
|
-
def private_title
|
94
|
-
end
|
95
|
-
end
|