class SimpleParams::ValidationBuilder

Public Class Methods

new(opts={}) click to toggle source
# File lib/simple_params/validation_builder.rb, line 3
def initialize(opts={})
  @opts = opts
  @validations = opts[:validations] || {}
end

Public Instance Methods

build() click to toggle source
# File lib/simple_params/validation_builder.rb, line 8
def build
  if allow_nil?
    unless @validations.empty?
      @validations.merge!(allow_nil: true)
    end
  else
    @validations.merge!(presence: true)
  end

  @validations
end

Private Instance Methods

allow_nil?() click to toggle source
# File lib/simple_params/validation_builder.rb, line 29
def allow_nil?
  optional? || has_default?
end
has_default?() click to toggle source
# File lib/simple_params/validation_builder.rb, line 21
def has_default?
  @opts.has_key?(:default)
end
optional?() click to toggle source
# File lib/simple_params/validation_builder.rb, line 25
def optional?
  !!@opts[:optional]
end