Top Level Namespace
Defined Under Namespace
Modules: CommandInitializationMethods, Enumerable, EventConstants, EventInitializationMethods, Inform, Java, Kernel, LoggerHelpers, Logging, ObjectSpace, PrivateCommandMethods, PrivateEventMethods, PublicCommandMethods, PublicEventMethods, ReverseEngineerClass, SessionManagementMethods, SessionStateManagementMethods, StoryTeller Classes: Array, EmptyImmutableEnumerable, ExtendedProperties, FalseClass, Hash, Integer, Logger, MethodAlreadyDefined, NilClass, Numeric, Object, Proc, Set, String, Symbol, Time, TrueClass
Constant Summary collapse
- WORDSIZE =
Simulate compiling with Z-code only compiler
(2**((0.size * 8) - 2) - 1)
- JavaStackTracePattern =
%r{(org[/.]+(java|jruby)|method_missing)}.freeze
- JoinedTemplate =
'%<str>s%<other>s'.freeze
- ObjectIdentityTemplate =
'#<%<klass>s:%<name>s:0x%<hex>x:%<id>d>'.freeze
- ObjectIdentityAttributes =
%i[name].freeze
- AttributeTemplate =
'@%<key>s=%<value>s'.freeze
- CommaSpaceString =
', '.freeze
- ListCommaTemplate =
'%<str>s, %<other>s %<last>s'.freeze
- ListSansCommaTemplate =
'%<str>s, %<other>s %<last>s'.freeze
- SentenceTemplate =
'%<str>s %<other>s %<last>s'.freeze
Instance Method Summary collapse
-
#Object(name, klass = Inform::Object, &block) ⇒ Object
def Object(name, klass = Inform::Object, &block) obj = klass == Inform::Object ? Inform::Object.build(name) : klass.new(name) obj.with(&block) if block_given? obj.save_changes if obj.respond_to?(:save_changes) obj end.
Instance Method Details
#Object(name, klass = Inform::Object, &block) ⇒ Object
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/story_teller/inform/ephemeral/object.rb', line 31 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 |