module JSONAPI::Deserializable::Resource::DSL

Constants

DEFAULT_ATTR_BLOCK
DEFAULT_HAS_MANY_BLOCK
DEFAULT_HAS_ONE_BLOCK
DEFAULT_ID_BLOCK
DEFAULT_TYPE_BLOCK

Public Instance Methods

attribute(key, &block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 23
def attribute(key, &block)
  attr_blocks[key.to_s] = block || DEFAULT_ATTR_BLOCK
end
attributes(*keys, &block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 27
def attributes(*keys, &block)
  if keys.empty?
    self.default_attr_block = block || DEFAULT_ATTR_BLOCK
  else
    keys.each { |k| attribute(k, &block) }
  end
end
has_many(key = nil, &block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 43
def has_many(key = nil, &block)
  if key
    has_many_rel_blocks[key.to_s] = block || DEFAULT_HAS_MANY_BLOCK
  else
    self.default_has_many_rel_block = block || DEFAULT_HAS_MANY_BLOCK
  end
end
has_one(key = nil, &block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 35
def has_one(key = nil, &block)
  if key
    has_one_rel_blocks[key.to_s] = block || DEFAULT_HAS_ONE_BLOCK
  else
    self.default_has_one_rel_block = block || DEFAULT_HAS_ONE_BLOCK
  end
end
id(&block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 19
def id(&block)
  self.id_block = block || DEFAULT_ID_BLOCK
end
key_format(callable = nil, &block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 51
def key_format(callable = nil, &block)
  self.key_formatter = callable || block
end
type(&block) click to toggle source
# File lib/jsonapi/deserializable/resource/dsl.rb, line 15
def type(&block)
  self.type_block = block || DEFAULT_TYPE_BLOCK
end