Class: Transform::Parser::Color

Inherits:
Object
  • Object
show all
Defined in:
lib/source/redshift/transform.rb

Class Method Summary collapse

Class Method Details

.compute(from, to, delta) ⇒ Object



148
149
150
151
152
153
154
# File 'lib/source/redshift/transform.rb', line 148

def self.compute(from, to, delta)
  			rgb = []
  			from.each do |i|
 rgb << `Math.round(#{::Transform.compute(from[i], to[i], delta)})`
			  end
  `'rgb(' + rgb + ')'`
end

.hex_to_array(color) ⇒ Object



137
138
139
140
141
142
143
144
145
146
# File 'lib/source/redshift/transform.rb', line 137

def self.hex_to_array(color)
  `var hex = color.match(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/).slice(1)`
  `var rgb = []
for(i = 0, l = hex.length; i < hex.length; i++){
  value = hex[i]
  if (value.length == 1) value += value;
  rgb[i] = parseInt(value,16);
}`
`rgb`
end

.parse(value) ⇒ Object



156
157
158
159
160
# File 'lib/source/redshift/transform.rb', line 156

def self.parse(value)
  `value = value.__value__ || String(value)`
  `if (value.match(/^#[0-9a-f]{3,6}$/i)) return #{Transform::Parser::Color.hex_to_array(value)}`
  			`((value = value.match(/(\\d+),\\s*(\\d+),\\s*(\\d+)/))) ? #{[value[1], value[2], value[3]]} : false`
end

.serve(value, unit) ⇒ Object



162
163
164
# File 'lib/source/redshift/transform.rb', line 162

def self.serve(value, unit)
  value
end