active_record_content_blob 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MzAyNjgxZWQ0ODNhNzJhZDA5N2JkMDU5YjEwNmNmOTNmNTRjZWMwOA==
4
+ MmM1MmVkNzRmODBkNzJmNmQ1YzBjNmQ3YWRlNmM3YTViMDcyNTNjNw==
5
5
  data.tar.gz: !binary |-
6
- MDEzYzNiMGQ1ZWEwYTI5YWNiYjk2YWVkYjUyMzFkM2Q3NzU0YjdmYg==
6
+ OTkzMTU5ZWU1YjE3OTc5OWZmYTk2MTk4MzdhYWE3YWUyYjU4YzA1MQ==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YTcxMDlkZjFhOWQ2MzIxYWFjNThlZjhjOGRiYTU4ZmI3MjQwYThhZjBiYjkx
10
- YTllYzZmMjY5ODRjZDMyZTYyMDA1MjNhYmFkZWIzNGI0MzQ3YjA3MTQzYzAy
11
- OTQwNTc4NjZiMmI1NDYzZGExOGM0OTcyN2U2MmMyOGRiMzE5MmE=
9
+ ZmUyYTNhMTA0Mjk2ZDU1YTlmZTFjZTgyZWZkNzFjNmQxNzIwNDIwMzMzNGY2
10
+ YzdkNGJmMGNjYmVjMGViZmVhZTgxNDQ3MzNmNmU5MzA5ZjQ5NTJhNzk4MTQx
11
+ Y2M4NGQwM2JiOTVlNDgyODZhOGQ0MTkxNmIzZTI2ZmE2MzUzNmU=
12
12
  data.tar.gz: !binary |-
13
- ZGI0MDMyYTZlNGI1MmM2YjExNGRiM2NiYTFmMDNjZjk5ZWJkMGFmOGYyNzNk
14
- MGRhMTFiZjgyY2Q0MjQ2OGMwZGU5ZDQ4MjU5NWFkNDhhODdlYjFiYWMxZjlk
15
- YmIyNGI0ZjM5N2UwYTI3YmFjNGRkYWRmN2ZmMTUzMWJjMDM4ZGQ=
13
+ OTA2MTUwNzY3YjcxYmEyMWY5NzVhMDQ4MTRlMWM3YmI5MmNmNzYyOTgzYWUw
14
+ ODBiMDQxZDgwNmNkZGQ2OTUxZmE3MDFiNmQ2ZjdhY2JkNmQwYjRjMTRlYWU0
15
+ YWFmYTg3OTZjY2E1YTZiMGM1ZWM4ZDNhODhjOTU5ZGVlMGI1MzQ=
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "active_record_content_blob"
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dan Nguyen"]
data/lib/content_blob.rb CHANGED
@@ -6,6 +6,6 @@ class ContentBlob < ActiveRecord::Base
6
6
  serialize :contents
7
7
 
8
8
  validates_uniqueness_of :blobable_id, scope: :blobable_type
9
- belongs_to :blobable, polymorphic: true
9
+ belongs_to :blobable, polymorphic: true, autosave: true
10
10
 
11
11
  end
@@ -13,7 +13,7 @@ module ActiveRecordContentBlob
13
13
  raise StandardError, "Cannot already have a :contents attribute or method"
14
14
  end
15
15
 
16
- has_one :content_blob, as: :blobable, dependent: :destroy
16
+ has_one :content_blob, as: :blobable, dependent: :destroy, autosave: true
17
17
  # TODO: allow customization of :contents name
18
18
  # in case model already has a contents field
19
19
  delegate :contents, to: :content_blob, allow_nil: true
@@ -35,19 +35,20 @@ describe "Blobable" do
35
35
  context 'existing blobs' do
36
36
  it 'should overwrite existing blob' do
37
37
  @record.build_a_blob({'xyz'=>'999'})
38
- expect(@record.content_blob.new_record?).to be_true
39
- expect(@record.content_blob.valid?).to be_true
40
38
 
41
- @record.save
42
-
43
- @record = MusicRecord.find(@record.id)
39
+ expect(@record.content_blob).not_to be_new_record
40
+ expect(@record.content_blob).to be_changed
41
+ expect(@record.content_blob).to be_valid
42
+
43
+ @record.save
44
+ @record.reload
45
+
44
46
  expect(@record.contents['xyz']).to eq '999'
45
47
 
46
48
  expect(ContentBlob.count).to eq 1
47
49
  end
48
50
 
49
51
  it 'should keep same id of an existing blob' do
50
- #ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?(ActiveRecord::Base)
51
52
  old_blob_id = @record.content_blob.id
52
53
 
53
54
  @record.build_a_blob({'xyz'=>'999'})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_content_blob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Nguyen