module Onsi::Model
The Model
helper for create a renderable helper.
@author Maddie Schipper @since 1.0.0
@example
class Person < ApplicationRecord include Onsi::Model api_render(:v1) do # Passing the name of the attribute only will call that name as a method on # the instance of the method. attribute(:first_name) attribute(:last_name) # You can give attribute a block and it will be called on the object # instance. This lets you rename or compute attributes attribute(:full_name) { "#{first_name} #{last_name}" } # Relationship requires a minimum of 2 parameters. The first is the name # of the relationship in the rendered JSON. The second is the type. # When fetching the value, Onsi will add `_id` and call that method on the # object instance. e.g. `team_id` in this case. relationship(:team, :team) # Relationships can take a block that will be called on the object instance # and the return value will be used as the ID relationship(:primary_email, :email) { emails.where(primary: true).first.id } end end
Constants
- DEFAULT_API_VERSION
The current default rendered API version.