Sha256: f12561f6c60a3e8cafe7a8879798fe1cf8ccc405ab450c85ea73436bc414f0e0
Contents?: true
Size: 1.88 KB
Versions: 2
Compression:
Stored size: 1.88 KB
Contents
module Vedeu module Models # A Cell represents a single square of the terminal. # class Cell # @!attribute [r] colour # @return [NilClass|String] attr_reader :colour # @!attribute [r] style # @return [NilClass|Array<Symbol|String>|Symbol|String] attr_reader :style # @!attribute [r] value # @return [NilClass|String] attr_reader :value # @!attribute [r] x # @return [NilClass|Fixnum] attr_reader :x # @!attribute [r] y # @return [NilClass|Fixnum] attr_reader :y # Returns a new instance of Vedeu::Models::Cell. # # @param attributes [Hash<Symbol => Array<Symbol|String>, # Fixnum, String, Symbol] # @option attributes colour [NilClass|String] # @option attributes style # [NilClass|Array<Symbol|String>|Symbol|String] # @option attributes value [NilClass|String] # @option attributes x [NilClass|Fixnum] # @option attributes y [NilClass|Fixnum] # @return [Vedeu::Models::Cell] def initialize(attributes = {}) @attributes = defaults.merge!(attributes) @attributes.each do |key, value| instance_variable_set("@#{key}", value) end end # An object is equal when its values are the same. # # @param other [Vedeu::Models::Cell] # @return [Boolean] def eql?(other) self.class == other.class && value == other.value && x == other.x && y == other.y end alias_method :==, :eql? private # Returns the default options/attributes for this class. # # @return [Hash<Symbol => void>] def defaults { colour: nil, style: nil, value: nil, x: nil, y: nil, } end end # Cell end # Models end # Vedeu
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.6.9 | lib/vedeu/models/cell.rb |
vedeu-0.6.8 | lib/vedeu/models/cell.rb |