class Edmunds::Vehicle::Specification::ModelYear::ModelYears

Attributes

count[R]
model_years[R]

Public Class Methods

find(make_name, model_name, api_params = {}) click to toggle source
# File lib/edmunds/vehicle/specification/model_year.rb, line 51
def self.find(make_name, model_name, api_params = {})
  response = Edmunds::Api.get("#{MODEL_YEAR_API_URL}/#{make_name}/#{model_name}/years") do |request|
    request.raw_parameters = api_params

    request.allowed_parameters = {
      submodel: Edmunds::Vehicle::SUBMODEL_REGEX,
      category: Edmunds::Vehicle::VEHICLE_CATEGORIES,
      state: %w[new used future],
      year: ((1990.to_s)..(Date.current.year.to_s)),
      view: %w[basic full],
      fmt:  %w[json]
    }

    request.default_parameters = { view: 'basic', fmt: 'json' }

    request.required_parameters = %w[fmt]
  end

  attributes = JSON.parse(response.body)
  new(attributes)
end
new(attributes) click to toggle source
# File lib/edmunds/vehicle/specification/model_year.rb, line 46
def initialize(attributes)
  @count = attributes['yearsCount']
  @model_years = attributes['years'].map { |json| ModelYear.new(json) } if attributes.key?('years')
end