Sha256: 4a1ee6bdc1c08ace26b8594e699202bd037ae0f3c996869d1c09fb39303e7508
Contents?: true
Size: 668 Bytes
Versions: 1
Compression:
Stored size: 668 Bytes
Contents
# frozen_string_literal: true require_relative "types/string" require_relative "types/integer" require_relative "types/float" require_relative "types/boolean" require_relative "types/time" module Attribeauty # base cast for types class Cast BASE_TYPES = { float: Types::Float, integer: Types::Integer, boolean: Types::Boolean, time: Types::Time, string: Types::String }.freeze def self.cast(value, type) return nil if value.nil? all_types = Attribeauty.configuration.types raise ArgumentError, "#{type} not supported" if all_types[type].nil? all_types[type].new.cast(value) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
attribeauty-0.1.0 | lib/attribeauty/cast.rb |