active_model_serializers_binary 0.0.13 → 0.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -0
- data/Gemfile.lock +5 -1
- data/active_model_serializers_binary.gemspec +1 -1
- data/lib/active_model_serializers_binary/active_model_serializers_binary.rb +38 -32
- data/lib/active_model_serializers_binary/base_type.rb +5 -6
- data/lib/active_model_serializers_binary/version.rb +1 -1
- data/test/dummy/app/models/producto.rb +46 -0
- data/test/dummy/db/migrate/20160608024807_create_productos.rb +16 -0
- data/test/dummy/db/schema.rb +29 -0
- data/test/dummy/lib/test_parser.rb +18 -42
- data/test/dummy/test/fixtures/productos.yml +38 -0
- data/test/dummy/test/models/producto_test.rb +24 -0
- metadata +14 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a481a565f5e643a79745f877c5b5ee262e44f86
|
4
|
+
data.tar.gz: ad2610cd3717c694f67ba9911579b4f0a47e87b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 98c03ce80bc8c768195b236ca904185e2e408a6c4b905e22228798482ff67607fad999d313514d25c9a94f15aa62ca12ffe269ea628c50e09317c3c2ca6783c0
|
7
|
+
data.tar.gz: 3a8d735b73f56e7c4eadbdf35714608987baaedb3e29a610d6bfa2e98b0a1c19b9ed8f7f00dbe60c3760774e01ad8cbac817df3308325fb1f9a0605981e83af7
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
active_model_serializers_binary (0.0.
|
4
|
+
active_model_serializers_binary (0.0.24)
|
5
5
|
activemodel (~> 4.1)
|
6
6
|
|
7
7
|
GEM
|
@@ -33,6 +33,9 @@ GEM
|
|
33
33
|
minitest (~> 5.1)
|
34
34
|
thread_safe (~> 0.1)
|
35
35
|
tzinfo (~> 1.1)
|
36
|
+
annotate (2.6.5)
|
37
|
+
activerecord (>= 2.3.0)
|
38
|
+
rake (>= 0.8.7)
|
36
39
|
arel (5.0.1.20140414130214)
|
37
40
|
bcrypt (3.1.7)
|
38
41
|
builder (3.2.2)
|
@@ -155,6 +158,7 @@ PLATFORMS
|
|
155
158
|
|
156
159
|
DEPENDENCIES
|
157
160
|
active_model_serializers_binary!
|
161
|
+
annotate
|
158
162
|
bundler (~> 1.6)
|
159
163
|
coffee-rails (~> 4.0)
|
160
164
|
colorize (~> 0.7)
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.email = ["info@bys-control.com.ar"]
|
12
12
|
s.homepage = "https://github.com/bys-control/active_model_serializers_binary"
|
13
13
|
s.summary = "Serialize models to/from binary format for raw data exchange"
|
14
|
-
s.description = "
|
14
|
+
s.description = "active_model_serializers_binary is a declarative way to serialize/deserialize ActiveModel classes for raw data exchange."
|
15
15
|
s.license = "MIT"
|
16
16
|
|
17
17
|
s.files = `git ls-files -z`.split("\x0")
|
@@ -16,58 +16,58 @@ module ActiveModel
|
|
16
16
|
class_attribute :attr_config
|
17
17
|
self.attr_config = {}
|
18
18
|
|
19
|
-
def
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
19
|
+
def attributes
|
20
|
+
keys = self.attr_config.select{|k, v| v[:virtual]==true}.keys
|
21
|
+
values = keys.map{ |var| self.instance_variable_get("@#{var}") }
|
22
|
+
super.merge(Hash[keys.zip values])
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
27
26
|
module ClassMethods
|
28
27
|
# todo: agrupar parametros en hash (rompe la compatibilidad hacia atras)
|
29
|
-
def serialize_options(attr_name, coder, count=1, length=1, &block )
|
30
|
-
|
28
|
+
def serialize_options(attr_name, coder, count=1, length=1, virtual=false, &block )
|
29
|
+
attr_accessor(attr_name) if virtual
|
30
|
+
self.attr_config.merge!(attr_name.to_s => {:coder => coder, :count => count, :length => length, :block => block, :name => attr_name, :virtual => virtual})
|
31
31
|
end
|
32
32
|
|
33
33
|
def int8( attr_name, options = {}, &block )
|
34
|
-
serialize_options attr_name, DataTypes::Int8, options[:count], options[:length], &block
|
34
|
+
serialize_options attr_name, DataTypes::Int8, options[:count], options[:length], options[:virtual], &block
|
35
35
|
end
|
36
36
|
|
37
37
|
def int16( attr_name, options = {}, &block )
|
38
|
-
serialize_options attr_name, DataTypes::Int16, options[:count], options[:length], &block
|
38
|
+
serialize_options attr_name, DataTypes::Int16, options[:count], options[:length], options[:virtual], &block
|
39
39
|
end
|
40
40
|
|
41
41
|
def int32( attr_name, options = {}, &block )
|
42
|
-
serialize_options attr_name, DataTypes::Int32, options[:count], options[:length], &block
|
42
|
+
serialize_options attr_name, DataTypes::Int32, options[:count], options[:length], options[:virtual], &block
|
43
43
|
end
|
44
44
|
|
45
45
|
def uint8( attr_name, options = {}, &block )
|
46
|
-
serialize_options attr_name, DataTypes::UInt8, options[:count], options[:length], &block
|
46
|
+
serialize_options attr_name, DataTypes::UInt8, options[:count], options[:length], options[:virtual], &block
|
47
47
|
end
|
48
48
|
|
49
49
|
def uint16( attr_name, options = {}, &block )
|
50
|
-
serialize_options attr_name, DataTypes::UInt16, options[:count], options[:length], &block
|
50
|
+
serialize_options attr_name, DataTypes::UInt16, options[:count], options[:length], options[:virtual], &block
|
51
51
|
end
|
52
52
|
|
53
53
|
def uint32( attr_name, options = {}, &block )
|
54
|
-
serialize_options attr_name, DataTypes::UInt32, options[:count], options[:length], &block
|
54
|
+
serialize_options attr_name, DataTypes::UInt32, options[:count], options[:length], options[:virtual], &block
|
55
55
|
end
|
56
56
|
|
57
57
|
def bitfield( attr_name, options = {}, &block )
|
58
|
-
serialize_options attr_name, DataTypes::BitField, options[:count], options[:length], &block
|
58
|
+
serialize_options attr_name, DataTypes::BitField, options[:count], options[:length], options[:virtual], &block
|
59
59
|
end
|
60
60
|
|
61
61
|
def float32( attr_name, options = {}, &block )
|
62
|
-
serialize_options attr_name, DataTypes::Float32, options[:count], options[:length], &block
|
62
|
+
serialize_options attr_name, DataTypes::Float32, options[:count], options[:length], options[:virtual], &block
|
63
63
|
end
|
64
64
|
|
65
65
|
def char( attr_name, options = {}, &block )
|
66
|
-
serialize_options attr_name, DataTypes::Char, options[:count], options[:length], &block
|
66
|
+
serialize_options attr_name, DataTypes::Char, options[:count], options[:length], options[:virtual], &block
|
67
67
|
end
|
68
68
|
|
69
69
|
def bool( attr_name, options = {}, &block )
|
70
|
-
serialize_options attr_name, DataTypes::Bool, options[:count], options[:length], &block
|
70
|
+
serialize_options attr_name, DataTypes::Bool, options[:count], options[:length], options[:virtual], &block
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -88,7 +88,7 @@ module ActiveModel
|
|
88
88
|
current_address = start_address*2 + 0.0 # Dirección en bytes
|
89
89
|
|
90
90
|
@serializable.attr_config.each do |key, options|
|
91
|
-
var = options[:coder].new(options)
|
91
|
+
var = options[:coder].new(options.merge(parent: @serializable))
|
92
92
|
# Busca el valor del atributo y si no existe devuelve nil
|
93
93
|
var.value = serializable_values[key] rescue nil
|
94
94
|
|
@@ -96,7 +96,6 @@ module ActiveModel
|
|
96
96
|
bit = (current_address.modulo(1)*8).round
|
97
97
|
|
98
98
|
tmp_buffer = var.dump
|
99
|
-
|
100
99
|
if @options[:align]
|
101
100
|
if !var.type.in? [:bitfield, :bool]
|
102
101
|
# Se posiciona al principio de un byte
|
@@ -147,11 +146,10 @@ module ActiveModel
|
|
147
146
|
current_address = start_address*2 + 0.0 # Dirección en bytes
|
148
147
|
|
149
148
|
@serializable.attr_config.each do |key, options|
|
150
|
-
#puts "#{key} - #{options}"
|
151
149
|
byte = current_address.floor
|
152
150
|
bit = (current_address.modulo(1)*8).round
|
153
151
|
|
154
|
-
var = options[:coder].new(options) #creo objeto del tipo de dato pasado
|
152
|
+
var = options[:coder].new(options.merge(parent: @serializable)) #creo objeto del tipo de dato pasado
|
155
153
|
|
156
154
|
if @options[:align]
|
157
155
|
if !var.type.in? [:bitfield, :bool]
|
@@ -181,22 +179,18 @@ module ActiveModel
|
|
181
179
|
tmp_buffer = buffer.slice(byte, (var.size+bit/8.0).ceil)
|
182
180
|
result_deserialized=var.load([tmp_buffer.pack('C*').unpack('b*').first.slice(bit,var.size*8)].pack('b*').unpack('C*'))
|
183
181
|
end
|
184
|
-
# puts result_deserialized.inspect
|
185
182
|
serialized_values["#{key}"] = result_deserialized.count>1 ? result_deserialized : result_deserialized.first
|
186
183
|
current_address = (byte+bit/8.0)+var.size
|
187
184
|
end
|
188
185
|
|
189
|
-
#
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
else
|
196
|
-
@serializable.instance_variable_set("@#{k}".to_sym, v)
|
197
|
-
end
|
186
|
+
# Asigno los datos leidos
|
187
|
+
serialized_values.each do |k,v|
|
188
|
+
if @serializable.respond_to? "#{k}="
|
189
|
+
@serializable.send("#{k}=", v)
|
190
|
+
else
|
191
|
+
@serializable.instance_variable_set("@#{k}".to_sym, v)
|
198
192
|
end
|
199
|
-
|
193
|
+
end
|
200
194
|
@serializable
|
201
195
|
end
|
202
196
|
|
@@ -221,6 +215,12 @@ module ActiveModel
|
|
221
215
|
Serializer.new(self, options).dump
|
222
216
|
end
|
223
217
|
|
218
|
+
def to_words(options = {}, &block)
|
219
|
+
data = to_bytes(options, &block)
|
220
|
+
byte_count = (data.count/2.0).ceil*2
|
221
|
+
data.fill(0, data.count...byte_count).pack('C*').unpack('v*')
|
222
|
+
end
|
223
|
+
|
224
224
|
# Sets the model +attributes+ from an Binary string. Returns +self+.
|
225
225
|
#
|
226
226
|
# class Person
|
@@ -269,6 +269,12 @@ module ActiveModel
|
|
269
269
|
end
|
270
270
|
retVal
|
271
271
|
end
|
272
|
+
|
273
|
+
def from_words(buffer, options = {}, &block)
|
274
|
+
data = buffer.pack('v*').unpack('C*')
|
275
|
+
from_bytes(data, options, &block)
|
276
|
+
end
|
277
|
+
|
272
278
|
end
|
273
279
|
end
|
274
280
|
end
|
@@ -5,7 +5,7 @@ module DataTypes
|
|
5
5
|
attr_accessor :raw_value, :bit_length, :type, :sign, :count, :length, :value, :name, :parent
|
6
6
|
|
7
7
|
def initialize(options = {})
|
8
|
-
@default_value = options[:default_value]
|
8
|
+
@default_value = options[:default_value].nil? ? 0 : options[:default_value]
|
9
9
|
@raw_value = nil
|
10
10
|
@bit_length = options[:bit_length] # Cantidad de bits del tipo de dato
|
11
11
|
@type = type
|
@@ -28,7 +28,7 @@ module DataTypes
|
|
28
28
|
|
29
29
|
# Return size of object in bytes
|
30
30
|
def size
|
31
|
-
(
|
31
|
+
(@bit_length*@length*@count)/8.0
|
32
32
|
end
|
33
33
|
|
34
34
|
def check( value, options = {} )
|
@@ -52,7 +52,7 @@ module DataTypes
|
|
52
52
|
when :char
|
53
53
|
v.to_s[0...length]
|
54
54
|
when :bool
|
55
|
-
(v.in? [
|
55
|
+
(v.in? [1, true]) ? true : false
|
56
56
|
else
|
57
57
|
v.to_i
|
58
58
|
end
|
@@ -115,8 +115,8 @@ module DataTypes
|
|
115
115
|
self.value = value if !value.nil?
|
116
116
|
if !@block.nil?
|
117
117
|
value = @parent.instance_exec( self, :dump, &@block )
|
118
|
-
self.value = value if !value.nil?
|
119
118
|
end
|
119
|
+
self.value = value if !value.nil?
|
120
120
|
end
|
121
121
|
|
122
122
|
#
|
@@ -127,8 +127,7 @@ module DataTypes
|
|
127
127
|
#
|
128
128
|
def after_load
|
129
129
|
if !@block.nil?
|
130
|
-
|
131
|
-
self.value = value if !value.nil?
|
130
|
+
@parent.instance_exec( self, :load, &@block )
|
132
131
|
end
|
133
132
|
@value
|
134
133
|
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: productos
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# uid :integer
|
7
|
+
# silo :integer
|
8
|
+
# nombre :string(255)
|
9
|
+
# total_acumulado :integer
|
10
|
+
# bits1 :boolean
|
11
|
+
# bits2 :boolean
|
12
|
+
# ffloat :float
|
13
|
+
# variable :string(255)
|
14
|
+
# created_at :datetime
|
15
|
+
# updated_at :datetime
|
16
|
+
#
|
17
|
+
|
18
|
+
class Producto < ActiveRecord::Base
|
19
|
+
include ActiveModel::Serializers::Binary
|
20
|
+
|
21
|
+
int16 :uid
|
22
|
+
int16 :silo
|
23
|
+
char :nombre, count: 1, length: 20
|
24
|
+
int32 :total_acumulado
|
25
|
+
bool :bits1
|
26
|
+
bool :bits2
|
27
|
+
bool :bits3, virtual: true
|
28
|
+
bool :bits4, virtual: true
|
29
|
+
bool :bits5, virtual: true
|
30
|
+
bool :bits6, virtual: true
|
31
|
+
bool :bits7, virtual: true
|
32
|
+
bool :bits8, virtual: true
|
33
|
+
bool :bits9, virtual: true
|
34
|
+
bool :bits10, virtual: true
|
35
|
+
bool :bits11, virtual: true
|
36
|
+
bool :bits12, virtual: true
|
37
|
+
bool :bits13, virtual: true
|
38
|
+
bool :bits14, virtual: true
|
39
|
+
bool :bits15, virtual: true
|
40
|
+
bool :bits16, virtual: true
|
41
|
+
float32 :ffloat
|
42
|
+
char :variable, count: 1, length: 20 do |field, mode|
|
43
|
+
puts (mode.to_s + ': variable block').blue
|
44
|
+
end
|
45
|
+
int32 :test, count: 10, virtual: true # No existe en la DB
|
46
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class CreateProductos < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :productos do |t|
|
4
|
+
t.integer :uid
|
5
|
+
t.integer :silo
|
6
|
+
t.string :nombre
|
7
|
+
t.integer :total_acumulado
|
8
|
+
t.boolean :bits1
|
9
|
+
t.boolean :bits2
|
10
|
+
t.float :ffloat
|
11
|
+
t.string :variable
|
12
|
+
|
13
|
+
t.timestamps
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
# This file is auto-generated from the current state of the database. Instead
|
3
|
+
# of editing this file, please use the migrations feature of Active Record to
|
4
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
5
|
+
#
|
6
|
+
# Note that this schema.rb definition is the authoritative source for your
|
7
|
+
# database schema. If you need to create the application database on another
|
8
|
+
# system, you should be using db:schema:load, not running all the migrations
|
9
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
10
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
11
|
+
#
|
12
|
+
# It's strongly recommended that you check this file into your version control system.
|
13
|
+
|
14
|
+
ActiveRecord::Schema.define(version: 20160608024807) do
|
15
|
+
|
16
|
+
create_table "productos", force: true do |t|
|
17
|
+
t.integer "uid"
|
18
|
+
t.integer "silo"
|
19
|
+
t.string "nombre"
|
20
|
+
t.integer "total_acumulado"
|
21
|
+
t.boolean "bits1"
|
22
|
+
t.boolean "bits2"
|
23
|
+
t.float "ffloat"
|
24
|
+
t.string "variable"
|
25
|
+
t.datetime "created_at"
|
26
|
+
t.datetime "updated_at"
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -7,54 +7,30 @@ class String
|
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
-
class Producto
|
11
|
-
include ActiveModel::Serializers::Binary
|
12
|
-
|
13
|
-
attr_accessor :start_address, :id, :silo, :nombre, :total_acumulado, :bits1, :bits2, :float, :total_acumulado_1, :variable
|
14
|
-
|
15
|
-
def attributes
|
16
|
-
instance_values
|
17
|
-
end
|
18
|
-
|
19
|
-
def attributes=(hash)
|
20
|
-
hash.each do |key, value|
|
21
|
-
instance_variable_set("@#{key}", value)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
# def metodo
|
26
|
-
# self.instance_variable_get("@variable")
|
27
|
-
# end
|
28
|
-
|
29
|
-
# def metodo= (value)
|
30
|
-
# self.instance_variable_set("@variable", value)
|
31
|
-
# end
|
32
|
-
|
33
|
-
int16 :id
|
34
|
-
int16 :silo
|
35
|
-
char :nombre, count: 1, length: 20
|
36
|
-
int32 :total_acumulado
|
37
|
-
bool :bits1
|
38
|
-
bool :bits2
|
39
|
-
int32 :total_acumulado_1
|
40
|
-
float32 :float
|
41
|
-
char :variable, count: 1, length: 20 do |field, mode|
|
42
|
-
puts (mode.to_s + ': variable block').blue
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
10
|
orig = Producto.new
|
48
|
-
orig.
|
49
|
-
orig.id = 1
|
11
|
+
orig.uid = 1
|
50
12
|
orig.silo = 0
|
51
13
|
orig.nombre = "MAIZ"
|
52
14
|
orig.total_acumulado = 50
|
53
15
|
orig.bits1 = 1
|
54
|
-
orig.bits2 =
|
55
|
-
orig.
|
56
|
-
orig.
|
16
|
+
orig.bits2 = 0
|
17
|
+
orig.bits3 = nil
|
18
|
+
orig.bits4 = nil
|
19
|
+
orig.bits5 = nil
|
20
|
+
orig.bits6 = nil
|
21
|
+
orig.bits7 = nil
|
22
|
+
orig.bits8 = nil
|
23
|
+
orig.bits9 = nil
|
24
|
+
orig.bits10 = nil
|
25
|
+
orig.bits11 = nil
|
26
|
+
orig.bits12 = nil
|
27
|
+
orig.bits13 = nil
|
28
|
+
orig.bits14 = nil
|
29
|
+
orig.bits15 = nil
|
30
|
+
orig.bits16 = nil
|
31
|
+
orig.ffloat= 1.2345678
|
57
32
|
orig.variable = '012345678901234567890123456789'
|
33
|
+
orig.test = (1..10).to_a
|
58
34
|
|
59
35
|
puts 'Datos originales...'
|
60
36
|
puts orig.inspect.green
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: productos
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# uid :integer
|
7
|
+
# silo :integer
|
8
|
+
# nombre :string(255)
|
9
|
+
# total_acumulado :integer
|
10
|
+
# bits1 :boolean
|
11
|
+
# bits2 :boolean
|
12
|
+
# ffloat :float
|
13
|
+
# variable :string(255)
|
14
|
+
# created_at :datetime
|
15
|
+
# updated_at :datetime
|
16
|
+
#
|
17
|
+
|
18
|
+
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
19
|
+
|
20
|
+
one:
|
21
|
+
id: 1
|
22
|
+
silo: 1
|
23
|
+
nombre: MyString
|
24
|
+
total_acumulado: 1
|
25
|
+
bits1: false
|
26
|
+
bits2: false
|
27
|
+
ffloat: 1.5
|
28
|
+
variable: MyString
|
29
|
+
|
30
|
+
two:
|
31
|
+
id: 1
|
32
|
+
silo: 1
|
33
|
+
nombre: MyString
|
34
|
+
total_acumulado: 1
|
35
|
+
bits1: false
|
36
|
+
bits2: false
|
37
|
+
ffloat: 1.5
|
38
|
+
variable: MyString
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# == Schema Information
|
2
|
+
#
|
3
|
+
# Table name: productos
|
4
|
+
#
|
5
|
+
# id :integer not null, primary key
|
6
|
+
# uid :integer
|
7
|
+
# silo :integer
|
8
|
+
# nombre :string(255)
|
9
|
+
# total_acumulado :integer
|
10
|
+
# bits1 :boolean
|
11
|
+
# bits2 :boolean
|
12
|
+
# ffloat :float
|
13
|
+
# variable :string(255)
|
14
|
+
# created_at :datetime
|
15
|
+
# updated_at :datetime
|
16
|
+
#
|
17
|
+
|
18
|
+
require 'test_helper'
|
19
|
+
|
20
|
+
class ProductoTest < ActiveSupport::TestCase
|
21
|
+
# test "the truth" do
|
22
|
+
# assert true
|
23
|
+
# end
|
24
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_model_serializers_binary
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.24
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ByS Sistemas de Control
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -220,7 +220,8 @@ dependencies:
|
|
220
220
|
- - "~>"
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: '4.1'
|
223
|
-
description:
|
223
|
+
description: active_model_serializers_binary is a declarative way to serialize/deserialize
|
224
|
+
ActiveModel classes for raw data exchange.
|
224
225
|
email:
|
225
226
|
- info@bys-control.com.ar
|
226
227
|
executables: []
|
@@ -253,6 +254,7 @@ files:
|
|
253
254
|
- test/dummy/app/mailers/.keep
|
254
255
|
- test/dummy/app/models/.keep
|
255
256
|
- test/dummy/app/models/concerns/.keep
|
257
|
+
- test/dummy/app/models/producto.rb
|
256
258
|
- test/dummy/app/views/layouts/application.html.erb
|
257
259
|
- test/dummy/bin/bundle
|
258
260
|
- test/dummy/bin/rails
|
@@ -276,6 +278,8 @@ files:
|
|
276
278
|
- test/dummy/config/locales/en.yml
|
277
279
|
- test/dummy/config/routes.rb
|
278
280
|
- test/dummy/config/secrets.yml
|
281
|
+
- test/dummy/db/migrate/20160608024807_create_productos.rb
|
282
|
+
- test/dummy/db/schema.rb
|
279
283
|
- test/dummy/lib/assets/.keep
|
280
284
|
- test/dummy/lib/test_parser.rb
|
281
285
|
- test/dummy/log/.keep
|
@@ -283,6 +287,8 @@ files:
|
|
283
287
|
- test/dummy/public/422.html
|
284
288
|
- test/dummy/public/500.html
|
285
289
|
- test/dummy/public/favicon.ico
|
290
|
+
- test/dummy/test/fixtures/productos.yml
|
291
|
+
- test/dummy/test/models/producto_test.rb
|
286
292
|
- test/test_helper.rb
|
287
293
|
homepage: https://github.com/bys-control/active_model_serializers_binary
|
288
294
|
licenses:
|
@@ -321,6 +327,7 @@ test_files:
|
|
321
327
|
- test/dummy/app/mailers/.keep
|
322
328
|
- test/dummy/app/models/.keep
|
323
329
|
- test/dummy/app/models/concerns/.keep
|
330
|
+
- test/dummy/app/models/producto.rb
|
324
331
|
- test/dummy/app/views/layouts/application.html.erb
|
325
332
|
- test/dummy/bin/bundle
|
326
333
|
- test/dummy/bin/rails
|
@@ -344,6 +351,8 @@ test_files:
|
|
344
351
|
- test/dummy/config/locales/en.yml
|
345
352
|
- test/dummy/config/routes.rb
|
346
353
|
- test/dummy/config/secrets.yml
|
354
|
+
- test/dummy/db/migrate/20160608024807_create_productos.rb
|
355
|
+
- test/dummy/db/schema.rb
|
347
356
|
- test/dummy/lib/assets/.keep
|
348
357
|
- test/dummy/lib/test_parser.rb
|
349
358
|
- test/dummy/log/.keep
|
@@ -351,5 +360,7 @@ test_files:
|
|
351
360
|
- test/dummy/public/422.html
|
352
361
|
- test/dummy/public/500.html
|
353
362
|
- test/dummy/public/favicon.ico
|
363
|
+
- test/dummy/test/fixtures/productos.yml
|
364
|
+
- test/dummy/test/models/producto_test.rb
|
354
365
|
- test/test_helper.rb
|
355
366
|
has_rdoc:
|