class Spectra::Spectrum
Attributes
_prefix[RW]
colors[RW]
views[RW]
Public Instance Methods
color(name, attributes)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 43 def color(name, attributes) self.colors ||= [] self.colors << Color.new(name, Components.componentize(attributes)) end
components(*components)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 48 def components(*components) components.hash_from(:red, :green, :blue, :alpha) end
format(type, directory = nil, &renamer)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 38 def format(type, directory = nil, &renamer) self.views ||= [] self.views.concat(Views.from_attributes({ type: type, directory: directory, renamer: renamer })) end
formats(*types)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 34 def formats(*types) types.each { |type| format(type) } end
generate(definition)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 12 def generate(definition) # evaluate color definition file, setup defaults self.instance_eval(definition) self.log_report() # pull in default formats if we don't have any self.formats(:palette, :objc) unless self.views # render views according to the specification self.views.each do |view| view.serialize({ colors: self.colors, prefix: self._prefix }) end end
hex(*components)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 52 def hex(*components) components.hash_from(:hex, :alpha) end
log_report()
click to toggle source
Debug
# File lib/spectra/models/spectrum.rb, line 64 def log_report color_info = self.colors.inject("") do |memo, color| memo += "[∫] Evaluated #{color}\n" end Spectra.logger.debug(color_info) end
prefix(prefix)
click to toggle source
DSL
# File lib/spectra/models/spectrum.rb, line 30 def prefix(prefix) self._prefix = prefix end
white(*components)
click to toggle source
# File lib/spectra/models/spectrum.rb, line 56 def white(*components) components.hash_from(:white, :alpha) end