Module: Kumadori

Defined in:
lib/kumadori.rb,
lib/kumadori/version.rb,
lib/kumadori/base_decorator.rb

Defined Under Namespace

Classes: BaseDecorator

Constant Summary collapse

VERSION =
"0.8.0"

Class Method Summary collapse

Class Method Details

.collection_decorate(args) ⇒ Object



12
13
14
# File 'lib/kumadori.rb', line 12

def self.collection_decorate(args)
  args.map{ |e| self.decorate(e) }
end

.decorate(arg) ⇒ Object



8
9
10
# File 'lib/kumadori.rb', line 8

def self.decorate(arg)
  decorator_class(arg).new(arg)
end

.decorator_class(args) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/kumadori.rb', line 16

def self.decorator_class(args)
  class_name = args.class.to_s
  decorator_name = "#{class_name}Decorator"
  begin
    return decorator_name.constantize
  rescue NameError
    return BaseDecorator
  end
end