rails-decorators 0.1.2 → 0.1.3
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/README.md +2 -2
- data/lib/rails/decorators/decorator.rb +10 -1
- data/lib/rails/decorators/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 875c3e96ecb6c4a7339b307287bef2e778164db2
|
4
|
+
data.tar.gz: 179a6c2a9806c330ccb3023a419bc17221e15655
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 892a7fd15ef1a64e2c5ceec3da6e6021d69bea39d93c1d9df431a991e3bc08e035deec240075006d39c39ead2867cb6179d0593842264a110a875061da57d72b
|
7
|
+
data.tar.gz: 9f80385e0abe704655b0f942533c2721085027c1759192a746445c13fa4d18f5dc178c44b188ed91dc499320646bb9b7a5b5b604a1be992a7b0be764a44ac30e
|
data/README.md
CHANGED
@@ -24,7 +24,7 @@ end
|
|
24
24
|
module Ecommerce
|
25
25
|
decorate Product do
|
26
26
|
decorated do
|
27
|
-
# Class methods may be called here.
|
27
|
+
# Class methods may be called here. Evaluates after prepending module.
|
28
28
|
attr_writer :on_sale
|
29
29
|
end
|
30
30
|
|
@@ -74,7 +74,7 @@ module Ecommerce
|
|
74
74
|
Product.send(:prepend, Product::Decorator)
|
75
75
|
Product.singleton_class.send(:prepend, Product::Decorator::ClassMethods)
|
76
76
|
Product.class_eval do
|
77
|
-
# Class methods may be called here.
|
77
|
+
# Class methods may be called here. Evaluates after prepending module.
|
78
78
|
attr_writer :on_sale
|
79
79
|
end
|
80
80
|
end
|
@@ -51,7 +51,8 @@ module Rails
|
|
51
51
|
)
|
52
52
|
end
|
53
53
|
|
54
|
-
|
54
|
+
namespace = target.to_s.remove('::')
|
55
|
+
decorator_name = "#{options[:with].to_s.camelize}#{namespace}Decorator"
|
55
56
|
|
56
57
|
if target.const_defined?(decorator_name)
|
57
58
|
# We are probably reloading in Rails development env if this happens
|
@@ -85,6 +86,10 @@ module Rails
|
|
85
86
|
end
|
86
87
|
|
87
88
|
def prepend_features(base)
|
89
|
+
if instance_variable_defined?(:@_before_decorate_block)
|
90
|
+
base.class_eval(&@_before_decorate_block)
|
91
|
+
end
|
92
|
+
|
88
93
|
super
|
89
94
|
|
90
95
|
if const_defined?(:ClassMethodsDecorator)
|
@@ -98,6 +103,10 @@ module Rails
|
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
106
|
+
def before_decorate(&block)
|
107
|
+
instance_variable_set(:@_before_decorate_block, block)
|
108
|
+
end
|
109
|
+
|
101
110
|
def decorated(&block)
|
102
111
|
instance_variable_set(:@_decorated_block, block)
|
103
112
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-decorators
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -84,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
84
84
|
version: '0'
|
85
85
|
requirements: []
|
86
86
|
rubyforge_project:
|
87
|
-
rubygems_version: 2.6.
|
87
|
+
rubygems_version: 2.6.14.1
|
88
88
|
signing_key:
|
89
89
|
specification_version: 4
|
90
90
|
summary: Rails::Decorators provides a clean, familiar API for decorating the behavior
|