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
@@ -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
|