class HashCast::Casters::SymbolCaster

Constants

MAX_SYMBOL_LENGTH

Public Class Methods

cast(value, attr_name, options = {}) click to toggle source
# File lib/hashcast/casters/symbol_caster.rb, line 4
def self.cast(value, attr_name, options = {})
  return value              if value.is_a?(Symbol)
  return cast_string(value) if value.is_a?(String)
  raise HashCast::Errors::CastingError, "should be a symbol"
end
cast_string(value) click to toggle source
# File lib/hashcast/casters/symbol_caster.rb, line 10
def self.cast_string(value)
  return value.to_sym if value.length <= MAX_SYMBOL_LENGTH
  raise HashCast::Errors::CastingError, "is too long to be a symbol (#{MAX_SYMBOL_LENGTH} max.)"
end