class OpenAPIRest::ApiModel

Rest Api Model

Attributes

model[RW]
type[R]

Public Class Methods

new(type) click to toggle source
# File lib/openapi_rest/api_model.rb, line 9
def initialize(type)
  @type = type
  @model = type.to_s.capitalize!.constantize
end

Public Instance Methods

build(params, args = {}, &block) click to toggle source
# File lib/openapi_rest/api_model.rb, line 14
def build(params, args = {}, &block)
  native_query(params.merge(operation: :create), args, &block)
end
find(params, args = {}, &block) click to toggle source
# File lib/openapi_rest/api_model.rb, line 22
def find(params, args = {}, &block)
  native_query(params.merge(operation: :squery), args, &block)
end
where(params, args = {}, &block) click to toggle source
# File lib/openapi_rest/api_model.rb, line 18
def where(params, args = {}, &block)
  native_query(params.merge(operation: :query), args, &block)
end

Private Instance Methods

native_query(params, args) { |self| ... } click to toggle source
# File lib/openapi_rest/api_model.rb, line 28
def native_query(params, args)
  query_builder = OpenAPIRest::QueryBuilder.new(self, params.merge(query: args))

  yield(self) if block_given?

  query_builder.response
end