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
- #float32be(attr_name, options = {}, &block) ⇒ Object
- #float32le(attr_name, options = {}, &block) ⇒ Object
- #float64(attr_name, options = {}, &block) ⇒ Object
- #float64be(attr_name, options = {}, &block) ⇒ Object
- #float64le(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
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 47 def add_virtual_attribute( instance, attr ) if attr[:virtual] == true true else attr_name = attr[:name].to_s if (instance.class.respond_to? :column_names) && (!instance.class.column_names.include? attr_name) attr[:virtual] = true attr_accessor attr_name true elsif !instance.respond_to? attr_name attr[:virtual] = true attr_accessor attr_name true else false end end end |
#add_virtual_attributes(instance) ⇒ Object
43 44 45 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 43 def add_virtual_attributes( instance ) self.attr_config.each{ |attr| add_virtual_attribute(instance, attr) } end |
#align(boundary = false) ⇒ Object
185 186 187 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 185 def align( boundary = false ) self..merge!({align: boundary}) end |
#bitfield(attr_name, options = {}, &block) ⇒ Object
135 136 137 138 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 135 def bitfield( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::BitField, type: :bitfield}), &block end |
#bool(attr_name, options = {}, &block) ⇒ Object
171 172 173 174 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 171 def bool( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Bool, type: :bool}), &block end |
#char(attr_name, options = {}, &block) ⇒ Object
166 167 168 169 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 166 def char( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Char}), &block end |
#endianess(type = :little) ⇒ Object
181 182 183 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 181 def endianess( type = :little ) self..merge!({endianess: type}) end |
#float32(attr_name, options = {}, &block) ⇒ Object
140 141 142 143 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 140 def float32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Float32}), &block end |
#float32be(attr_name, options = {}, &block) ⇒ Object
149 150 151 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 149 def float32be( attr_name, = {}, &block ) float32( attr_name, .merge({endianess: :big}), &block ) end |
#float32le(attr_name, options = {}, &block) ⇒ Object
145 146 147 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 145 def float32le( attr_name, = {}, &block ) float32( attr_name, .merge({endianess: :little}), &block ) end |
#float64(attr_name, options = {}, &block) ⇒ Object
153 154 155 156 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 153 def float64( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Float64}), &block end |
#float64be(attr_name, options = {}, &block) ⇒ Object
162 163 164 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 162 def float64be( attr_name, = {}, &block ) float64( attr_name, .merge({endianess: :big}), &block ) end |
#float64le(attr_name, options = {}, &block) ⇒ Object
158 159 160 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 158 def float64le( attr_name, = {}, &block ) float64( attr_name, .merge({endianess: :little}), &block ) end |
#int16(attr_name, options = {}, &block) ⇒ Object
78 79 80 81 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 78 def int16( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int16}), &block end |
#int16be(attr_name, options = {}, &block) ⇒ Object
87 88 89 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 87 def int16be( attr_name, = {}, &block ) int16( attr_name, .merge({endianess: :big}), &block ) end |
#int16le(attr_name, options = {}, &block) ⇒ Object
83 84 85 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 83 def int16le( attr_name, = {}, &block ) int16( attr_name, .merge({endianess: :little}), &block ) end |
#int32(attr_name, options = {}, &block) ⇒ Object
91 92 93 94 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 91 def int32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int32}), &block end |
#int32be(attr_name, options = {}, &block) ⇒ Object
100 101 102 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 100 def int32be( attr_name, = {}, &block ) int32( attr_name, .merge({endianess: :big}), &block ) end |
#int32le(attr_name, options = {}, &block) ⇒ Object
96 97 98 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 96 def int32le( attr_name, = {}, &block ) int32( attr_name, .merge({endianess: :little}), &block ) end |
#int8(attr_name, options = {}, &block) ⇒ Object
73 74 75 76 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 73 def int8( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::Int8}), &block end |
#nest(attr_name, options = {}, &block) ⇒ Object
176 177 178 179 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 176 def nest( attr_name, ={}, &block ) = self..merge() attr_name, .merge({type: :nest}), &block end |
#serialize_attribute_options(attr_name, options, &block) ⇒ Object
66 67 68 69 70 71 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 66 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
109 110 111 112 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 109 def uint16( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::UInt16}), &block end |
#uint16be(attr_name, options = {}, &block) ⇒ Object
118 119 120 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 118 def uint16be( attr_name, = {}, &block ) uint16( attr_name, .merge({endianess: :big}), &block ) end |
#uint16le(attr_name, options = {}, &block) ⇒ Object
114 115 116 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 114 def uint16le( attr_name, = {}, &block ) uint16( attr_name, .merge({endianess: :little}), &block ) end |
#uint32(attr_name, options = {}, &block) ⇒ Object
122 123 124 125 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 122 def uint32( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::UInt32}), &block end |
#uint32be(attr_name, options = {}, &block) ⇒ Object
131 132 133 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 131 def uint32be( attr_name, = {}, &block ) uint32( attr_name, .merge({endianess: :big}), &block ) end |
#uint32le(attr_name, options = {}, &block) ⇒ Object
127 128 129 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 127 def uint32le( attr_name, = {}, &block ) uint32( attr_name, .merge({endianess: :little}), &block ) end |
#uint8(attr_name, options = {}, &block) ⇒ Object
104 105 106 107 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 104 def uint8( attr_name, = {}, &block ) = self..merge() attr_name, .merge({coder: DataTypes::UInt8}), &block end |