class Ferrum::RGBA
Attributes
alpha[RW]
blue[RW]
green[RW]
red[RW]
Public Class Methods
new(red, green, blue, alpha)
click to toggle source
# File lib/ferrum/rbga.rb, line 3 def initialize(red, green, blue, alpha) self.red = red self.green = green self.blue = blue self.alpha = alpha validate end
Public Instance Methods
to_h()
click to toggle source
# File lib/ferrum/rbga.rb, line 12 def to_h { r: red, g: green, b: blue, a: alpha } end
Private Instance Methods
validate()
click to toggle source
# File lib/ferrum/rbga.rb, line 20 def validate [red, green, blue].each(&method(:validate_color)) validate_alpha end
validate_alpha()
click to toggle source
# File lib/ferrum/rbga.rb, line 31 def validate_alpha return if alpha && alpha.is_a?(Float) && Range.new(0.0, 1.0).include?(alpha) raise ArgumentError, "Wrong alpha value #{alpha} should be Float between 0.0 (fully transparent) and 1.0 (fully opaque)" end
validate_color(value)
click to toggle source
# File lib/ferrum/rbga.rb, line 25 def validate_color(value) return if value && value.is_a?(Integer) && Range.new(0, 255).include?(value) raise ArgumentError, "Wrong value of #{value} should be Integer from 0 to 255" end