embedson 1.0.4 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NThiNzZmNzBkMTA2Mzg0OGVmZWJhMGI0Yzc3MmVjYWFjN2JjYTA2ZQ==
5
- data.tar.gz: !binary |-
6
- ZDg1Njk0ODlmNGI3OTY0OTZjMmFiMDY0YzM3NjIxYTkyYTIxOGNlMA==
2
+ SHA1:
3
+ metadata.gz: 50c8f25d72bfcd91fc902d3da04d1d251f02a9e5
4
+ data.tar.gz: 9053217978e0523ced6274438945882bc474b378
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZjBkMmQxN2JhMzBiOWZiOTQ3ZjI1OGJiZDFkMDBjN2Y2NzUwZDFmNjNkMWE4
10
- NWUwZDExOTc1YzZhMWY0ODgzOTlmMDYwYTQyNGQ3Yjk5ODk3Yzg1OGVhMDIx
11
- ZDdlMjkzYTRhZDcxNDEyNzJiZmQ2MzBlNGRmNDZkN2QzNWM1YzE=
12
- data.tar.gz: !binary |-
13
- Y2JmODUxMDljZTc4MDhkNWJiNDI2MmU1NTUyNjkyNzU3Nzc4NTE4Yzc2ODFm
14
- MTU2NjBkZmExOGI4MmI1YjU5MjBhZDVlZWNmOTI3YmVlMTlkNzdiYzEwMzk0
15
- Yzg4ODUxYzY0MWM4YzA4M2ZmZTkwYWZiNmZiMmY3NzM3MmY2ODE=
6
+ metadata.gz: 9069a37c1e5a4ae3de6c787af44e5684ffa6d869d1e908923841be3304c685b5a9ff2d77c7ff476fc92ed2d5b074accaedb1b9b4e2562bdca3d06c621170195d
7
+ data.tar.gz: 3bac214b304bb0155b655dc39795cf0f6882ff429b8efe2cedeac6a0be02d646021a71c3d46707a75802a33a24e7b928dee943e2b696b3db88a23143935cc985
@@ -0,0 +1,27 @@
1
+ # Embedson change log
2
+
3
+ ## 1.1.1 / Unreleased
4
+
5
+ * [Added]
6
+
7
+ * [Deprecated]
8
+
9
+ * [Removed]
10
+
11
+ * [Fixed]
12
+
13
+ ## 1.1.0 / 2015-03-17
14
+
15
+ * [Added] support for inheritance in embedded classes
16
+
17
+ * [Fixed] fix assignment to instance variable in hash_method
18
+
19
+ ## 1.0.4 / 2014-11-19
20
+
21
+ * [Added] support for :hash_method option.
22
+
23
+ ## 1.0.3 / 2014-11-16
24
+
25
+ * [Added] support for multiple embedded_in
26
+
27
+ * [Fixed] sending embedded class to embedding object when saving
data/README.md CHANGED
@@ -6,14 +6,14 @@
6
6
 
7
7
  # Embedson
8
8
 
9
- Adds functionality of `embeds_one` to ActiveRecord.
9
+ Main goal is to implement Mongoids embedded document functionality in ActiveRecord.
10
+
11
+ Hash representation of class defined by specified method (default `to_h`) is saved in json/hstore column.
10
12
 
11
- Adds functionality of `embedded_in` to any class:
13
+ Adds functionality of `embeds_one` to ActiveRecord.
12
14
 
13
- - with defined `to_h` method which should return `Hash`
14
- - initialized with Hash.
15
+ Adds functionality of `embedded_in` to any class initialized with Hash.
15
16
 
16
- Result of `to_h` is saved json/hstore column.
17
17
 
18
18
 
19
19
  ## Installation
