draft_punk 0.2.7 → 0.2.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/draft_punk.gemspec +2 -3
- data/lib/activerecord_class_methods.rb +5 -7
- data/lib/activerecord_instance_methods.rb +1 -0
- data/lib/draft_punk.rb +0 -1
- data/lib/draft_punk/version.rb +1 -1
- metadata +9 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 736d197cd13d789cca1213de1254c89a1082fddc
|
4
|
+
data.tar.gz: faa8ed97c0233efc97494180dfdfa4c26cfec3ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b1f61d8ad5f526b41f406c5aeb6e410f5eda164fa1d55efc356695b7af42314c6d43984ff877b6693429e9562587c47dc2b9e75de975bd0308b0bd2a052c902
|
7
|
+
data.tar.gz: c21fb1a305501bb941e8ba2cdce4da2dbb4efea82e32fe82f959746c16340c0b90d874e137f2a0deffd1fa14e544bcc26eda3928910e6fdaf55bf588a8e542a6
|
data/draft_punk.gemspec
CHANGED
@@ -31,10 +31,9 @@ EOF
|
|
31
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
32
32
|
spec.require_paths = ["lib"]
|
33
33
|
|
34
|
-
spec.add_runtime_dependency "amoeba", "~> 3.
|
35
|
-
spec.add_runtime_dependency "unscoped_associations", "< 1.0"
|
34
|
+
spec.add_runtime_dependency "amoeba", "~> 3.1"
|
36
35
|
spec.add_runtime_dependency "differ", "< 0.2"
|
37
|
-
spec.add_runtime_dependency 'rails', ">
|
36
|
+
spec.add_runtime_dependency 'rails', "> 5.0", "< 5.3"
|
38
37
|
|
39
38
|
spec.add_development_dependency "bundler", "~> 1.9"
|
40
39
|
spec.add_development_dependency "rake", "~> 10.0"
|
@@ -125,8 +125,8 @@ module DraftPunk
|
|
125
125
|
associations = target_class.draft_target_associations
|
126
126
|
associations = target_class.set_valid_associations(associations)
|
127
127
|
target_class.amoeba do
|
128
|
-
enable
|
129
|
-
|
128
|
+
enable
|
129
|
+
include_associations target_class.const_get(:DRAFT_VALID_ASSOCIATIONS) unless target_class.const_get(:DRAFT_VALID_ASSOCIATIONS).empty?
|
130
130
|
customize target_class.set_approved_version_id_callback
|
131
131
|
end
|
132
132
|
target_class.const_set :DRAFT_PUNK_IS_SETUP, true
|
@@ -165,14 +165,12 @@ module DraftPunk
|
|
165
165
|
return if target_class.reflect_on_association(:approved_version) || !target_class.column_names.include?('approved_version_id')
|
166
166
|
target_class.send :include, ActiveRecordInstanceMethods
|
167
167
|
target_class.send :include, DraftDiffInstanceMethods
|
168
|
-
target_class.belongs_to :approved_version, class_name: target_class.name
|
169
|
-
target_class.has_one :draft, class_name: target_class.name, foreign_key: :approved_version_id, unscoped: true
|
168
|
+
target_class.belongs_to :approved_version, class_name: target_class.name, optional: true
|
170
169
|
target_class.scope :approved, -> { where("#{target_class.quoted_table_name}.approved_version_id IS NULL") }
|
170
|
+
target_class.has_one :draft, -> { unscope(where: :approved) }, class_name: target_class.name, foreign_key: :approved_version_id
|
171
|
+
target_class.scope :draft, -> { unscoped.where("#{target_class.quoted_table_name}.approved_version_id IS NOT NULL") }
|
171
172
|
if set_default_scope
|
172
173
|
target_class.default_scope -> { approved }
|
173
|
-
else
|
174
|
-
# TODO: fix - the unscoped isn't working with default scope, so not defining this draft scope if set_default_scope
|
175
|
-
target_class.scope :draft, -> { unscoped.where("#{target_class.quoted_table_name}.approved_version_id IS NOT NULL") }
|
176
174
|
end
|
177
175
|
end
|
178
176
|
|
data/lib/draft_punk.rb
CHANGED
data/lib/draft_punk/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: draft_punk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Hodges
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: amoeba
|
@@ -16,28 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '3.
|
19
|
+
version: '3.1'
|
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
|
-
version: '3.
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: unscoped_associations
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "<"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '1.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "<"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.0'
|
26
|
+
version: '3.1'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: differ
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,20 +44,20 @@ dependencies:
|
|
58
44
|
requirements:
|
59
45
|
- - ">"
|
60
46
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
47
|
+
version: '5.0'
|
62
48
|
- - "<"
|
63
49
|
- !ruby/object:Gem::Version
|
64
|
-
version: '5.
|
50
|
+
version: '5.3'
|
65
51
|
type: :runtime
|
66
52
|
prerelease: false
|
67
53
|
version_requirements: !ruby/object:Gem::Requirement
|
68
54
|
requirements:
|
69
55
|
- - ">"
|
70
56
|
- !ruby/object:Gem::Version
|
71
|
-
version: '
|
57
|
+
version: '5.0'
|
72
58
|
- - "<"
|
73
59
|
- !ruby/object:Gem::Version
|
74
|
-
version: '5.
|
60
|
+
version: '5.3'
|
75
61
|
- !ruby/object:Gem::Dependency
|
76
62
|
name: bundler
|
77
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -196,10 +182,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
182
|
version: '0'
|
197
183
|
requirements: []
|
198
184
|
rubyforge_project:
|
199
|
-
rubygems_version: 2.
|
185
|
+
rubygems_version: 2.6.14.1
|
200
186
|
signing_key:
|
201
187
|
specification_version: 4
|
202
188
|
summary: Easy editing of a draft version of an ActiveRecord model and its associations,
|
203
189
|
and publishing said draft's changes back to the original models.
|
204
190
|
test_files: []
|
205
|
-
has_rdoc: yard
|