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