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_name, attr_value) ⇒ Object
- #add_virtual_attributes(instance) ⇒ Object
- #bitfield(attr_name, options = {}, &block) ⇒ Object
- #bool(attr_name, options = {}, &block) ⇒ Object
- #char(attr_name, options = {}, &block) ⇒ Object
- #float32(attr_name, options = {}, &block) ⇒ Object
- #int16(attr_name, options = {}, &block) ⇒ Object
- #int32(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
-
#serialize_options(attr_name, coder, count = 1, length = 1, virtual = false, &block) ⇒ Object
todo: agrupar parametros en hash (rompe la compatibilidad hacia atras).
- #uint16(attr_name, options = {}, &block) ⇒ Object
- #uint32(attr_name, options = {}, &block) ⇒ Object
- #uint8(attr_name, options = {}, &block) ⇒ Object
Instance Method Details
#add_virtual_attribute(instance, attr_name, attr_value) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 42 def add_virtual_attribute( instance, attr_name, attr_value ) attr_name = attr_name.to_s if attr_value[:virtual] == true true else if !instance.respond_to? attr_name attr_value[:virtual] = true attr_accessor attr_name true else false end end end |
#add_virtual_attributes(instance) ⇒ Object
38 39 40 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 38 def add_virtual_attributes( instance ) self.attr_config.each{ |k, v| add_virtual_attribute(instance, k, v) } end |
#bitfield(attr_name, options = {}, &block) ⇒ Object
90 91 92 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 90 def bitfield( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::BitField}), &block end |
#bool(attr_name, options = {}, &block) ⇒ Object
102 103 104 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 102 def bool( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Bool}), &block end |
#char(attr_name, options = {}, &block) ⇒ Object
98 99 100 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 98 def char( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Char}), &block end |
#float32(attr_name, options = {}, &block) ⇒ Object
94 95 96 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 94 def float32( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Float32}), &block end |
#int16(attr_name, options = {}, &block) ⇒ Object
70 71 72 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 70 def int16( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Int16}), &block end |
#int32(attr_name, options = {}, &block) ⇒ Object
74 75 76 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 74 def int32( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Int32}), &block end |
#int8(attr_name, options = {}, &block) ⇒ Object
66 67 68 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 66 def int8( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::Int8}), &block end |
#nest(attr_name, options = {}, &block) ⇒ Object
106 107 108 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 106 def nest( attr_name, ={}, &block ) attr_name, .merge({type: :nest}), &block end |
#serialize_attribute_options(attr_name, options, &block) ⇒ Object
62 63 64 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 62 def ( attr_name, , &block ) self.attr_config.merge!(attr_name.to_s => .merge({ block: block })) end |
#serialize_options(attr_name, coder, count = 1, length = 1, virtual = false, &block) ⇒ Object
todo: agrupar parametros en hash (rompe la compatibilidad hacia atras)
58 59 60 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 58 def ( attr_name, coder, count=1, length=1, virtual=false, &block ) self.attr_config.merge!(attr_name.to_s => {:coder => coder, :count => count, :length => length, :block => block, :name => attr_name, :virtual => virtual}) end |
#uint16(attr_name, options = {}, &block) ⇒ Object
82 83 84 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 82 def uint16( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::UInt16}), &block end |
#uint32(attr_name, options = {}, &block) ⇒ Object
86 87 88 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 86 def uint32( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::UInt32}), &block end |
#uint8(attr_name, options = {}, &block) ⇒ Object
78 79 80 |
# File 'lib/active_model_serializers_binary/active_model_serializers_binary.rb', line 78 def uint8( attr_name, = {}, &block ) attr_name, .merge({coder: DataTypes::UInt8}), &block end |