Class: UkCountyLocator::ArgumentValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/uk_county_locator/argument_validator.rb

Overview

Class that encompasses all validations on user input

Constant Summary collapse

VALID_COUNTY_TYPES =
i[current ceremonial historic].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request:, type:, lat: nil, lng: nil, county: nil) ⇒ ArgumentValidator

Returns a new instance of ArgumentValidator.



10
11
12
13
14
15
16
# File 'lib/uk_county_locator/argument_validator.rb', line 10

def initialize(request:, type:, lat: nil, lng: nil, county: nil)
  @request = request
  @type = verified_type(type)
  @lat = parse_coordinate(lat, 'lat') if @request == :county
  @lng = parse_coordinate(lng, 'lat') if @request == :county
  @county = validated_county(county) if @request == :polygon
end

Instance Attribute Details

#countyObject (readonly)

Returns the value of attribute county.



6
7
8
# File 'lib/uk_county_locator/argument_validator.rb', line 6

def county
  @county
end

#latObject (readonly)

Returns the value of attribute lat.



6
7
8
# File 'lib/uk_county_locator/argument_validator.rb', line 6

def lat
  @lat
end

#lngObject (readonly)

Returns the value of attribute lng.



6
7
8
# File 'lib/uk_county_locator/argument_validator.rb', line 6

def lng
  @lng
end

#typeObject (readonly)

Returns the value of attribute type.



6
7
8
# File 'lib/uk_county_locator/argument_validator.rb', line 6

def type
  @type
end