active_record-acts_as 2.0.6 → 2.0.8
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 +4 -4
- data/.travis.yml +10 -2
- data/CHANGELOG.md +10 -1
- data/lib/active_record/acts_as/relation.rb +6 -2
- data/lib/active_record/acts_as/version.rb +1 -1
- data/spec/acts_as_spec.rb +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8708651ac6d764497b6c4e8da34acae1475c3f7d
|
4
|
+
data.tar.gz: aa82c12e20fa93ac1f42af1e642dd5340cc06076
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e03ca44f4700ac019b97995bfb7e2c52d281e2357accb77a007f9ad8589f6fb862d0c67910500195925d90d7944a5fec68a5ffbd4dba1835a7a44f593b8b5b2
|
7
|
+
data.tar.gz: 75a8d285074080eb20731ae14a6c4c9713820f7d5bc3513deecea27ba9e51cb786ed8a574dd201d122223c5241343a5a991cf5c051a9393c3178dfc46d0acfb3
|
data/.travis.yml
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
language: ruby
|
2
2
|
sudo: false
|
3
3
|
rvm:
|
4
|
-
- 2.2.
|
5
|
-
- 2.3.
|
4
|
+
- 2.2.6
|
5
|
+
- 2.3.3
|
6
|
+
- 2.4.0
|
7
|
+
before_install:
|
8
|
+
- gem update --system
|
9
|
+
- gem update bundler
|
6
10
|
gemfile:
|
7
11
|
- gemfiles/rails_4.2.gemfile
|
8
12
|
- gemfiles/rails_5.0.gemfile
|
13
|
+
matrix:
|
14
|
+
allow_failures:
|
15
|
+
- rvm: 2.4.0
|
16
|
+
gemfile: gemfiles/rails_4.2.gemfile
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
6
6
|
|
7
|
+
## [2.0.8] - 2017-02-17
|
8
|
+
### Fixed
|
9
|
+
- Avoid circular dependency on destroy
|
10
|
+
|
11
|
+
## [2.0.7] - 2017-02-17 [YANKED]
|
12
|
+
### Fixed
|
13
|
+
- Set reference to submodel when building supermodel
|
14
|
+
|
7
15
|
## [2.0.6] - 2017-02-17
|
8
16
|
### Added
|
9
17
|
- Allow arguments to #touch and forward them to the supermodel
|
@@ -41,7 +49,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
41
49
|
### Fixed
|
42
50
|
- Fixed `remove_actable` migration helper (https://github.com/hzamani/active_record-acts_as/pull/71, thanks to [nuclearpidgeon](https://github.com/nuclearpidgeon)!)
|
43
51
|
|
44
|
-
[Unreleased]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.
|
52
|
+
[Unreleased]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.7...HEAD
|
53
|
+
[2.0.7]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.6...v2.0.7
|
45
54
|
[2.0.6]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.5...v2.0.6
|
46
55
|
[2.0.5]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.4...v2.0.5
|
47
56
|
[2.0.4]: https://github.com/hzamani/active_record-acts_as/compare/v2.0.3...v2.0.4
|
@@ -8,7 +8,7 @@ module ActiveRecord
|
|
8
8
|
options, scope = scope, nil if Hash === scope
|
9
9
|
association_method = options.delete(:association_method)
|
10
10
|
touch = options.delete(:touch)
|
11
|
-
options =
|
11
|
+
options = options.reverse_merge(as: :actable, validate: false, autosave: true)
|
12
12
|
|
13
13
|
cattr_reader(:validates_actable) { options.delete(:validates_actable) == false ? false : true }
|
14
14
|
|
@@ -36,11 +36,15 @@ module ActiveRecord
|
|
36
36
|
after_commit do
|
37
37
|
@_acting_as_changed = nil
|
38
38
|
end
|
39
|
+
# Workaround for https://github.com/rails/rails/issues/13609
|
40
|
+
after_destroy do
|
41
|
+
acting_as.destroy if acting_as && !acting_as.destroyed?
|
42
|
+
end
|
39
43
|
|
40
44
|
cattr_reader(:acting_as_reflection) { reflections.stringify_keys[name.to_s] }
|
41
45
|
cattr_reader(:acting_as_name) { name.to_s }
|
42
46
|
cattr_reader(:acting_as_model) { (options[:class_name] || name.to_s.camelize).constantize }
|
43
|
-
class_eval "def #{name}; super || build_#{name} end"
|
47
|
+
class_eval "def #{name}; super || build_#{name}(acting_as_model.actable_reflection.name => self); end"
|
44
48
|
alias_method :acting_as, name
|
45
49
|
alias_method :acting_as=, "#{name}=".to_sym
|
46
50
|
|
data/spec/acts_as_spec.rb
CHANGED
@@ -80,9 +80,9 @@ RSpec.describe "ActiveRecord::Base model with #acts_as called" do
|
|
80
80
|
end
|
81
81
|
|
82
82
|
describe "#acting_as" do
|
83
|
-
it "
|
84
|
-
expect(pen.acting_as).to_not be_nil
|
83
|
+
it "builds acts_as model with actable relation set" do
|
85
84
|
expect(pen.acting_as).to be_instance_of(Product)
|
85
|
+
expect(pen.acting_as.actable).to be_instance_of(Pen)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_record-acts_as
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hassan Zamani
|
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
164
|
version: '0'
|
165
165
|
requirements: []
|
166
166
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.6.
|
167
|
+
rubygems_version: 2.6.6
|
168
168
|
signing_key:
|
169
169
|
specification_version: 4
|
170
170
|
summary: Simulate multi-table inheritance for activerecord models
|
@@ -177,3 +177,4 @@ test_files:
|
|
177
177
|
- spec/models.rb
|
178
178
|
- spec/rspec_matchers_spec.rb
|
179
179
|
- spec/spec_helper.rb
|
180
|
+
has_rdoc:
|