Class: Yoti::DynamicSharingService::LocationConstraintExtensionBuilder
- Inherits:
-
Object
- Object
- Yoti::DynamicSharingService::LocationConstraintExtensionBuilder
- Defined in:
- lib/yoti/dynamic_share_service/extension/location_constraint_extension.rb
Overview
Builder for LocationConstraintExtension
Instance Method Summary collapse
- #build ⇒ Object
- #with_latitude(latitude) ⇒ Object
- #with_longitude(longitude) ⇒ Object
- #with_max_uncertainty(uncertainty) ⇒ Object
- #with_radius(radius) ⇒ Object
Instance Method Details
#build ⇒ Object
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
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
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
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
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 |