@@ -50,7 +50,10 @@ Example with [Virtus](https://github.com/solnic/virtus):
50
50
 
51
51
  class Test < ActiveRecord::Base
52
52
 
53
- embeds_one :virt, class_name: Virt, column_name: :data, inverse_of: :parent
53
+ embeds_one :virt, class_name: Virt,
54
+ column_name: :data,
55
+ inverse_of: :parent,
56
+ hash_method: :to_h # default option
54
57
  end
55
58
 
56
59
  class Virt
data/TODO.md CHANGED
@@ -1,5 +1,4 @@
1
1
  ## ToDo list
2
2
 
3
3
  - support for inheritance of embedded class
4
- - support for dirty tracking
5
4
  - never enough tests
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["sufleR"]
10
10
  spec.email = ["szymon.fracczak@netguru.co"]
11
11
  spec.summary = %q{Embedded model for AR with postgresql}
12
- spec.description = %q{Save any class which respond to to_h in json column as embedded model.}
12
+ spec.description = %q{Save hash representation of class in json column as embedded model.}
13
13
  spec.homepage = "https://github.com/sufleR/embedson"
14
14
  spec.license = "MIT"
15
15
 
@@ -21,10 +21,10 @@ Gem::Specification.new do |spec|
21
21
  spec.required_ruby_version = ">= 1.9.3"
22
22
 
23
23
  spec.add_dependency "activerecord", ">= 4"
24
- spec.add_development_dependency "bundler", "~> 1.6"
25
- spec.add_development_dependency "rake", "~> 10.3"
26
- spec.add_development_dependency "rspec", "~> 3.1"
27
- spec.add_development_dependency "pg", "~> 0.17"
24
+ spec.add_development_dependency "bundler", "~> 1.8"
25
+ spec.add_development_dependency "rake", "~> 10"
26
+ spec.add_development_dependency "rspec", "~> 3.2"
27
+ spec.add_development_dependency "pg", "~> 0.18"
28
28
  spec.add_development_dependency "pry", "~> 0.10"
29
29
  spec.add_development_dependency "with_model", "~> 1.2"
30
30
  spec.add_development_dependency "codeclimate-test-reporter", "~> 0.4"
@@ -16,6 +16,7 @@ module Embedson
16
16
  # :class_name - Name of class which will be ebedded.
17
17
  # :column_name - Name of column where Hash representation will be stored.
18
18
  # :inverse_of - Name of field where related class will store current object.
19
+ # :hash_method - Method name which returns hash representation os saved object. Default :to_h
19
20
  #
20
21
  # Examples
21
22
  #
@@ -26,7 +26,7 @@ module Embedson
26
26
  send("#{builder.field_name}_send_to_related", arg)
27
27
 
28
28
  instance_variable_set(builder.instance_var_name, arg)
29
- val = arg.nil? ? arg : arg.send(builder.hash_method).stringify_keys
29
+ val = arg.nil? ? arg : arg.send(builder.hash_method).stringify_keys.merge('_type' => builder.klass.name)
30
30
  unless val == read_attribute(builder.column_name)
31
31
  write_attribute(builder.column_name, val)
32
32
  end
@@ -44,7 +44,8 @@ module Embedson
44
44
 
45
45
  def related_model(builder)
46
46
  klass.send :define_method, "#{builder.field_name}_related_model" do
47
- builder.related_klass_name.constantize.new(read_attribute(builder.column_name))
47
+ attribute = read_attribute(builder.column_name)
48
+ attribute.fetch('_type', builder.related_klass_name).constantize.new(attribute)
48
49
  end
49
50
  klass.send :private, "#{builder.field_name}_related_model"
50
51
  end
@@ -22,7 +22,7 @@ module Embedson
22
22
  end
23
23
 
24
24
  def hash_method
25
- @hash_method || options.fetch(:hash_method, nil) || :to_h
25
+ @hash_method ||= options.fetch(:hash_method, nil) || :to_h
26
26
  end
27
27
 
28
28
  def column_name
@@ -1,3 +1,3 @@
1
1
  module Embedson
2
- VERSION = "1.0.4"
2
+ VERSION = "1.1.0"
3
3
  end
@@ -64,7 +64,9 @@ describe Embedson::Model::EmbeddedBuilder do
64
64
  it 'changes parents son_col to son.to_h' do
65
65
  expect{
66
66
  son.send(:parent_send_to_related, son)
67
- }.to change { parent.son_col }.from('different' => 'true').to(son.to_h.stringify_keys)
67
+ }.to change { parent.son_col }
68
+ .from('different' => 'true')
69
+ .to(son.to_h.stringify_keys.merge('_type' => 'Parent'))
68
70
  end
69
71
 
70
72
  end
@@ -72,7 +74,7 @@ describe Embedson::Model::EmbeddedBuilder do
72
74
  context 'and to_h is equal parents embeded.to_h' do
73
75
  before do
74
76
  son
75
- parent.send(:write_attribute, :son_col, { something: { to: 'write' } } )
77
+ parent.send(:write_attribute, :son_col, { something: { to: 'write' }, _type: 'Parent' } )
76
78
  parent.save!
77
79
  end
78
80
 
