Module: ActiveModel::Serializers::Binary::ClassMethods
- Defined in:
- lib/active_model_serializers_binary/active_model_serializers_binary.rb
Instance Method Summary collapse
- #add_virtual_attribute(instance, attr) ⇒ Object
- #add_virtual_attributes(instance) ⇒ Object
- #align(boundary = false) ⇒ Object
- #bitfield(attr_name, options = {}, &block) ⇒ Object
- #bool(attr_name, options = {}, &block) ⇒ Object
- #char(attr_name, options = {}, &block) ⇒ Object
- #endianess(type = :little) ⇒ Object
- #float32(attr_name, options = {}, &block) ⇒ Object
- #float64(attr_name, options = {}, &block) ⇒ Object
- #int16(attr_name, options = {}, &block) ⇒ Object
- #int16be(attr_name, options = {}, &block) ⇒ Object
- #int16le(attr_name, options = {}, &block) ⇒ Object
- #int32(attr_name, options = {}, &block) ⇒ Object
- #int32be(attr_name, options = {}, &block) ⇒ Object
- #int32le(attr_name, options = {}, &block) ⇒ Object
- #int8(attr_name, options = {}, &block) ⇒ Object
- #nest(attr_name, options = {}, &block) ⇒ Object
- #serialize_attribute_options(attr_name, options, &block) ⇒ Object
- #uint16(attr_name, options = {}, &block) ⇒ Object
- #uint16be(attr_name, options = {}, &block) ⇒ Object
- #uint16le(attr_name, options = {}, &block) ⇒ Object
- #uint32(attr_name, options = {}, &block) ⇒ Object
- #uint32be(attr_name, options = {}, &block) ⇒ Object
- #uint32le(attr_name, options = {}, &block) ⇒ Object
- #uint8(attr_name, options = {}, &block) ⇒ Object
Instance Method Details
#add_virtual_attribute(instance, attr) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# 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) ⇒ Object
44 45 46 |
# 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) ⇒ Object
166 167 168 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 166 def align( boundary = false ) self..merge!({align: boundary}) end |
#bitfield(attr_name, options = {}, &block) ⇒ Object
132 133 134 135 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 132 def bitfield( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::BitField, type: :bitfield}), &block end |
#bool(attr_name, options = {}, &block) ⇒ Object
152 153 154 155 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 152 def bool( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Bool, type: :bool}), &block end |
#char(attr_name, options = {}, &block) ⇒ Object
147 148 149 150 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 147 def char( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Char}), &block end |
#endianess(type = :little) ⇒ Object
162 163 164 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 162 def endianess( type = :little ) self..merge!({endianess: type}) end |
#float32(attr_name, options = {}, &block) ⇒ Object
137 138 139 140 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 137 def float32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Float32}), &block end |
#float64(attr_name, options = {}, &block) ⇒ Object
142 143 144 145 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 142 def float64( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Float64}), &block end |
#int16(attr_name, options = {}, &block) ⇒ Object
75 76 77 78 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 75 def int16( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int16}), &block end |
#int16be(attr_name, options = {}, &block) ⇒ Object
84 85 86 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 84 def int16be( attr_name, = {}, &block ) int16( attr_name, .merge({endianess: :big}), &block ) end |
#int16le(attr_name, options = {}, &block) ⇒ Object
80 81 82 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 80 def int16le( attr_name, = {}, &block ) int16( attr_name, .merge({endianess: :little}), &block ) end |
#int32(attr_name, options = {}, &block) ⇒ Object
88 89 90 91 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 88 def int32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int32}), &block end |
#int32be(attr_name, options = {}, &block) ⇒ Object
97 98 99 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 97 def int32be( attr_name, = {}, &block ) int32( attr_name, .merge({endianess: :big}), &block ) end |
#int32le(attr_name, options = {}, &block) ⇒ Object
93 94 95 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 93 def int32le( attr_name, = {}, &block ) int32( attr_name, .merge({endianess: :little}), &block ) end |
#int8(attr_name, options = {}, &block) ⇒ Object
70 71 72 73 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 70 def int8( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int8}), &block end |
#nest(attr_name, options = {}, &block) ⇒ Object
157 158 159 160 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 157 def nest( attr_name, ={}, &block ) = self..merge() attr_name, .merge({type: :nest}), &block end |
#serialize_attribute_options(attr_name, options, &block) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 63 def ( attr_name, , &block ) self.attr_config.push(.merge({:name => attr_name.to_s, block: block })) if [:virtual]==true attr_accessor attr_name end end |
#uint16(attr_name, options = {}, &block) ⇒ Object
106 107 108 109 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 106 def uint16( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::UInt16}), &block end |
#uint16be(attr_name, options = {}, &block) ⇒ Object
115 116 117 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 115 def uint16be( attr_name, = {}, &block ) uint16( attr_name, .merge({endianess: :big}), &block ) end |
#uint16le(attr_name, options = {}, &block) ⇒ Object
111 112 113 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 111 def uint16le( attr_name, = {}, &block ) uint16( attr_name, .merge({endianess: :little}), &block ) end |
#uint32(attr_name, options = {}, &block) ⇒ Object
119 120 121 122 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 119 def uint32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::UInt32}), &block end |
#uint32be(attr_name, options = {}, &block) ⇒ Object
128 129 130 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 128 def uint32be( attr_name, = {}, &block ) uint32( attr_name, .merge({endianess: :big}), &block ) end |
#uint32le(attr_name, options = {}, &block) ⇒ Object
124 125 126 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 124 def uint32le( attr_name, = {}, &block ) uint32( attr_name, .merge({endianess: :little}), &block ) end |