module Conglomerate::Serializer::ClassMethods

Attributes

_attributes[W]
_commands[W]
_href[W]
_item_href[W]
_queries[W]
_templates[W]

Public Instance Methods

_attributes() click to toggle source
# File lib/conglomerate/serializer.rb, line 331
def _attributes
  @_attributes || []
end
_commands() click to toggle source
# File lib/conglomerate/serializer.rb, line 327
def _commands
  @_commands || []
end
_href() click to toggle source
# File lib/conglomerate/serializer.rb, line 315
def _href
  @_href || nil
end
_item_href() click to toggle source
# File lib/conglomerate/serializer.rb, line 319
def _item_href
  @_item_href || nil
end
_queries() click to toggle source
# File lib/conglomerate/serializer.rb, line 323
def _queries
  @_queries || []
end
_templates() click to toggle source
# File lib/conglomerate/serializer.rb, line 343
def _templates
  @_templates || []
end
attribute(name, options = {}, &block) click to toggle source
# File lib/conglomerate/serializer.rb, line 279
def attribute(name, options = {}, &block)
  template = options.fetch(:template, false)
  rel = options.fetch(:rel, nil)
  type = options.fetch(:type, :value)
  prompt = options.fetch(:prompt, nil)

  self._attributes = self._attributes << {
    :name => name, :template => template, :rel => rel, :type => type,
    :prompt => prompt, :block => block
  }
end
command(rel, options = {}, &block) click to toggle source
# File lib/conglomerate/serializer.rb, line 268
def command(rel, options = {}, &block)
  data = options.fetch(:data, [])
  prompt = options.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) click to toggle source
# File lib/conglomerate/serializer.rb, line 250
def href(&block)
  self._href = block
end
item_href(&block) click to toggle source
# File lib/conglomerate/serializer.rb, line 254
def item_href(&block)
  self._item_href = block
end
query(rel, options = {}, &block) click to toggle source
# File lib/conglomerate/serializer.rb, line 258
def query(rel, options = {}, &block)
  data = options.fetch(:data, [])

  data = [*data]
  data = data.map { |datum| {:name => datum} }
  self._queries = self._queries << {
    :rel => rel, :data => data, :block => block
  }
end
template(name, options = {}) click to toggle source
# File lib/conglomerate/serializer.rb, line 303
def template(name, options = {})
  type = options.fetch(:type, :value)
  prompt = options.fetch(:prompt, nil)

  self._templates = self._templates << {
    :name => name, :type => type, :prompt => prompt, :template => true
  }
end