draftsman 0.3.6 → 0.3.7

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: 960fc9d2b1792d584f3e47c2b403ba36283b94e8
4
- data.tar.gz: c8db52c8059ee96b62a7a83c32fae54b9e0ed8b6
3
+ metadata.gz: 194254f680cbf4f16b35d8752db70015373258af
4
+ data.tar.gz: e098a3b022b8f4524b0475f13019402ff8e4b567
5
5
  SHA512:
6
- metadata.gz: 6608027eaeb64125d62070c83bd4b210075c05d12571e5e306eb4fb67569ff88247b63988f3d9595435df00c0cbe8af09aeeeb0ec0da88fd29bc641a45b7720d
7
- data.tar.gz: 9d888f02c11178a3c2717fc3b40a141d8d8e66e7b96100ac76e8bb1f8c7c30f70d1f4c37d4880d863d7bdaa2393dca85990c262c7e494e2c065baf423cebcc46
6
+ metadata.gz: d91dd1b999f3e32d1fd53e2eed6426bedd09b9cf4e009dbdf14bec090d4b1860023e605d8911f0452fe36cdd906c8a7e65a5ee9c403be5b3ad90a871a46d8ffa
7
+ data.tar.gz: cfad2c03e91eaaabac18e36cc98d83cf570beba41d8ca7aa55d076bce6e12965f08473dc24147cf15d0f9fc0b9c0b1deaf28980229e64fad1cada389a07ae6c7
data/.gitignore CHANGED
@@ -1,5 +1,7 @@
1
1
  *.gem
2
2
  .bundle
