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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1d4a6420f3e781377149fe2a5501e9f98a0919a7
4
- data.tar.gz: 3bff87d484861606d197f4ffd20b531bb3b474f3
3
+ metadata.gz: 736d197cd13d789cca1213de1254c89a1082fddc
4
+ data.tar.gz: faa8ed97c0233efc97494180dfdfa4c26cfec3ee
5
5
  SHA512:
6
- metadata.gz: 008e3ddeb9db92ef6c7ec4ddfddf457ca854831d294b100b42f921aa495bc67a62e0e9371e73f2af012ff562a92dd314682788bd9e1d0fa7dbf6deebb4e6c3da
7
- data.tar.gz: fbb7819e33a842c8802408bd766e83fda9a22e2b941abc037cf276406772fac686b9658ff506d3e8f53dd013d407c9c27e8fee118a96e93775e7345b659636f7
6
+ metadata.gz: 1b1f61d8ad5f526b41f406c5aeb6e410f5eda164fa1d55efc356695b7af42314c6d43984ff877b6693429e9562587c47dc2b9e75de975bd0308b0bd2a052c902
7
+ data.tar.gz: c21fb1a305501bb941e8ba2cdce4da2dbb4efea82e32fe82f959746c16340c0b90d874e137f2a0deffd1fa14e544bcc26eda3928910e6fdaf55bf588a8e542a6
@@ -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.0"
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', "> 3.0", "< 5.1"
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
- include_association target_class.const_get(:DRAFT_VALID_ASSOCIATIONS)
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
 
@@ -105,6 +105,7 @@ module DraftPunk
105
105
  rescue => message
106
106
  raise DraftCreationError, message
107
107
  end
108
+ reload
108
109
  draft
109
110
  end
110
111
 
@@ -1,6 +1,5 @@
1
1
  require 'draft_punk/version'
2
2
  require 'amoeba'
3
- require 'unscoped_associations'
4
3
  require 'activerecord_class_methods'
5
4
  require 'helper_methods'
6
5
 
@@ -1,3 +1,3 @@
1
1
  module DraftPunk
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.8"
3
3
  end
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.7
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: 2017-03-31 00:00:00.000000000 Z
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.0'
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.0'
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: '3.0'
47
+ version: '5.0'
62
48
  - - "<"
63
49
  - !ruby/object:Gem::Version
64
- version: '5.1'
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: '3.0'
57
+ version: '5.0'
72
58
  - - "<"
73
59
  - !ruby/object:Gem::Version
74
- version: '5.1'
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.5.1
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