Sha256: 21515ed69e4d1a0aa61671d449ffca39b8857f6396483d108c242479558d40f9

Contents?: true

Size: 968 Bytes

Versions: 1

Compression:

Stored size: 968 Bytes

Contents

module FuzzyRealty
  class Listing
    attr_accessor :price, :sqft, :location, :style
    def initialize(values={})
      values.each_key {|k| instance_variable_set(:"@#{k}", values[k])}
    end
  end
  
  class Query
    attr_reader :params
    def initialize(params=[])
      @params = params
    end
    def << (param)
      if !param.is_a?(Parameter)
        raise "Attempting to add non-Parameter to Query" 
      end
      @params << param
        
    end
  end
  
  class Parameter
    attr_reader :type, :desired, :required
    def initialize(type,desired,required=false)
      if !Parameter.valid_types.contains(type)
        raise "Attempting to create non-existant Parameter type" 
      end
      @type     = type
      @desired  = desired
      @required = required
    end
    def self.valid_types
      FuzzyRealty::WEIGHTS.each_key.to_a
    end
  end
end

class Array
  def contains(value)
    self.any? {|array_value| array_value == value }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rkneufeld-fuzzy-realty-0.4.0 lib/stubs.rb