class Fried::Schema::CreateDefinitionIfMissing

Creates schema definition if missing

Attributes

get_definition[RW]

Public Class Methods

build() click to toggle source
# File lib/fried/schema/create_definition_if_missing.rb, line 10
def self.build
  new.tap do |instance|
    instance.get_definition = GetDefinition.build
  end
end
call(obj) click to toggle source
# File lib/fried/schema/create_definition_if_missing.rb, line 16
def self.call(obj)
  instance = build
  instance.(obj)
end

Public Instance Methods

call(obj) click to toggle source

@param obj [Class] a {Struct} or {DataEntity} class @return [Definition]

# File lib/fried/schema/create_definition_if_missing.rb, line 23
def call(obj)
  schema = get_definition.(obj)

  schema || obj.instance_variable_set(:@__fried_schema__, Definition.new)
end