module Onsi::Model::ClassMethods

Defines class methods available on the class.

Public Instance Methods

api_render(version, id: :id, &block) click to toggle source

Add a version to be rendered.

@param version [Symbol] The version that will trigger this render block.

@param block [Block] The block. Called on an instance

of {Onsi::Model::ModelRenderer}
# File lib/onsi/model.rb, line 51
def api_render(version, id: :id, &block)
  api_renderer(version, id).instance_exec(&block)
end
api_renderer(version, id, for_render: false) click to toggle source

Fetch the {Onsi::Model::ModelRenderer} for the version.

@param version [Symbol] The version to fetch the renderer for.

@param for_render [true, false] Specifies if the version should be

required to exist. Should only ever be true when attempting to render
the resource.

@raise [Onsi::Errors::UnknownVersionError] If the version isn't defined

and the for_render param is true.
# File lib/onsi/model.rb, line 66
def api_renderer(version, id, for_render: false)
  @api_renderer ||= {}
  if for_render
    raise Errors::UnknownVersionError.new(self, version) if @api_renderer[version].nil?
  else
    @api_renderer[version] ||= ModelRenderer.new(id)
  end
  @api_renderer[version]
end