class Jason::ApiModel
Attributes
model[RW]
name[RW]
Public Class Methods
configure(models)
click to toggle source
# File lib/jason/api_model.rb, line 5 def self.configure(models) @@models = models end
new(name)
click to toggle source
# File lib/jason/api_model.rb, line 9 def initialize(name) @name = name @model = OpenStruct.new(Jason.schema[name.to_sym]) end
Public Instance Methods
allowed_object_params()
click to toggle source
# File lib/jason/api_model.rb, line 18 def allowed_object_params model.allowed_object_params || [] end
allowed_params()
click to toggle source
# File lib/jason/api_model.rb, line 14 def allowed_params model.allowed_params || [] end
as_json_config()
click to toggle source
# File lib/jason/api_model.rb, line 46 def as_json_config { only: subscribed_fields, methods: include_methods } end
include_methods()
click to toggle source
# File lib/jason/api_model.rb, line 22 def include_methods model.include_methods || [] end
permit(params)
click to toggle source
# File lib/jason/api_model.rb, line 38 def permit(params) params = params.require(:payload).permit(allowed_params).tap do |allowed| allowed_object_params.each do |key| allowed[key] = params[:payload][key].to_unsafe_h if params[:payload][key] end end end
priority_scope()
click to toggle source
# File lib/jason/api_model.rb, line 26 def priority_scope model.priority_scope || [] end
scope()
click to toggle source
# File lib/jason/api_model.rb, line 34 def scope model.scope end
subscribed_fields()
click to toggle source
# File lib/jason/api_model.rb, line 30 def subscribed_fields model.subscribed_fields || [] end