Sha256: 99d4fad9d480054c970df53244867320e2d1d3276317d02c147f4378f4cfe763

Contents?: true

Size: 923 Bytes

Versions: 5

Compression:

Stored size: 923 Bytes

Contents

module Gosu
  class Color
    def _dump(_level)
      [
        "%02X" % alpha,
        "%02X" % red,
        "%02X" % green,
        "%02X" % blue
      ].join
    end

    def self._load(hex)
      argb(hex.to_i(16))
    end
  end
end

module CyberarmEngine
  class Style
    attr_reader :hash

    def initialize(hash = {})
      h = Marshal.load(Marshal.dump(hash))

      h[:default] = {}

      h.each do |key, value|
        next if value.is_a?(Hash)

        h[:default][key] = value
      end

      @hash = h
    end

    def method_missing(method, *args)
      if method.to_s.end_with?("=")
        raise "Did not expect more than 1 argument" if args.size > 1

        @hash[method.to_s.sub("=", "").to_sym] = args.first

      elsif args.empty?
        @hash[method]
      else
        raise ArgumentError, "Did not expect arguments"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cyberarm_engine-0.23.0 lib/cyberarm_engine/ui/style.rb
cyberarm_engine-0.22.0 lib/cyberarm_engine/ui/style.rb
cyberarm_engine-0.21.0 lib/cyberarm_engine/ui/style.rb
cyberarm_engine-0.20.0 lib/cyberarm_engine/ui/style.rb
cyberarm_engine-0.19.1 lib/cyberarm_engine/ui/style.rb