@@ -109,7 +111,9 @@ describe Embedson::Model::EmbeddedBuilder do
109
111
  it 'changes parents emb_col to son.to_h' do
110
112
  expect{
111
113
  son.send(:parenta_send_to_related, son)
112
- }.to change { parent.emb_col }.from('different' => 'true').to(son.to_h.stringify_keys)
114
+ }.to change { parent.emb_col }
115
+ .from('different' => 'true')
116
+ .to(son.to_h.stringify_keys.merge('_type' => 'Parent'))
113
117
  end
114
118
 
115
119
  end
@@ -210,9 +214,9 @@ describe Embedson::Model::EmbeddedBuilder do
210
214
 
211
215
  it 'changes column values' do
212
216
  son.save
213
- expect(parent.son_col).to eq('something' => different)
217
+ expect(parent.son_col).to eq('something' => different, '_type' => 'Parent')
214
218
  expect(parent.emb_col).to be_nil
215
- expect(parent_two.son_col).to eq('something' => different)
219
+ expect(parent_two.son_col).to eq('something' => different, '_type' => 'ParentTwo')
216
220
  end
217
221
 
218
222
  context 'and son is changed' do
@@ -222,9 +226,9 @@ describe Embedson::Model::EmbeddedBuilder do
222
226
  son.change = 'new value'
223
227
  son.save
224
228
  }.to change { parent.reload.son_col }
225
- .from('something' => different)
226
- .to('something' => different, 'change' => 'new value')
227
- expect(parent_two.son_col).to eq('something' => different, 'change' => 'new value')
229
+ .from('something' => different, '_type' => 'Parent')
230
+ .to('something' => different, 'change' => 'new value', '_type' => 'Parent')
231
+ expect(parent_two.son_col).to eq('something' => different, 'change' => 'new value', '_type' => 'ParentTwo')
228
232
  end
229
233
  end
230
234
  end
@@ -257,7 +261,7 @@ describe Embedson::Model::EmbeddedBuilder do
257
261
 
258
262
  it 'changes column values' do
259
263
  expect(son.save).to be_truthy
260
- expect(parent.son_col).to eq('something' => different)
264
+ expect(parent.son_col).to eq('something' => different, '_type' => 'Parent')
261
265
  expect(parent.emb_col).to be_nil
262
266
  end
263
267
  end
@@ -331,9 +335,9 @@ describe Embedson::Model::EmbeddedBuilder do
331
335
  it 'changes column values' do
332
336
  expect(son.save!).to be_truthy
333
337
  parent.reload
334
- expect(parent.son_col).to eq('something' => different)
338
+ expect(parent.son_col).to eq('something' => different, '_type' => 'Parent')
335
339
  expect(parent.emb_col).to be_nil
336
- expect(parent_two.reload.son_col).to eq('something' => different)
340
+ expect(parent_two.reload.son_col).to eq('something' => different, '_type' => 'ParentTwo')
337
341
  end
338
342
 
339
343
  context 'and son is changed' do
@@ -343,9 +347,9 @@ describe Embedson::Model::EmbeddedBuilder do
343
347
  son.change = 'new value'
344
348
  son.save!
345
349
  }.to change { parent.reload.son_col }
346
- .from('something' => different)
347
- .to('something' => different, 'change' => 'new value')
348
- expect(parent_two.son_col).to eq('something' => different, 'change' => 'new value')
350
+ .from('something' => different, '_type' => 'Parent')
351
+ .to('something' => different, 'change' => 'new value', '_type' => 'Parent')
352
+ expect(parent_two.son_col).to eq('something' => different, 'change' => 'new value', '_type' => 'ParentTwo')
349
353
  end
350
354
  end
351
355
  end
@@ -378,7 +382,7 @@ describe Embedson::Model::EmbeddedBuilder do
378
382
 
379
383
  it 'changes column values' do
380
384
  expect(son.save!).to be_truthy
381
- expect(parent.son_col).to eq('something' => different)
385
+ expect(parent.son_col).to eq('something' => different, '_type' => 'Parent')
382
386
  expect(parent.emb_col).to be_nil
383
387
  end
384
388
  end
@@ -387,12 +391,22 @@ describe Embedson::Model::EmbeddedBuilder do
387
391
  end
388
392
 
389
393
  describe 'defined .destroy' do
394
+
395
+
396
+ context 'when there is no parent' do
397
+ let(:son) { Son.new }
398
+
399
+ it 'returns false' do
400
+ expect(son.destroy).to be_falsey
401
+ end
402
+ end
403
+
390
404
  context 'when there is parent' do
