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