class LIVR::AliasedRule

Public Class Methods

new(_alias) click to toggle source
# File lib/livr/aliased_rule.rb, line 4
def initialize(_alias)
  raise "Alias name required" unless _alias["name"]
  raise "Alias rules required" unless _alias["rules"].present?

  @alias = _alias
  @validator = Validator.new(value: Array.wrap(@alias["rules"]))
end

Public Instance Methods

call(value, user_data, field_results) click to toggle source
# File lib/livr/aliased_rule.rb, line 16
def call(value, user_data, field_results)
  result = @validator.validate({ value: value })
  if result
    field_results << result[:value]
    return
  else
    return @alias.fetch("error", @validator.get_errors)
  end
end
new(*args) click to toggle source
# File lib/livr/aliased_rule.rb, line 12
def new(*args)
  self
end