391
405
  let(:son) { Son.new(parent: parent, parent_two: parent_two) }
392
406
 
393
407
  context 'and destroy on all returns true' do
394
408
  it 'returns true' do
395
- expect(son.destroy).to eq(true)
409
+ expect(son.destroy).to be_truthy
396
410
  end
397
411
  end
398
412
 
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ describe Embedson::Model::EmbedsBuilder do
4
+
5
+ with_model :Parent do
6
+ table do |t|
7
+ t.json :son_col
8
+ end
9
+
10
+ model do
11
+ embeds_one :son, column_name: :son_col, class_name: FirstSon
12
+ end
13
+ end
14
+
15
+ class FirstSon < OpenStruct
16
+ extend Embedson::Model
17
+
18
+ embedded_in :parent, inverse_of: :son
19
+
20
+ end
21
+
22
+ class FirstSonsChild < FirstSon
23
+ end
24
+
25
+ describe 'defined #son method' do
26
+ context 'when child of embedded model is assigned as son' do
27
+ let(:parent) { Parent.new(son: son) }
28
+ let(:son) { FirstSonsChild.new(some: 'random') }
29
+
30
+ it 'returns SonsChild instance' do
31
+ expect(parent.son).to be_a FirstSonsChild
32
+ expect(parent.son).to eq son
33
+ end
34
+
35
+ context 'when aprent is persisted' do
36
+ before do
37
+ parent.save!
38
+ end
39
+
40
+ it 'returns SonsChild instance' do
41
+ expect(parent.reload.son).to be_a FirstSonsChild
42
+ expect(parent.son).to eq son
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -86,7 +86,7 @@ describe Embedson::Model do
86
86
  expect{
87
87
  parent.embedded = embedded
88
88
  parent.save!
89
- }.to change { parent.reload.read_attribute(:embedded) }.from(nil).to(embedded.to_h.stringify_keys)
89
+ }.to change { parent.reload.read_attribute(:embedded) }.from(nil).to(embedded.to_h.stringify_keys.merge('_type' => 'Parent'))
90
90
  end
91
91
  end
92
92
  end
@@ -155,7 +155,7 @@ describe Embedson::Model do
155
155
  expect {
156
156
  parent.embeddedb = embedded
157
157
  parent.save!
158
- }.to change{ parent.read_attribute(:data) }.from(nil).to(embedded.to_h.stringify_keys)
158
+ }.to change{ parent.read_attribute(:data) }.from(nil).to(embedded.to_h.stringify_keys.merge('_type' => 'Parent'))
159
159
  end
160
160
  end
161
161
 
@@ -336,76 +336,12 @@ describe Embedson::Model do
336
336
  expect{
337
337
  embedded.parent = parent
338
338
  parent.save!
339
- }.to change { parent.reload.read_attribute(:embedded) }.from(nil).to(embedded.to_h.stringify_keys)
339
+ }.to change { parent.reload.read_attribute(:embedded) }.from(nil).to(embedded.to_h.stringify_keys.merge('_type' => 'Parent'))
340
340
  end
341
341
  end
342
342
  end
343
343
  end
344
344
 
345
- describe 'defined .save! method' do
346
-
347
- context 'when there is parent' do
348
- let(:embedded) { Embeddede.new(parent: parent) }
349
-
350
- it 'calls .save on parent' do
351
- expect(parent).to receive(:save!)
352
- embedded.save!
353
- end
354
-
355
- it 'saves to_h result in parent column' do
356
- parent.save!
357
- expect {
358
- embedded.save!
359
- }.to change { parent.reload.read_attribute(:embedded) }.from(nil).to({ "defined" => "in", "embedded" => true })
360
- end
361
-
362
- context 'and embedded is changed' do
363
- it 'saves changes in parent' do
364
- embedded.save!
365
- expect {
366
- embedded.change = 'new value'
367
- embedded.save!
368
- }.to change { parent.reload.read_attribute(:embedded) }
369
- .from({ "defined" => "in", "embedded" => true })
370
- .to({"defined"=>"in", "embedded"=>true, "change"=>"new value"})
371
- end
372
- end
373
- end
374
-
375
- context 'when there is no parent' do
376
- it 'raises argument error' do
377
- expect { embedded.save! }.to raise_error(Embedson::NoParentError)
378
- end
379
- end
380
- end
381
-
382
- describe 'defined .destroy method' do
383
-
384
- context 'when there is parent' do
385
- let(:embedded) { Embeddede.new(parent: parent) }
386
-
387
- it 'calls .save! on parent' do
388
- expect(parent).to receive(:save!)
389
- embedded.destroy
390
- end
391
-
392
- it 'saves nil in parent column' do
393
- embedded.save!
394
- expect {
395
- embedded.destroy
396
- }.to change { parent.reload.read_attribute(:embedded) }.from({ "defined" => "in", "embedded" => true }).to(nil)
397
- end
398
- end
399
-
400
- context 'when there is no parent' do
401
- let(:embedded) { Embeddede.new }
402
-
403
- it 'returns false' do
404
- expect(embedded.destroy).to eq(false)
405
- end
406
- end
407
- end
408
-
409
345
  describe 'defined .embedson_model_changed! method' do
