Class: Yoti::DynamicSharingService::LocationConstraintExtensionBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb

Overview

Builder for LocationConstraintExtension

Instance Method Summary collapse

Instance Method Details

#buildObject



73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb', line 73

def build
  @radius ||= 150 unless @radius
  @uncertainty ||= 150 unless @uncertainty

  extension = LocationConstraintExtension.new
  extension.instance_variable_get(:@content)[:expected_device_location] = {
    latitude: @latitude,
    longitude: @longitude,
    radius: @radius,
    max_uncertainty_radius: @uncertainty
  }
  extension
end

#with_latitude(latitude) ⇒ Object

Raises:

  • (ArgumentError)


35
36
37
38
39
40
41
42
43
# File 'lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb', line 35

def with_latitude(latitude)
  raise ArgumentError, 'Latitude must be Integer or Float'\
    unless latitude.is_a?(Integer) || latitude.is_a?(Float)
  raise ArgumentError, 'Latitude must be between -90 and 90'\
    unless latitude >= -90 && latitude <= 90

  @latitude = latitude
  self
end

#with_longitude(longitude) ⇒ Object

Raises:

  • (ArgumentError)


45
46
47
48
49
50
51
52
53
# File 'lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb', line 45

def with_longitude(longitude)
  raise ArgumentError, 'Longitude must be Integer or Float'\
    unless longitude.is_a?(Integer) || longitude.is_a?(Float)
  raise ArgumentError, 'Longitude must be between -180 and 180'\
    unless longitude >= -180 && longitude <= 180

  @longitude = longitude
  self
end

#with_max_uncertainty(uncertainty) ⇒ Object

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
# File 'lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb', line 64

def with_max_uncertainty(uncertainty)
  raise ArgumentError, 'Uncertainty must be Integer or Float'\
    unless uncertainty.is_a?(Integer) || uncertainty.is_a?(Float)
  raise ArgumentError, 'Uncertainty must be >= 0' unless uncertainty >= 0

  @uncertainty = uncertainty
  self
end

#with_radius(radius) ⇒ Object

Raises:

  • (ArgumentError)


55
56
57
58
59
60
61
62
# File 'lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb', line 55

def with_radius(radius)
  raise ArgumentError, 'Radius must be Integer or Float'\
    unless radius.is_a?(Integer) || radius.is_a?(Float)
  raise ArgumentError, 'Radius must be >= 0' unless radius >= 0

  @radius = radius
  self
end