3
+ .ruby-gemset
4
+ .ruby-version
3
5
  pkg/*
4
6
  .DS_Store
5
7
  ._*
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.3.7 - November 4, 2015
4
+
5
+ - [@bdunham](https://github.com/bdunham)
6
+ [Fixed](https://github.com/liveeditor/draftsman/commit/3610087a319fd203684146bb1d37bf0e41276743) -
7
+ Prevented double require of model definition
8
+ - [@chrisdpeters](https://github.com/chrisdpeters)
9
+ [Fixed](https://github.com/liveeditor/draftsman/commit/ec2edf45700a3bea8cfac6f9facbc8ef6c7f9f54)
10
+ [#36](https://github.com/liveeditor/draftsman/issues/36) -
11
+ Fails miserably with foreign keys
12
+ - [@dpaluy](https://github.com/dpaluy)
13
+ [Fixed](https://github.com/dpaluy/draftsman/blob/afce35b3985c79760176f31710c11a77b1201f0e/config/initializers/draftsman.rb)
14
+ [#33](https://github.com/liveeditor/draftsman/issues/33) -
15
+ SerializedAttributes is deprecated in Rails 4.2.x, and will be removed in Rails 5
16
+ - [@chrisdpeters](https://github.com/chrisdpeters)
17
+ [Fixed](https://github.com/liveeditor/draftsman/commit/adc2843105e8fcf34d714557e82cf3f24942dbcb) -
18
+ Fix `serve_static_assets` deprecation warning
19
+
3
20
  ## 0.3.6 - August 16, 2015
4
21
 
5
22
  - [@chrisdpeters](https://github.com/chrisdpeters)
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Draftsman v0.3.6 (alpha)
1
+ # Draftsman v0.3.7 (alpha)
2
2
 
3
3
  Draftsman is a Ruby gem that lets you create draft versions of your database records. If you're developing a system in
4
4
  need of simple drafts or a publishing approval queue, then Draftsman just might be what you need.
@@ -50,7 +50,7 @@ Works well with Rails, Sinatra, or any other application that depends on ActiveR
50
50
  Add Draftsman to your `Gemfile`.
51
51
 
52
52
  ```ruby
53
- gem 'draftsman', '0.3.6'
53
+ gem 'draftsman', '0.3.7'
54
54
  ```
55
55
 
56
56
  Or if you want to grab the latest from `master`:
@@ -211,7 +211,9 @@ class Draftsman::Draft < ActiveRecord::Base
211
211
  reify_previous_draft.reify
212
212
  elsif !self.object.nil?
213
213
  # This appears to be necessary if for some reason the draft's model hasn't been loaded (such as when done in the console).
214
- require self.item_type.underscore
214
+ unless defined? self.item_type
215
+ require self.item_type.underscore
216
+ end
215
217
 
216
218
  model = item.reload
217
219
 
@@ -297,9 +297,10 @@ module Draftsman
297
297
  self.save
298
298
  # Destroy the draft if this record has changed back to the original record
299
299
  elsif changed_to_original_for_draft?
300
- send(self.class.draft_association_name).destroy
300
+ nilified_draft = send(self.class.draft_association_name)
301
301
  send "#{self.class.draft_association_name}_id=", nil
302
302
  self.save
303
+ nilified_draft.destroy
303
304
  # Save a draft if record is changed notably
304
305
  elsif changed_notably_for_draft?
305
306
  data = {
@@ -1,3 +1,3 @@
1
1
  module Draftsman
2
- VERSION = '0.3.6'
2
+ VERSION = '0.3.7'
3
3
  end
@@ -13,7 +13,13 @@ Dummy::Application.configure do
13
13
  config.eager_load = false
14
14
 
15
15
  # Configure static asset server for tests with Cache-Control for performance
16
- config.serve_static_assets = true
16
+ if ::ActiveRecord::VERSION::STRING < '4.2'
17
+ config.serve_static_assets = true
18
+ # Rails 4.2 deprecates this in favor of `serve_static_files`.
19
+ else
20
+ config.serve_static_files = true
21
+ end
22
+
17
23
  config.static_cache_control = "public, max-age=3600"
18
24
 
19
25
  # Show full error reports and disable caching
@@ -20,7 +20,7 @@ class SetUpTestTables < ActiveRecord::Migration
20
20
 
21
21
  create_table :vanillas, :force => true do |t|
22
22
  t.string :name
23
- t.references :draft
23
+ t.references :draft, :foreign_key => true
24
24
  t.datetime :published_at
25
25
  t.timestamps
26
26
  end
@@ -28,7 +28,7 @@ class SetUpTestTables < ActiveRecord::Migration
28
28
  create_table :trashables, :force => true do |t|
29
29
  t.string :name
30
30
  t.string :title, :null => true
31
- t.references :draft
31
+ t.references :draft, :foreign_key => true
32
32
  t.datetime :published_at
33
33
  t.datetime :trashed_at
34
34
  t.timestamps
@@ -44,14 +44,14 @@ class SetUpTestTables < ActiveRecord::Migration
44
44
  create_table :whitelisters, :force => true do |t|
45
45
  t.string :name
46
46
  t.string :ignored
47
- t.references :draft
47
+ t.references :draft, :foreign_key => true
48
48
  t.datetime :published_at
49
49
  t.timestamps
50
50
  end
51
51
 
52
52
  create_table :parents, :force => true do |t|
53
53
  t.string :name
54
- t.references :draft
54
+ t.references :draft, :foreign_key => true
55
55
  t.datetime :trashed_at
56
56
  t.datetime :published_at
57
57
  t.timestamps
@@ -60,7 +60,7 @@ class SetUpTestTables < ActiveRecord::Migration
60
60
  create_table :children, :force => true do |t|
61
61
  t.string :name
62
62
  t.references :parent
63
- t.references :draft
63
+ t.references :draft, :foreign_key => true
64
64
  t.datetime :trashed_at
65
65
  t.datetime :published_at
66
66
  t.timestamps
@@ -75,7 +75,7 @@ class SetUpTestTables < ActiveRecord::Migration
75
75
  create_table :skippers, :force => true do |t|
76
76
  t.string :name
77
77
  t.string :skip_me
78
- t.references :draft
78
+ t.references :draft, :foreign_key => true
79
79
  t.datetime :trashed_at
80
80
  t.datetime :published_at
81
81
  t.timestamps
@@ -3,7 +3,7 @@ class AddOnlyChildren < ActiveRecord::Migration
3
3
  create_table :only_children, :force => true do |t|
4
4
  t.string :name
5
5
  t.references :parent
6
- t.references :draft
6
+ t.references :draft, :foreign_key => true
7
7
  t.datetime :trashed_at
8
8
  t.datetime :published_at
9
9
  t.timestamps
@@ -13,6 +13,9 @@
13
13
 
14
14
  ActiveRecord::Schema.define(version: 20150408234937) do
15
15
 
16
+ # These are extensions that must be enabled in order to support this database
17
+ enable_extension "plpgsql"
18
+
16
19
  create_table "bastards", force: :cascade do |t|
17
20
  t.string "name"
18
21
  t.integer "parent_id"
@@ -109,4 +112,11 @@ ActiveRecord::Schema.define(version: 20150408234937) do
109
112
  t.datetime "updated_at"
110
113
  end
111
114
 
115
+ add_foreign_key "children", "drafts"
116
+ add_foreign_key "only_children", "drafts"
117
+ add_foreign_key "parents", "drafts"
118
+ add_foreign_key "skippers", "drafts"
119
+ add_foreign_key "trashables", "drafts"
120
+ add_foreign_key "vanillas", "drafts"
121
+ add_foreign_key "whitelisters", "drafts"
112
122
  end
@@ -0,0 +1,16 @@
1
+ # SerializedAttributes is deprecated in Rails 4.2.x, and will be removed in
2
+ # Rails 5. Draftsman spews a ton of deprecation warnings about this issue.
3
+ #
4
+ # More info: https://github.com/airblade/paper_trail/issues/416
5
+ #
6
+ # TODO: when migrating to Rails 5, remove this initializer
7
+
8
+ if Draftsman::VERSION.to_f < 1.0
9
+ current_behavior = ActiveSupport::Deprecation.behavior
10
+ ActiveSupport::Deprecation.behavior = lambda do |message, callstack|
11
+ return if message =~ /`serialized_attributes` is deprecated without replacement/ && callstack.any? { |m| m =~ /draftsman/ }
12
+ Array.wrap(current_behavior).each { |behavior| behavior.call(message, callstack) }
13
+ end
14
+ else
15
+ warn 'FIXME: Draftsman initializer to suppress deprecation warnings can be safely removed.'
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: draftsman
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.6
4
+ version: 0.3.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Peters
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-16 00:00:00.000000000 Z
11
+ date: 2015-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -115,8 +115,6 @@ extra_rdoc_files: []
115
115
  files:
116
116
  - ".gitignore"
117
117
  - ".rspec"
118
- - ".ruby-gemset"
119
- - ".ruby-version"
120
118
  - CHANGELOG.md
121
119
  - Gemfile
122
120
  - LICENSE
@@ -200,6 +198,7 @@ files:
200
198
  - spec/models/vanilla_spec.rb
201
199
  - spec/models/whitelister_spec.rb
202
200
  - spec/spec_helper.rb
201
+ - spec/support/silence_serialized_attributes_deprecation.rb
203
202
  homepage: https://github.com/liveeditor/draftsman
204
203
  licenses:
205
204
  - MIT
@@ -220,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
219
  version: '0'
221
220
  requirements: []
222
221
  rubyforge_project:
223
- rubygems_version: 2.4.6
222
+ rubygems_version: 2.4.5.1
224
223
  signing_key:
225
224
  specification_version: 4
226
225
  summary: Create draft versions of your ActiveRecord models' data. Works with Ruby
@@ -286,3 +285,4 @@ test_files:
286
285
  - spec/models/vanilla_spec.rb
287
286
  - spec/models/whitelister_spec.rb
288
287
  - spec/spec_helper.rb
288
+ - spec/support/silence_serialized_attributes_deprecation.rb
data/.ruby-gemset DELETED
@@ -1 +0,0 @@
1
- draftsman
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- ruby-2.2.1