Module: SuperSettings::Storage::ClassMethods

Defined in:
lib/super_settings/storage.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#load_asynchronous=(value) ⇒ Object (writeonly)

Set to true to force loading setting asynchronously in a background thread.



102
103
104
# File 'lib/super_settings/storage.rb', line 102

def load_asynchronous=(value)
  @load_asynchronous = value
end

Instance Method Details

#activeArray<SuperSetting::Setting::Storage>

Return all non-deleted settings.

Returns:

  • (Array<SuperSetting::Setting::Storage>)


38
39
40
# File 'lib/super_settings/storage.rb', line 38

def active
  all.reject(&:deleted?)
end

#allArray<SuperSetting::Setting::Storage>

Storage classes must implent this method to return all settings included deleted ones.

Returns:

  • (Array<SuperSetting::Setting::Storage>)

Raises:

  • (NotImplementedError)


29
30
31
32
33
# File 'lib/super_settings/storage.rb', line 29

def all
  # :nocov:
  raise NotImplementedError
  # :nocov:
end

#create_history(key:, changed_by:, created_at:, value: nil, deleted: false) ⇒ void

This method returns an undefined value.

Create a history item for the setting.

Raises:

  • (NotImplementedError)


74
75
76
77
78
# File 'lib/super_settings/storage.rb', line 74

def create_history(key:, changed_by:, created_at:, value: nil, deleted: false)
  # :nocov:
  raise NotImplementedError
  # :nocov:
end

#destroy_allObject

Implementing classes can override this method to delete all settings. This is used for testing purposes.



106
107
# File 'lib/super_settings/storage.rb', line 106

def destroy_all
end

#find_by_key(key) ⇒ SuperSetting::Setting::Storage

Storage classes must implement this method to return a settings by it’s key.

Returns:

  • (SuperSetting::Setting::Storage)

Raises:

  • (NotImplementedError)


55
56
57
58
59
# File 'lib/super_settings/storage.rb', line 55

def find_by_key(key)
  # :nocov:
  raise NotImplementedError
  # :nocov:
end

#last_updated_atTime

Storage classes must implement this method to return most recent time that any setting was updated.

Returns:

  • (Time)

Raises:

  • (NotImplementedError)


65
66
67
68
69
# File 'lib/super_settings/storage.rb', line 65

def last_updated_at
  # :nocov:
  raise NotImplementedError
  # :nocov:
end

#load_asynchronous?Boolean

Return true if it’s safe to load setting asynchronously in a background thread.

Returns:

  • (Boolean)


97
98
99
# File 'lib/super_settings/storage.rb', line 97

def load_asynchronous?
  !!(@load_asynchronous.nil? ? default_load_asynchronous? : @load_asynchronous)
end

#transaction(&block) ⇒ void

This method returns an undefined value.

Implementing classes can override this method to wrap an operation in an atomic transaction.



90
91
92
# File 'lib/super_settings/storage.rb', line 90

def transaction(&block)
  yield
end

#updated_since(timestamp) ⇒ Array<SuperSetting::Setting::Storage>

Storage classes must implement this method to return all settings updates since the specified timestamp.

Returns:

  • (Array<SuperSetting::Setting::Storage>)

Raises:

  • (NotImplementedError)


46
47
48
49
50
# File 'lib/super_settings/storage.rb', line 46

def updated_since(timestamp)
  # :nocov:
  raise NotImplementedError
  # :nocov:
end

#with_connection(&block) ⇒ void

This method returns an undefined value.

Implementing classes can override this method to setup a thread safe connection within a block.



83
84
85
# File 'lib/super_settings/storage.rb', line 83

def with_connection(&block)
  yield
end