Module: DressUp::Interface::ClassMethods

Defined in:
lib/dress_up/interface.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(base) ⇒ Object

When extedended, define closet reader



12
13
14
15
16
17
# File 'lib/dress_up/interface.rb', line 12

def self.extended(base)
  class << base
    attr_reader :closet
  end
  base.instance_variable_set("@closet", {})
end

Instance Method Details

#costume(name, overrides = {}) ⇒ Object

Define a costume by giving it a name and a set of overrides



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/dress_up/interface.rb', line 20

def costume(name, overrides={})
  unless name.is_a?(Symbol) || name.is_a?(String)
    raise "#{name.inspect} is not a valid costume name"
  end

  @closet ||= {}
  if overrides.empty?
    @closet[name]
  else
    @closet[name] = DressUp::Costume.new(name, overrides)
  end
end