Sha256: d392c1bff6f4e3646cbd5cee804770e6a5ef22da96f6e4d0e1b23437a0c00f4d
Contents?: true
Size: 757 Bytes
Versions: 3
Compression:
Stored size: 757 Bytes
Contents
require 'ipaddr' module DataMapper module Types class IPAddress < DataMapper::Type primitive String length 16 def self.load(value, property) if value.nil? nil elsif value.is_a?(String) && !value.empty? IPAddr.new(value) elsif value.is_a?(String) && value.empty? IPAddr.new("0.0.0.0") else raise ArgumentError.new("+value+ must be nil or a String") end end def self.dump(value, property) return nil if value.nil? value.to_s end def self.typecast(value, property) value.kind_of?(IPAddr) ? value : load(value, property) end end # class IPAddress end # module Types end # module DataMapper
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dm-types-0.10.2 | lib/dm-types/ip_address.rb |
dm-types-0.10.1 | lib/dm-types/ip_address.rb |
dm-types-0.10.0 | lib/dm-types/ip_address.rb |