class Endymion::FieldSpec
Attributes
db_name[R]
default[R]
name[R]
Public Class Methods
new(name, opts={})
click to toggle source
# File lib/endymion/field_spec.rb, line 8 def initialize(name, opts={}) @name = name @default = opts[:default] @type = opts[:type] @packer = opts[:packer] @unpacker = opts[:unpacker] @db_name = opts[:db_name] ? Format.format_field(opts[:db_name]) : name @api = opts[:api] end
Public Instance Methods
pack(value)
click to toggle source
# File lib/endymion/field_spec.rb, line 18 def pack(value) if @packer && @packer.respond_to?(:call) @packer.call(value) elsif @type type_packer = @api.packer_for(@type) type_packer ? type_packer.call(value) : value else value end end
unpack(value)
click to toggle source
# File lib/endymion/field_spec.rb, line 29 def unpack(value) if @unpacker && @unpacker.respond_to?(:call) @unpacker.call(value) elsif @type type_packer = @api.unpacker_for(@type) type_packer ? type_packer.call(value) : value else value end end