Module: Polyseerio::URL
- Includes:
- Functional::Memo
- Defined in:
- lib/url_builder.rb
Overview
Functions and constants used for formatting and building resource URIs.
Constant Summary collapse
- RoutableResources =
Resources that are mapped to environments.
[ Enum::Resource::ALERT, Enum::Resource::EVENT, Enum::Resource::EXPECTATION, Enum::Resource::INSTANCE, Enum::Resource::TASK ].freeze
Class Method Summary collapse
-
.get_base_url(base, protocol, version) ⇒ Object
Generate a base API url.
-
.get_resource_path(resource, options = {}) ⇒ Object
Get a resource’s path.
-
.routable_resource?(resource) ⇒ Boolean
Determine if a resource is routable to an environment.
Class Method Details
.get_base_url(base, protocol, version) ⇒ Object
Generate a base API url.
24 25 26 27 28 |
# File 'lib/url_builder.rb', line 24 def self.get_base_url(base, protocol, version) version ||= Constant::DEFAULT_API_VERSION "#{protocol}#{base}/#{version}" end |
.get_resource_path(resource, options = {}) ⇒ Object
Get a resource’s path.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/url_builder.rb', line 31 def self.get_resource_path(resource, = {}) environment = '' if routable_resource? resource if !.include?(:eid) || [:eid].nil? raise ArgumentError, 'Cannot get routable resource path for'\ " #{resource} without passing an eid to options." end environment = format('environments/%s/', [:eid]) end id = if .include?(:id) && ![:id].nil? format('/%s', [:id]) else '' end format('/%s%s%s', environment, resource, id) end |
.routable_resource?(resource) ⇒ Boolean
Determine if a resource is routable to an environment.
19 20 21 |
# File 'lib/url_builder.rb', line 19 def self.routable_resource?(resource) RoutableResources.include? resource end |