Class: IIIF::V3::Presentation::NavPlace
- Inherits:
-
AbstractResource
- Object
- AbstractResource
- IIIF::V3::Presentation::NavPlace
- Defined in:
- lib/iiif/v3/presentation/nav_place.rb
Defined Under Namespace
Classes: Rect
Constant Summary collapse
- COORD_REGEX =
/(?:(?<hemisphere>[NSEW])\s*)?(?<degrees>\d+)[°⁰*](?:\s*(?<minutes>\d+)[\'ʹ′])?(?:\s*(?<seconds>\d+)["ʺ″])?(?:\s*(?<hemisphere>[NSEW]))?/
Constants inherited from AbstractResource
AbstractResource::CONTENT_RESOURCE_PROPERTIES, AbstractResource::PAGING_PROPERTIES
Constants included from HashBehaviours
HashBehaviours::SIMPLE_SELF_RETURNERS
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(coordinate_texts:, base_uri:) ⇒ NavPlace
constructor
A new instance of NavPlace.
-
#valid? ⇒ Boolean
Indicates if coordinate_texts passed in are valid.
Methods inherited from AbstractResource
#any_type_keys, #array_only_keys, from_ordered_hash, #hash_only_keys, #int_only_keys, #legal_viewing_direction_values, #legal_viewing_hint_values, #numeric_only_keys, parse, #prohibited_keys, #required_keys, #string_only_keys, #to_json, #to_ordered_hash, #uri_only_keys, #validate
Methods included from HashBehaviours
#clear, #merge, #merge!, #reject!, #select, #select!
Constructor Details
#initialize(coordinate_texts:, base_uri:) ⇒ NavPlace
10 11 12 13 |
# File 'lib/iiif/v3/presentation/nav_place.rb', line 10 def initialize(coordinate_texts:, base_uri:) @coordinate_texts = coordinate_texts @base_uri = base_uri end |
Instance Method Details
#build ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/iiif/v3/presentation/nav_place.rb', line 20 def build raise ArgumentError.new('invalid coordinates') unless valid? { id: "#{base_uri}/feature-collection/1", type: 'FeatureCollection', features: features } end |
#valid? ⇒ Boolean
16 17 18 |
# File 'lib/iiif/v3/presentation/nav_place.rb', line 16 def valid? !(coordinates.nil? || coordinates.empty?) end |