Class: DatabaseValidations::OptionsStorage

Inherits:
Object
  • Object
show all
Defined in:
lib/database_validations/lib/options_storage.rb

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ OptionsStorage

Returns a new instance of OptionsStorage.



3
4
5
6
# File 'lib/database_validations/lib/options_storage.rb', line 3

def initialize(klass)
  @adapter = Adapters.factory(klass).new(klass)
  @storage = {}
end

Instance Method Details

#[](key) ⇒ Object



19
20
21
# File 'lib/database_validations/lib/options_storage.rb', line 19

def [](key)
  storage[key]
end

#optionsObject



23
24
25
# File 'lib/database_validations/lib/options_storage.rb', line 23

def options
  storage.values
end

#push_belongs_to(field, relation) ⇒ Object



14
15
16
17
# File 'lib/database_validations/lib/options_storage.rb', line 14

def push_belongs_to(field, relation)
  belongs_to_options = BelongsToOptions.new(field, relation, adapter)
  storage[belongs_to_options.key] = belongs_to_options
end

#push_uniqueness(field, options) ⇒ Object



8
9
10
11
12
# File 'lib/database_validations/lib/options_storage.rb', line 8

def push_uniqueness(field, options)
  uniqueness_options = UniquenessOptions.new(field, options, adapter)
  storage[uniqueness_options.index_key] = uniqueness_options
  storage[uniqueness_options.column_key] = uniqueness_options
end