class RailsParam::Parameter

Constants

STRING_OR_TIME_TYPES
TIME_TYPES

Attributes

name[RW]
options[RW]
type[RW]
value[RW]

Public Class Methods

new(name:, value:, options: {}, type: nil) click to toggle source
# File lib/rails_param/parameter.rb, line 8
def initialize(name:, value:, options: {}, type: nil)
  @name = name
  @value = value
  @options = options
  @type = type
end

Public Instance Methods

set_default() click to toggle source
# File lib/rails_param/parameter.rb, line 19
def set_default
  self.value = options[:default].respond_to?(:call) ? options[:default].call : options[:default]
end
should_set_default?() click to toggle source
# File lib/rails_param/parameter.rb, line 15
def should_set_default?
  value.nil? && check_param_presence?(options[:default])
end
transform() click to toggle source
# File lib/rails_param/parameter.rb, line 23
def transform
  self.value = options[:transform].to_proc.call(value)
end
validate() click to toggle source
# File lib/rails_param/parameter.rb, line 27
def validate
  Validator.new(self).validate!
end

Private Instance Methods

check_param_presence?(param) click to toggle source
# File lib/rails_param/parameter.rb, line 33
def check_param_presence?(param)
  !param.nil?
end