Top Level Namespace

Defined Under Namespace

Modules: DatabaseConnectionHelpers, DatabaseResetHelpers, Databases, Greenfield, Inform, Sequel, SequelLoggers, SequelPlugins, StoryTeller, StoryTellerCli Classes: EphemeralCache, ExtendedProperties, LinkSetup, ModularizedSetup, ModuleSetup, ObjectSetup, Persistence, TagSetup, TaggedSetup

Instance Method Summary collapse

Instance Method Details

#Object(name, klass = Inform::Object, &block) ⇒ Object



61
62
63
64
65
66
67
68
69
70
# File 'lib/story_teller/inform/relational/object.rb', line 61

def Object(name, klass = Inform::Object, &block)
  obj = if klass.respond_to?(:fetch_or_create_by_name)
    klass.fetch_or_create_by_name(name)
  else
    klass.new(name)
  end
  obj.with(&block) if block_given?
  obj.save_changes if obj.respond_to?(:save_changes)
  obj
end