Class: DatabaseValidations::OptionsStorage
- Inherits:
-
Object
- Object
- DatabaseValidations::OptionsStorage
- Defined in:
- lib/database_validations/validations/options_storage.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #each_belongs_to_presence_validator ⇒ Object
- #each_uniqueness_validator ⇒ Object
-
#initialize(klass) ⇒ OptionsStorage
constructor
A new instance of OptionsStorage.
- #push_belongs_to(field, relation) ⇒ Object
- #push_uniqueness(field, options) ⇒ Object
Constructor Details
#initialize(klass) ⇒ OptionsStorage
Returns a new instance of OptionsStorage.
3 4 5 6 |
# File 'lib/database_validations/validations/options_storage.rb', line 3 def initialize(klass) @adapter = Adapters.factory(klass) @storage = {} end |
Instance Method Details
#[](key) ⇒ Object
18 19 20 |
# File 'lib/database_validations/validations/options_storage.rb', line 18 def [](key) storage[key] end |
#each_belongs_to_presence_validator ⇒ Object
26 27 28 |
# File 'lib/database_validations/validations/options_storage.rb', line 26 def each_belongs_to_presence_validator storage.values.grep(BelongsToOptions).each { |validator| yield(validator) } end |
#each_uniqueness_validator ⇒ Object
22 23 24 |
# File 'lib/database_validations/validations/options_storage.rb', line 22 def each_uniqueness_validator storage.values.grep(UniquenessOptions).each { |validator| yield(validator) } end |
#push_belongs_to(field, relation) ⇒ Object
13 14 15 16 |
# File 'lib/database_validations/validations/options_storage.rb', line 13 def push_belongs_to(field, relation) = BelongsToOptions.new(field, relation, adapter) storage[.key] = end |
#push_uniqueness(field, options) ⇒ Object
8 9 10 11 |
# File 'lib/database_validations/validations/options_storage.rb', line 8 def push_uniqueness(field, ) = UniquenessOptions.new(field, , adapter) storage[.key] = end |