Module: Conglomerate::Serializer::ClassMethods
- Defined in:
- lib/conglomerate/serializer.rb
Instance Attribute Summary collapse
- #_attributes ⇒ Object
- #_commands ⇒ Object
- #_href ⇒ Object
- #_item_href ⇒ Object
- #_item_links ⇒ Object
- #_links ⇒ Object
- #_queries ⇒ Object
- #_templates ⇒ Object
Instance Method Summary collapse
- #attribute(name, options = {}, &block) ⇒ Object
- #command(rel, options = {}, &block) ⇒ Object
- #href(&block) ⇒ Object
- #item_href(&block) ⇒ Object
- #item_link(rel, &block) ⇒ Object
- #link(rel, &block) ⇒ Object
- #query(rel, options = {}, &block) ⇒ Object
- #template(name, options = {}) ⇒ Object
Instance Attribute Details
#_attributes ⇒ Object
331 332 333 |
# File 'lib/conglomerate/serializer.rb', line 331 def _attributes @_attributes || [] end |
#_commands ⇒ Object
327 328 329 |
# File 'lib/conglomerate/serializer.rb', line 327 def _commands @_commands || [] end |
#_href ⇒ Object
315 316 317 |
# File 'lib/conglomerate/serializer.rb', line 315 def _href @_href || nil end |
#_item_href ⇒ Object
319 320 321 |
# File 'lib/conglomerate/serializer.rb', line 319 def _item_href @_item_href || nil end |
#_item_links ⇒ Object
339 340 341 |
# File 'lib/conglomerate/serializer.rb', line 339 def _item_links @_item_links || [] end |
#_links ⇒ Object
335 336 337 |
# File 'lib/conglomerate/serializer.rb', line 335 def _links @_links || [] end |
#_queries ⇒ Object
323 324 325 |
# File 'lib/conglomerate/serializer.rb', line 323 def _queries @_queries || [] end |
#_templates ⇒ Object
343 344 345 |
# File 'lib/conglomerate/serializer.rb', line 343 def _templates @_templates || [] end |
Instance Method Details
#attribute(name, options = {}, &block) ⇒ Object
279 280 281 282 283 284 285 286 287 288 289 |
# File 'lib/conglomerate/serializer.rb', line 279 def attribute(name, = {}, &block) template = .fetch(:template, false) rel = .fetch(:rel, nil) type = .fetch(:type, :value) prompt = .fetch(:prompt, nil) self._attributes = self._attributes << { :name => name, :template => template, :rel => rel, :type => type, :prompt => prompt, :block => block } end |
#command(rel, options = {}, &block) ⇒ Object
268 269 270 271 272 273 274 275 276 277 |
# File 'lib/conglomerate/serializer.rb', line 268 def command(rel, = {}, &block) data = .fetch(:data, []) prompt = .fetch(:prompt, nil) data = [*data] data = data.map { |datum| {:name => datum} } self._commands = self._commands << { :rel => rel, :data => data, :prompt => prompt, :block => block } end |
#href(&block) ⇒ Object
250 251 252 |
# File 'lib/conglomerate/serializer.rb', line 250 def href(&block) self._href = block end |
#item_href(&block) ⇒ Object
254 255 256 |
# File 'lib/conglomerate/serializer.rb', line 254 def item_href(&block) self._item_href = block end |
#item_link(rel, &block) ⇒ Object
297 298 299 300 301 |
# File 'lib/conglomerate/serializer.rb', line 297 def item_link(rel, &block) self._item_links = self._item_links << { :rel => rel, :block => block } end |
#link(rel, &block) ⇒ Object
291 292 293 294 295 |
# File 'lib/conglomerate/serializer.rb', line 291 def link(rel, &block) self._links = self._links << { :rel => rel, :block => block } end |
#query(rel, options = {}, &block) ⇒ Object
258 259 260 261 262 263 264 265 266 |
# File 'lib/conglomerate/serializer.rb', line 258 def query(rel, = {}, &block) data = .fetch(:data, []) data = [*data] data = data.map { |datum| {:name => datum} } self._queries = self._queries << { :rel => rel, :data => data, :block => block } end |
#template(name, options = {}) ⇒ Object
303 304 305 306 307 308 309 310 |
# File 'lib/conglomerate/serializer.rb', line 303 def template(name, = {}) type = .fetch(:type, :value) prompt = .fetch(:prompt, nil) self._templates = self._templates << { :name => name, :type => type, :prompt => prompt, :template => true } end |