410
346
 
411
347
  context 'when there is parent' do
@@ -419,7 +355,9 @@ describe Embedson::Model do
419
355
  embedded.change = 'registered'
420
356
  expect {
421
357
  embedded.embedson_model_changed!
422
- }.to change { parent.read_attribute(:embedded) }.from({ "defined" => "in", "embedded" => true }).to({ "defined" => "in", "embedded" => true, 'change' => 'registered' })
358
+ }.to change { parent.read_attribute(:embedded) }
359
+ .from({ "defined" => "in", "embedded" => true, '_type' => 'Parent' })
360
+ .to({ "defined" => "in", "embedded" => true, 'change' => 'registered', '_type' => 'Parent' })
423
361
  end
424
362
  end
425
363
 
metadata CHANGED
@@ -1,136 +1,137 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embedson
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - sufleR
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-19 00:00:00.000000000 Z
11
+ date: 2015-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.6'
33
+ version: '1.8'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.6'
40
+ version: '1.8'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '10.3'
47
+ version: '10'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '10.3'
54
+ version: '10'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '3.2'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '3.2'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pg
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.17'
75
+ version: '0.18'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.17'
82
+ version: '0.18'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: pry
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.10'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.10'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: with_model
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: '1.2'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1.2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: codeclimate-test-reporter
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0.4'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.4'
125
- description: Save any class which respond to to_h in json column as embedded model.
125
+ description: Save hash representation of class in json column as embedded model.
126
126
  email:
127
127
  - szymon.fracczak@netguru.co
128
128
  executables: []
129
129
  extensions: []
130
130
  extra_rdoc_files: []
131
131
  files:
132
- - .gitignore
133
- - .travis.yml
132
+ - ".gitignore"
133
+ - ".travis.yml"
134
+ - CHANGELOG.md
134
135
  - Gemfile
135
136
  - LICENSE.txt
136
137
  - README.md
@@ -146,6 +147,7 @@ files:
146
147
  - lib/embedson/version.rb
147
148
  - spec/embedson/exceptions_spec.rb
148
149
  - spec/embedson/model/embedded_builder_spec.rb
150
+ - spec/embedson/model/embeds_builder_spec.rb
149
151
  - spec/embedson/model/method_builder_spec.rb
150
152
  - spec/embedson/model_spec.rb
151
153
  - spec/spec_helper.rb
@@ -159,23 +161,24 @@ require_paths:
159
161
  - lib
160
162
  required_ruby_version: !ruby/object:Gem::Requirement
161
163
  requirements:
162
- - - ! '>='
164
+ - - ">="
163
165
  - !ruby/object:Gem::Version
164
166
  version: 1.9.3
165
167
  required_rubygems_version: !ruby/object:Gem::Requirement
166
168
  requirements:
167
- - - ! '>='
169
+ - - ">="
168
170
  - !ruby/object:Gem::Version
169
171
  version: '0'
170
172
  requirements: []
171
173
  rubyforge_project:
172
- rubygems_version: 2.1.4
174
+ rubygems_version: 2.4.3
173
175
  signing_key:
174
176
  specification_version: 4
175
177
  summary: Embedded model for AR with postgresql
176
178
  test_files:
177
179
  - spec/embedson/exceptions_spec.rb
178
180
  - spec/embedson/model/embedded_builder_spec.rb
181
+ - spec/embedson/model/embeds_builder_spec.rb
179
182
  - spec/embedson/model/method_builder_spec.rb
180
183
  - spec/embedson/model_spec.rb
181
184
  - spec/spec_helper.rb