active_record-acts_as 2.0.0 → 2.0.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: e23d681d9272dad587e888164a0a1699cac86717
4
- data.tar.gz: e2fca48672513bae073e702cfdd5631241f1b6d1
3
+ metadata.gz: 62e3d1c5bebab4cf760006974c27a8393197e62e
4
+ data.tar.gz: c003401bb8d69ac018c8703d6fe6dc1a80a11692
5
5
  SHA512:
6
- metadata.gz: 54e3c3e84139c8ac514e13366cb02d3411a1cd9becbe4bbed6b6aa9b3045151a03f8dde9a7c29d287d82972f6c52e4fe8ff7860c6d94cef21d4f09d8e15af295
7
- data.tar.gz: 323da76a14e32627d7b52395a3244c87e813fa6df650df302983e0ca51ed815c81129cdf2e57ba5a47f3f7b09cd45bfce37c196c29dd0ba91f784b5762b93201
6
+ metadata.gz: 531a5d66cf6fd9b9063171fd1eeeac403291fa993205c930986c7702a65220a25eb3c8fdb3bf8f059446e74aaff102e2397376f23feeb490fba5bbaeb170d14b
7
+ data.tar.gz: f31b4cb3855400b7b5809ac46a33897fc8895f4f8aefd8a4c51ea57fe09b3a07988ab66ec9d3eb70f819519fa56f42b438040e952b98f6de60ee9881733fc43a
data/CHANGELOG.md ADDED
@@ -0,0 +1,29 @@
1
+ # Change Log
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/).
6
+
7
+ ## [2.0.0] - 2016-09-14
8
+ ### Added
9
+ - Added support for Rails 5 (https://github.com/hzamani/active_record-acts_as/pull/80, thanks to [nicklandgrebe](https://github.com/nicklandgrebe)!)
10
+ - Allow specifying `association_method` parameter (https://github.com/hzamani/active_record-acts_as/pull/72, thanks to [tombowo](https://github.com/tombowo)!)
11
+
12
+ ### Removed
13
+ - Dropped support for Ruby < 2.2 and ActiveSupport/ActiveRecord < 4.2
14
+
15
+ ### Fixed
16
+ - Fixed `remove_actable` migration helper (https://github.com/hzamani/active_record-acts_as/pull/71, thanks to [nuclearpidgeon](https://github.com/nuclearpidgeon)!)
17
+
18
+ [Unreleased]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.0...HEAD
19
+ [2.0.0]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.8...v2.0.0
20
+ [1.0.8]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.7...v1.0.8
21
+ [1.0.7]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.6...v1.0.7
22
+ [1.0.6]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.5...v1.0.6
23
+ [1.0.5]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.4...v1.0.5
24
+ [1.0.4]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.3...v1.0.4
25
+ [1.0.3]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.2...v1.0.3
26
+ [1.0.2]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.1...v1.0.2
27
+ [1.0.1]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.0...v1.0.1
28
+ [1.0.0]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.0.rc...v1.0.0
29
+ [1.0.0.rc]: https://github.com/hzamani/active_record-acts_as/compare/v1.0.0.pre...v1.0.0.rc
data/README.md CHANGED
@@ -91,7 +91,7 @@ end
91
91
  **Make sure** that column names do not match on parent and subclass tables,
92
92
  that will make SQL statements ambiguous and invalid!
93
93
  Specially **DO NOT** use timestamps on subclasses, if you need them define them
94
- on parent table and they will be touched after submodel updates.
94
+ on parent table and they will be touched after submodel updates (You can use the option `touch: false` to skip this behaviour).
95
95
 
96
96
  Now `Pen` and `Book` **acts as** `Product`, i.e. they inherit `Product`s **attributes**,
97
97
  **methods** and **validations**. Now you can do things like these:
@@ -21,6 +21,7 @@ module ActiveRecord
21
21
  end
22
22
 
23
23
  def touch_actable
24
+ return unless changed?
24
25
  acting_as.touch
25
26
  end
26
27
 
@@ -8,6 +8,7 @@ module ActiveRecord
8
8
  def acts_as(name, scope = nil, options = {})
9
9
  options, scope = scope, nil if Hash === scope
10
10
  association_method = options.delete(:association_method)
11
+ touch = options.delete(:touch)
11
12
  options = {as: :actable, dependent: :destroy, validate: false, autosave: true}.merge options
12
13
 
13
14
  cattr_reader(:validates_actable) { options.delete(:validates_actable) == false ? false : true }
@@ -24,7 +25,7 @@ module ActiveRecord
24
25
  end
25
26
  }
26
27
  validate :actable_must_be_valid
27
- after_update :touch_actable
28
+ after_update :touch_actable unless touch == false
28
29
 
29
30
  cattr_reader(:acting_as_reflection) { reflections.stringify_keys[name.to_s] }
30
31
  cattr_reader(:acting_as_name) { name.to_s }
@@ -1,6 +1,6 @@
1
1
  module ActiveRecord
2
2
  module ActsAs
3
- VERSION = "2.0.0"
3
+ VERSION = "2.0.1"
4
4
  end
5
5
  end
6
6
 
data/spec/acts_as_spec.rb CHANGED
@@ -223,6 +223,12 @@ RSpec.describe "ActiveRecord::Base model with #acts_as called" do
223
223
  expect(pen.updated_at).not_to eq(update)
224
224
  end
225
225
 
226
+ it "touches supermodel only when attributes changed" do
227
+ pen.save
228
+
229
+ expect { pen.save }.to_not change { pen.reload.product.updated_at }
230
+ end
231
+
226
232
  it "raises NoMethodEror on unexisting method call" do
227
233
  expect { pen.unexisted_method }.to raise_error(NoMethodError)
228
234
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record-acts_as
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hassan Zamani
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-17 00:00:00.000000000 Z
11
+ date: 2016-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sqlite3
@@ -120,6 +120,7 @@ files:
120
120
  - ".rspec"
121
121
  - ".travis.yml"
122
122
  - Appraisals
123
+ - CHANGELOG.md
123
124
  - Gemfile
124
125
  - LICENSE.txt
125
126
  - README.md