Class: ActionSpec::Doc::Location
- Inherits:
-
Object
- Object
- ActionSpec::Doc::Location
- Includes:
- Enumerable
- Defined in:
- lib/action_spec/doc/endpoint.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Instance Method Summary collapse
- #[](name) ⇒ Object
- #add(field) ⇒ Object
- #copy ⇒ Object
- #custom_validation? ⇒ Boolean
- #custom_validation_fields ⇒ Object
- #each(&block) ⇒ Object
- #field(name) ⇒ Object
- #fields ⇒ Object
-
#initialize(name) ⇒ Location
constructor
A new instance of Location.
Constructor Details
#initialize(name) ⇒ Location
Returns a new instance of Location.
135 136 137 138 |
# File 'lib/action_spec/doc/endpoint.rb', line 135 def initialize(name) @name = name @fields = ActiveSupport::OrderedHash.new end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
133 134 135 |
# File 'lib/action_spec/doc/endpoint.rb', line 133 def name @name end |
Instance Method Details
#[](name) ⇒ Object
149 150 151 |
# File 'lib/action_spec/doc/endpoint.rb', line 149 def [](name) field(name) end |
#add(field) ⇒ Object
140 141 142 143 |
# File 'lib/action_spec/doc/endpoint.rb', line 140 def add(field) @fields[field.name] = field clear_custom_validation_cache! end |
#copy ⇒ Object
161 162 163 164 165 |
# File 'lib/action_spec/doc/endpoint.rb', line 161 def copy self.class.new(name).tap do |location| fields.each { |field| location.add(field.copy) } end end |
#custom_validation? ⇒ Boolean
167 168 169 |
# File 'lib/action_spec/doc/endpoint.rb', line 167 def custom_validation? custom_validation_fields.any? end |
#custom_validation_fields ⇒ Object
171 172 173 |
# File 'lib/action_spec/doc/endpoint.rb', line 171 def custom_validation_fields @custom_validation_fields ||= fields.select(&:custom_validation?).freeze end |
#each(&block) ⇒ Object
157 158 159 |
# File 'lib/action_spec/doc/endpoint.rb', line 157 def each(&block) fields.each(&block) end |
#field(name) ⇒ Object
145 146 147 |
# File 'lib/action_spec/doc/endpoint.rb', line 145 def field(name) @fields[name.to_sym] end |
#fields ⇒ Object
153 154 155 |
# File 'lib/action_spec/doc/endpoint.rb', line 153 def fields @fields.values end |