Class: SymbolOperator

Inherits:
Object show all
Includes:
Comparable
Defined in:
lib/plucky/extensions/symbol.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(field, operator, options = {}) ⇒ SymbolOperator

Returns a new instance of SymbolOperator.



65
66
67
# File 'lib/plucky/extensions/symbol.rb', line 65

def initialize(field, operator, options={})
  @field, @operator = field, operator
end

Instance Attribute Details

#fieldObject (readonly)

Returns the value of attribute field.



63
64
65
# File 'lib/plucky/extensions/symbol.rb', line 63

def field
  @field
end

#operatorObject (readonly)

Returns the value of attribute operator.



63
64
65
# File 'lib/plucky/extensions/symbol.rb', line 63

def operator
  @operator
end

Instance Method Details

#<=>(other) ⇒ Object



69
70
71
72
73
74
75
# File 'lib/plucky/extensions/symbol.rb', line 69

def <=>(other)
  if field == other.field
    operator <=> other.operator
  else
    field.to_s <=> other.field.to_s
  end
end

#==(other) ⇒ Object



85
86
87
# File 'lib/plucky/extensions/symbol.rb', line 85

def ==(other)
  other.class == self.class && field == other.field && operator == other.operator
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)


81
82
83
# File 'lib/plucky/extensions/symbol.rb', line 81

def eql?(other)
  self == other
end

#hashObject



77
78
79
# File 'lib/plucky/extensions/symbol.rb', line 77

def hash
  field.hash + operator.hash
end