class SmartCore::Validator::Attribute

@api private @since 0.1.0

Attributes

name[R]

@return [Symbol]

@api private @since 0.1.0

Public Class Methods

new(name, default_value = nil) click to toggle source

@param name [String, Symbol] @param default_value [Proc, Object] @return [void]

@api private @since 0.1.0

# File lib/smart_core/validator/attribute.rb, line 18
def initialize(name, default_value = nil)
  unless name.is_a?(Symbol) || name.is_a?(String)
    raise(
      SmartCore::Validator::IncorrectAttributeNameError,
      'Attribute name should be a symbol or a string'
    )
  end

  @name = name.to_sym
  @default_value = default_value
end

Public Instance Methods

default_value() click to toggle source

@return [Any]

@api private @since 0.1.0

# File lib/smart_core/validator/attribute.rb, line 34
def default_value
  @default_value.is_a?(Proc) ? @default_value.call : @default_value
end
dup() click to toggle source

@return [SmartCore::Validator::Attribute]

@api private @since 0.1.0

# File lib/smart_core/validator/attribute.rb, line 42
def dup
  self.class.new(name, @default_value)
end