Sha256: 7daba8cd1ce358ccaf4d1d727a70beb475e474567680960c5ffe868b9f5686f2

Contents?: true

Size: 437 Bytes

Versions: 1

Compression:

Stored size: 437 Bytes

Contents

# frozen_string_literal: true

module RGB
  Color = Micro::Struct.with(:readonly, :to_ary).new(:red, :green, :blue) do
    def to_a
      super.map(&:value)
    end

    def to_hex
      "##{red}#{green}#{blue}"
    end
  end

  module Color
    def self.new(r:, g:, b:)
      __new__(
        red:   Number.new(r, label: 'r'),
        green: Number.new(g, label: 'g'),
        blue:  Number.new(b, label: 'b')
      )
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
u-struct-0.9.0 examples/rgb/color.rb