module Settings::InstanceLevel::InstanceMethods

Set of methods that all instances with instance_settings set will share

Public Instance Methods

settings(&block) click to toggle source

Access settings at instance level

# File lib/iron/settings/instance_level.rb, line 62
def settings(&block)
  # Ensure we have a value store
  unless @settings_values 
    settings_reset!
  end

  # Set up for use, create a cursor to read/write, and we're good to go
  @settings_values.reload_if_needed
  cursor = Settings::Cursor.new(self.class.settings_instance_root, @settings_values, self)
  DslProxy::exec(cursor, &block) if block
  cursor
end
settings_reset!() click to toggle source

Throw out any unsaved changes

# File lib/iron/settings/instance_level.rb, line 80
def settings_reset!
  # Create our value store
  opts = self.class.settings_instance_options
  @settings_values = opts[:store] == :static ? 
    Settings::StaticStore.new(self.class.settings_instance_root, opts) :
    Settings::DBStore.new(self.class.settings_instance_root, self, opts)
end
settings_save!() click to toggle source
# File lib/iron/settings/instance_level.rb, line 75
def settings_save!
  @settings_values.save if @settings_values
end