embedson 1.0.4 → 1.1.0

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 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