Sha256: 2a1374ae65fde4d8340298899f2b72745678656093968cfd723067a5fa7ec858

Contents?: true

Size: 548 Bytes

Versions: 44

Compression:

Stored size: 548 Bytes

Contents

module MongoModel
  class MongoOperator
    attr_reader :field, :operator
    
    def initialize(field, operator)
      @field, @operator = field, operator
    end
    
    def to_mongo_selector(value)
      { "$#{operator}" => value }
    end
    
    def inspect
      "#{field.inspect}.#{operator}"
    end
    
    def ==(other)
      other.is_a?(self.class) && field == other.field && operator == other.operator
    end
    
    def hash
      field.hash ^ operator.hash
    end
    
    def eql?(other)
      self == other
    end
  end
end

Version data entries

44 entries across 44 versions & 1 rubygems

Version Path
mongomodel-0.5.5 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.5.4 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.5.3 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.5.2 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.5.1 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.5.0 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.9 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.8 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.7 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.6 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.5 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.4 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.3 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.2 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.1 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.4.0 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.3.6 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.3.5 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.3.4 lib/mongomodel/support/mongo_operator.rb
mongomodel-0.3.3 lib/mongomodel/support/mongo_operator.rb