opium 1.3.0 → 1.3.1

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,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6654bbb09c0e23b6fb3c05a5cf1f2515029383db
4
- data.tar.gz: e32e0bd58f3c71d69bf6ea6cfea1ed1a0d00f60e
3
+ metadata.gz: 41273455a1d59fc4ccd1bfe03f43f2cdce23384d
4
+ data.tar.gz: 221b878aba20e3acbc3201986bc0fe0f73c314d6
5
5
  SHA512:
6
- metadata.gz: a178267af93078ede88138342b5ff9438acfcc4f062b9938c0e7b76ceff69488230bbf2a121109d3a9400625174197d83274d9d4c8844fc617d73043b2b1bc83
7
- data.tar.gz: ca37ddc7b04eb11ba164fb9d9a9877b47aaa9ed057ddb7a381d763476ea2f367aac978dd01c399a5e7e3b4f37e408779e953c2e918c43cc9f564b04c1954698b
6
+ metadata.gz: 559adc15de59342f0bb01d4ac5c20a4d6453a2c9211b66b71db2dc324196ae06b87a2db363845a35b2c6589cc3b860814e9c621ab9f985d17bf77ecdee851d6d
7
+ data.tar.gz: 9ac14b003d4822f3cb0933a41948588febb6165f88215607dfcce491c3c757a4719280089a6ac8faa22168cbf12136a923163fea421048eb498bd10733dff694
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 1.3.1
2
+ ### Resolved Issues
3
+ - #50: Model::Dirty#save! now overridden to apply dirty changes when invoked.
4
+
1
5
  ## 1.3.0
2
6
  ### New Features
3
7
  - Now have basic support for sending push notifications via the parse server.
@@ -2,34 +2,38 @@ module Opium
2
2
  module Model
3
3
  module Dirty
4
4
  extend ActiveSupport::Concern
5
-
5
+
6
6
  included do
7
7
  include ActiveModel::Dirty
8
8
  end
9
-
9
+
10
10
  def initialize( attributes = {} )
11
11
  super( attributes ).tap { self.send :clear_changes_information }
12
12
  end
13
-
13
+
14
14
  def save( options = {} )
15
15
  super( options ).tap { self.send :changes_applied }
16
16
  end
17
-
17
+
18
+ def save!( *args )
19
+ super( *args ).tap { self.send :changes_applied }
20
+ end
21
+
18
22
  private
19
-
23
+
20
24
  unless defined?(clear_changes_information)
21
25
  def clear_changes_information
22
26
  @previously_changed = ActiveSupport::HashWithIndifferentAccess.new
23
27
  @changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
24
28
  end
25
29
  end
26
-
30
+
27
31
  unless defined?(changes_applied)
28
32
  def changes_applied
29
33
  @previously_changed = changes
30
34
  @changed_attributes = ActiveSupport::HashWithIndifferentAccess.new
31
- end
35
+ end
32
36
  end
33
37
  end
34
38
  end
35
- end
39
+ end
data/lib/opium/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Opium
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
@@ -2,13 +2,13 @@ require 'spec_helper'
2
2
 
3
3
  describe Opium::Model::Dirty do
4
4
  let( :model ) { Class.new { def initialize(a = {}); end; def save(o = {}); end; include Opium::Model::Dirty; } }
5
-
5
+
6
6
  describe 'instance' do
7
7
  subject { model.new }
8
-
8
+
9
9
  it { should respond_to( :changed?, :changed, :changed_attributes ) }
10
10
  end
11
-
11
+
12
12
  describe 'when included in a model' do
13
13
  before do
14
14
  stub_const( 'Game', Class.new do
@@ -19,21 +19,26 @@ describe Opium::Model::Dirty do
19
19
  body: "{\"title\":\"Skyrim\"}",
20
20
  headers: {'Content-Type'=>'application/json'}
21
21
  ).to_return(
22
- body: { objectId: 'abcd1234', createdAt: Time.now.to_s }.to_json,
23
- status: 200,
24
- headers: { 'Content-Type' => 'application/json', Location: 'https://api.parse.com/1/classes/Game/abcd1234' }
22
+ body: { objectId: 'abcd1234', createdAt: Time.now.to_s }.to_json,
23
+ status: 200,
24
+ headers: { 'Content-Type' => 'application/json', Location: 'https://api.parse.com/1/classes/Game/abcd1234' }
25
25
  )
26
26
  end
27
-
27
+
28
28
  subject { Game.new( title: 'Skyrim' ) }
29
-
29
+
30
30
  it 'when instantiated, should not be changed' do
31
31
  subject.should_not be_changed
32
32
  end
33
-
33
+
34
34
  it 'when saved, should receive #changes_applied' do
35
35
  subject.should receive(:changes_applied)
36
36
  subject.save
37
- end
37
+ end
38
+
39
+ it 'when saved!, should receive #changes_applied' do
40
+ subject.should receive(:changes_applied)
41
+ subject.save!
42
+ end
38
43
  end
39
- end
44
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opium
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Bowers
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-08 00:00:00.000000000 Z
11
+ date: 2016-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler