Class: Sequent::Core::Helpers::ValueValidators
- Inherits:
-
Object
- Object
- Sequent::Core::Helpers::ValueValidators
- Defined in:
- lib/sequent/core/helpers/value_validators.rb
Constant Summary collapse
- VALIDATORS =
{ ::Symbol => ->(_) { true }, ::String => ->(value) { value.nil? || value.is_a?(String) }, ::Integer => ->(value) { valid_integer?(value) }, ::Boolean => ->(value) { valid_bool?(value) }, ::Date => ->(value) { valid_date?(value) }, ::DateTime => ->(value) { valid_date_time?(value) } }
Class Method Summary collapse
- .for(klass) ⇒ Object
- .valid_bool?(value) ⇒ Boolean
- .valid_date?(value) ⇒ Boolean
- .valid_date_time?(value) ⇒ Boolean
- .valid_integer?(value) ⇒ Boolean
Instance Method Summary collapse
-
#initialize(klass) ⇒ ValueValidators
constructor
A new instance of ValueValidators.
- #valid_value?(value) ⇒ Boolean
Constructor Details
#initialize(klass) ⇒ ValueValidators
Returns a new instance of ValueValidators.
43 44 45 |
# File 'lib/sequent/core/helpers/value_validators.rb', line 43 def initialize(klass) @klass = klass end |
Class Method Details
.for(klass) ⇒ Object
39 40 41 |
# File 'lib/sequent/core/helpers/value_validators.rb', line 39 def self.for(klass) new(klass) end |
.valid_bool?(value) ⇒ Boolean
22 23 24 25 |
# File 'lib/sequent/core/helpers/value_validators.rb', line 22 def self.valid_bool?(value) return true if value.blank? value.is_a?(TrueClass) || value.is_a?(FalseClass) || value == "true" || value == "false" end |
.valid_date?(value) ⇒ Boolean
27 28 29 30 31 32 |
# File 'lib/sequent/core/helpers/value_validators.rb', line 27 def self.valid_date?(value) return true if value.blank? return true if value.is_a?(Date) return false unless value =~ /\d{4}-\d{2}-\d{2}/ !!Date.iso8601(value) rescue false end |
Instance Method Details
#valid_value?(value) ⇒ Boolean
47 48 49 |
# File 'lib/sequent/core/helpers/value_validators.rb', line 47 def valid_value?(value) VALIDATORS[@klass].call(value) end |