class AdfBuilder::Vehicles

Constants

CONDITIONS
FREE_TEXT_OPTIONAL_TAGS
VALID_PARAMETERS
VALID_VALUES

Public Class Methods

new(prospect) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 30
def initialize(prospect)
  @prospect = prospect
  @color_combinations = []
  @prices = []
end

Public Instance Methods

add(year, make, model, params={}) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 53
def add(year, make, model, params={})
  vehicle = Ox::Element.new('vehicle')

  params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
  AdfBuilder::Builder.update_params(vehicle, :vehicle, params)

  vehicle << (Ox::Element.new('year') << year.to_s)
  vehicle << (Ox::Element.new('make') << make)
  vehicle << (Ox::Element.new('model') << model)

  @prospect << vehicle
end
add_color_combination(v_index, interior_color, exterior_color, preference) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 36
def add_color_combination(v_index, interior_color, exterior_color, preference)
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', v_index)
  if valid
    cc = ColorCombinations.new(vehicle)
    cc.add(interior_color, exterior_color, preference)
    @color_combinations.push(cc)
  end
end
add_id(index, value, source=nil, sequence=1) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 100
def add_id(index, value, source=nil, sequence=1)
  if @prospect.locate("vehicle").empty? or @prospect.vehicle(index).nil?
    false
  else
    Id.new.add(@prospect.vehicle(index), value, source, sequence)
  end
end
add_price(index, value, params={}) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 108
def add_price(index, value, params={})
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
  if valid
    price = Price.new(vehicle, value, params)
    @prices.push(price)
  end
end
color_combination(index) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 45
def color_combination(index)
  @color_combinations[index]
end
price(index) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 49
def price(index)
  @prices[index]
end
update_condition(index, value) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 74
def update_condition(index, value)
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
  if valid and CONDITIONS.include? value
    AdfBuilder::Builder.update_node(vehicle, 'condition', value)
  end
end
update_imagetag(index, value, params={}) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 81
def update_imagetag(index, value, params={})
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
  if valid
    params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
    AdfBuilder::Builder.update_node(vehicle, 'imagetag', value, params)
  end
end
update_odometer(index, value, params={}) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 66
def update_odometer(index, value, params={})
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
  if valid
    params.merge!({valid_values: VALID_VALUES, valid_parameters: VALID_PARAMETERS})
    AdfBuilder::Builder.update_node(vehicle, 'odometer', value, params)
  end
end
update_tags_with_free_text(index, tags) click to toggle source
# File lib/adf_builder/vehicles/vehicles.rb, line 89
def update_tags_with_free_text(index, tags)
  valid, vehicle = AdfBuilder::Builder.valid_child?(@prospect,'vehicle', index)
  if valid
    tags.each do |key, value|
      if FREE_TEXT_OPTIONAL_TAGS.include? key.to_sym
        AdfBuilder::Builder.update_node(vehicle, key, value)
      end
    end
  end
end