draft_punk 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
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