module ActiveModel::Serializers::Binary::ClassMethods

Public Instance Methods

add_virtual_attribute( instance, attr ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 48
def add_virtual_attribute( instance, attr )
  if attr[:virtual] == true
    true
  else
    attr_name = attr[:name].to_s
    if !instance.respond_to? attr_name
      attr[:virtual] = true
      attr_accessor attr_name
      true
    else
      false
    end
  end
end
add_virtual_attributes( instance ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 44
def add_virtual_attributes( instance )
  self.attr_config.each{ |attr| add_virtual_attribute(instance, attr) }
end
align( boundary = false ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 166
def align( boundary = false )
  self.serialize_options_global.merge!({align: boundary})
end
bitfield( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 132
def bitfield( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::BitField, type: :bitfield}), &block
end
bool( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 152
def bool( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Bool, type: :bool}), &block
end
char( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 147
def char( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Char}), &block
end
endianess( type = :little ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 162
def endianess( type = :little )
  self.serialize_options_global.merge!({endianess: type})
end
float32( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 137
def float32( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Float32}), &block
end
float64( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 142
def float64( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Float64}), &block
end
int16( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 75
def int16( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Int16}), &block
end
int16be( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 84
def int16be( attr_name, options = {}, &block )
  int16( attr_name, options.merge({endianess: :big}), &block )
end
int16le( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 80
def int16le( attr_name, options = {}, &block )
  int16( attr_name, options.merge({endianess: :little}), &block )
end
int32( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 88
def int32( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Int32}), &block
end
int32be( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 97
def int32be( attr_name, options = {}, &block )
  int32( attr_name, options.merge({endianess: :big}), &block )
end
int32le( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 93
def int32le( attr_name, options = {}, &block )
  int32( attr_name, options.merge({endianess: :little}), &block )
end
int8( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 70
def int8( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::Int8}), &block
end
nest( attr_name, options={}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 157
def nest( attr_name, options={}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({type: :nest}), &block
end
serialize_attribute_options( attr_name, options, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 63
def serialize_attribute_options( attr_name, options, &block )
  self.attr_config.push(options.merge({:name => attr_name.to_s, block: block }))
  if options[:virtual]==true
    attr_accessor attr_name
  end
end
uint16( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 106
def uint16( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::UInt16}), &block
end
uint16be( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 115
def uint16be( attr_name, options = {}, &block )
  uint16( attr_name, options.merge({endianess: :big}), &block )
end
uint16le( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 111
def uint16le( attr_name, options = {}, &block )
  uint16( attr_name, options.merge({endianess: :little}), &block )
end
uint32( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 119
def uint32( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::UInt32}), &block
end
uint32be( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 128
def uint32be( attr_name, options = {}, &block )
  uint32( attr_name, options.merge({endianess: :big}), &block )
end
uint32le( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 124
def uint32le( attr_name, options = {}, &block )
  uint32( attr_name, options.merge({endianess: :little}), &block )
end
uint8( attr_name, options = {}, &block ) click to toggle source
# File lib/active_model_serializers_binary/active_model_serializers_binary.rb, line 101
def uint8( attr_name, options = {}, &block )
  options = self.serialize_options_global.merge(options)
  serialize_attribute_options attr_name, options.merge({coder: DataTypes::UInt8}), &block
end