class Spectra::Color
Attributes
components[RW]
name[RW]
suffix[RW]
Public Class Methods
new(name, components)
click to toggle source
# File lib/spectra/models/color.rb, line 10 def initialize(name, components) self.name, self.suffix = self.parse_name(name) self.components = components end
Public Instance Methods
method_missing(name)
click to toggle source
Calls superclass method
# File lib/spectra/models/color.rb, line 28 def method_missing(name) Components.valid?(name) ? self.components[name] : super end
parse_name(name)
click to toggle source
# File lib/spectra/models/color.rb, line 15 def parse_name(name) name_parts = name.to_s.split(/(\d+)/) return name_parts.first, name_parts[1] || '' end
respond_to?(name)
click to toggle source
Forwarding
Calls superclass method
# File lib/spectra/models/color.rb, line 24 def respond_to?(name) super || Components.valid?(name) end
to_s()
click to toggle source
Debugging
# File lib/spectra/models/color.rb, line 36 def to_s string = "color '#{name}'" string = [ :red, :green, :blue, :alpha ].inject(string) do |memo, key| memo + ' ' + key.to_s[0] + ' %.2f' % (self.components[key] || 0.0) end end