Class: HashCast::Casters::SymbolCaster
- Inherits:
-
Object
- Object
- HashCast::Casters::SymbolCaster
- Defined in:
- lib/hashcast/casters/symbol_caster.rb
Constant Summary collapse
- MAX_SYMBOL_LENGTH =
1000
Class Method Summary collapse
Class Method Details
.cast(value, attr_name, options = {}) ⇒ Object
4 5 6 7 8 |
# File 'lib/hashcast/casters/symbol_caster.rb', line 4 def self.cast(value, attr_name, = {}) 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) ⇒ Object
10 11 12 13 |
# 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 |