artdeco 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -49,6 +49,9 @@ Modules for decoration may be given explicitly:
49
49
 
50
50
  Artdeco.decorate(user, self, decorator: [ Customer, Admin ] )
51
51
 
52
+ Also works for enumerations (anything which responds to :map):
53
+ @articles = Article.all
54
+ Artdeco.decorate(@articles, self)
52
55
 
53
56
  For conveniance decorated objects may decorate other objects:
54
57
 
@@ -1,3 +1,3 @@
1
1
  module Artdeco
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
data/lib/artdeco.rb CHANGED
@@ -8,6 +8,7 @@ module Artdeco
8
8
 
9
9
  def decorate model, *decorator_classes
10
10
  return nil if model.nil?
11
+ return model.map{|m| decorate(m,*decorator_classes)} if model.respond_to?(:map)
11
12
  decorator_classes = @decorator_classes || default_decorator_class(model) if decorator_classes.empty?
12
13
  [decorator_classes].flatten.each{|dc|model.extend dc}
13
14
  h = self.h
data/test/artdeco_test.rb CHANGED
@@ -124,4 +124,15 @@ class ArtdecoTest < MiniTest::Unit::TestCase
124
124
  assert_equal FooHelper, h.class
125
125
  assert_respond_to h, :hi
126
126
  end
127
+
128
+ def test_decorate_enums
129
+ models = [Foo.new, Foo.new]
130
+ Artdeco.decorate models, view_context: FooHelper.new, params: {}
131
+
132
+ models.each do |model|
133
+ assert_respond_to model, :h
134
+ assert_respond_to model, :ho
135
+ assert_respond_to model, :decorate
136
+ end
137
+ end
127
138
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: artdeco
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: