Class: Grape::Namespace
- Inherits:
-
Object
- Object
- Grape::Namespace
- Defined in:
- lib/grape/namespace.rb
Overview
A container for endpoints or other namespaces, which allows for both logical grouping of endpoints as well as sharing common configuration. May also be referred to as group, segment, or resource.
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#space ⇒ Object
readonly
Returns the value of attribute space.
Class Method Summary collapse
- .joined_space(settings) ⇒ Object
-
.joined_space_path(settings) ⇒ Object
Join the namespaces from a list of settings to create a path prefix.
Instance Method Summary collapse
-
#initialize(space, **options) ⇒ Namespace
constructor
A new instance of Namespace.
-
#requirements ⇒ Hash
Retrieves the requirements from the options hash, if given.
Constructor Details
#initialize(space, **options) ⇒ Namespace
Returns a new instance of Namespace.
13 14 15 16 |
# File 'lib/grape/namespace.rb', line 13 def initialize(space, **) @space = space.to_s @options = end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
6 7 8 |
# File 'lib/grape/namespace.rb', line 6 def @options end |
#space ⇒ Object (readonly)
Returns the value of attribute space.
6 7 8 |
# File 'lib/grape/namespace.rb', line 6 def space @space end |
Class Method Details
.joined_space(settings) ⇒ Object
25 26 27 |
# File 'lib/grape/namespace.rb', line 25 def self.joined_space(settings) (settings || []).map(&:space).join('/') end |
.joined_space_path(settings) ⇒ Object
Join the namespaces from a list of settings to create a path prefix.
31 32 33 |
# File 'lib/grape/namespace.rb', line 31 def self.joined_space_path(settings) Grape::Router.normalize_path(joined_space(settings)) end |
Instance Method Details
#requirements ⇒ Hash
Retrieves the requirements from the options hash, if given.
20 21 22 |
# File 'lib/grape/namespace.rb', line 20 def requirements [:requirements] || {} end |