Class: Transform::Parser::Color
- Defined in:
- lib/source/redshift/transform.rb
Class Method Summary collapse
- .compute(from, to, delta) ⇒ Object
- .hex_to_array(color) ⇒ Object
- .parse(value) ⇒ Object
- .serve(value, unit) ⇒ Object
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 |