Class: SetBuilder::Traits

Inherits:
Array
  • Object
show all
Defined in:
lib/set_builder/traits.rb

Instance Method Summary collapse

Instance Method Details

#[](index) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/set_builder/traits.rb', line 10

def [](index)
  case index
  when Symbol, String
    index = index.to_s
    self.find {|trait| trait.name == index}
  else
    super
  end
end

#modifiersObject



28
29
30
31
32
33
34
35
36
37
# File 'lib/set_builder/traits.rb', line 28

def modifiers
  # !nb: not sure why inject was failing but it was modifying trait.modifiers!
  @modifiers = ModifierCollection.new
  each do |trait|
    trait.modifiers.each do |modifier|
      @modifiers << modifier unless @modifiers.member?(modifier)
    end
  end
  @modifiers
end

#to_jsonObject



22
23
24
# File 'lib/set_builder/traits.rb', line 22

def to_json
  "[#{collect(&:to_json).join(",")}]"
end