acts_as_tree 2.3.0 → 2.4.0

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: cd2799e03637580aeb10e75af1924473df069822
4
- data.tar.gz: 495ff7f53a6386537161d2157c80e3fd7f5b8b73
3
+ metadata.gz: 3bdf6e214ed89182c6f2d9d1c67dc7eb98740bfd
4
+ data.tar.gz: 3e0b66ce3f15e89cc9200083887dce33f8924636
5
5
  SHA512:
6
- metadata.gz: edf84e997d0163d04b8e8d46fc11a82f5700312062f7daef2d23b0e1a3cb537cb464f93921933f577c551868768c0ed8722e331309d978c705d5054e76d86d67
7
- data.tar.gz: 0ae085569ca95ddf40c24086d75e5c4ccfee6c0c8f9f6ba722c33814959b0efbc3aae0bbea025ef856c9918dc8cc770d583d5f13adbe0728b6c47095db70079c
6
+ metadata.gz: 23d0e45f4a847b74b25e7832c046564c7c03a31faa2ab687332b555e00b6efd7f88cb034dd691ae6feba027ba0bcafb3ca2affa86f91825536d61bf57dcca344
7
+ data.tar.gz: 093917a7a3fcd2ad5a26c93016a47896c18fb1db175f57bbb511aabc00154fd4d42836521eb3669e11dc42d6ceb73d357a5579b7de4b161bf84ab1f78c7636af
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  pkg/*
4
4
  .rvmrc
5
5
  Gemfile.lock
6
+ gemfiles/*.gemfile.lock
@@ -1,22 +1,52 @@
1
1
  language: ruby
2
+
3
+ sudo: false
4
+ cache: bundler
5
+
2
6
  rvm:
3
7
  - 1.9.2
4
8
  - 1.9.3
5
9
  - 2.0.0
10
+ - 2.1.8
11
+ - 2.2.4
6
12
 
7
13
  gemfile:
8
14
  - gemfiles/rails-3.0.gemfile
9
15
  - gemfiles/rails-3.1.gemfile
10
16
  - gemfiles/rails-3.2.gemfile
11
17
  - gemfiles/rails-4.0.gemfile
18
+ - gemfiles/rails-4.1.gemfile
19
+ - gemfiles/rails-4.2.gemfile
20
+ - gemfiles/rails-5.0.gemfile
12
21
 
13
22
  matrix:
14
23
  exclude:
15
- # rails 4.0 requries ruby 1.9.3 or newer
24
+ # rails 4.x requries ruby 1.9.3 or newer
16
25
  - rvm: 1.9.2
17
26
  gemfile: gemfiles/rails-4.0.gemfile
18
- # rails < 3.2 is unsupported on ruby 2.0
27
+ - rvm: 1.9.2
28
+ gemfile: gemfiles/rails-4.1.gemfile
29
+ - rvm: 1.9.2
30
+ gemfile: gemfiles/rails-4.2.gemfile
31
+ # rails < 3.2 is unsupported on ruby 2.0+
19
32
  - rvm: 2.0.0
20
33
  gemfile: gemfiles/rails-3.0.gemfile
21
34
  - rvm: 2.0.0
22
35
  gemfile: gemfiles/rails-3.1.gemfile
36
+ - rvm: 2.1.8
37
+ gemfile: gemfiles/rails-3.0.gemfile
38
+ - rvm: 2.1.8
39
+ gemfile: gemfiles/rails-3.1.gemfile
40
+ - rvm: 2.2.4
41
+ gemfile: gemfiles/rails-3.0.gemfile
42
+ - rvm: 2.2.4
43
+ gemfile: gemfiles/rails-3.1.gemfile
44
+ # rails 5.0 requires ruby 2.2.2+
45
+ - rvm: 1.9.2
46
+ gemfile: gemfiles/rails-5.0.gemfile
47
+ - rvm: 1.9.3
48
+ gemfile: gemfiles/rails-5.0.gemfile
49
+ - rvm: 2.0.0
50
+ gemfile: gemfiles/rails-5.0.gemfile
51
+ - rvm: 2.1.8
52
+ gemfile: gemfiles/rails-5.0.gemfile
data/README.md CHANGED
@@ -74,6 +74,8 @@ We no longer support Ruby 1.8 or versions of Rails/ActiveRecord older than 3.0.
74
74
  Moving forward we will do our best to support the latest versions of ActiveRecord and Ruby.
75
75
 
76
76
  ## Change Log
77
+ * 2.4.0 - January 12, 2016
78
+ * Added support for rails 5.0, see #46 -- klacointe
77
79
  * 2.3.0 - November 6, 2015
78
80
  * Added touch option to acts\_as\_tree relation. See #40 -- mbenitezm
79
81
  * Fix tests on rails 3.x with ruby 1.9.2. See #41 -- felixbuenemann
@@ -22,5 +22,5 @@ Gem::Specification.new do |s|
22
22
  # Dependencies (installed via 'bundle install')...
23
23
  s.add_development_dependency "sqlite3"
24
24
  s.add_development_dependency "rdoc"
25
- s.add_development_dependency "minitest", "~> 4.7.5"
25
+ s.add_development_dependency "minitest", ">= 4.7.5"
26
26
  end
@@ -1,7 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem "rails", "~> 3.0.0"
4
- gem "acts_as_tree", path: "../"
5
4
  gem "i18n", "< 0.7"
6
5
 
7
6
  gemspec path: "../"
@@ -1,7 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem "rails", "~> 3.1.0"
4
- gem "acts_as_tree", path: "../"
5
4
  gem "i18n", "< 0.7"
6
5
  gem "rack-cache", "< 1.3"
7
6
 
@@ -1,7 +1,6 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- gem "rails", "~> 3.2.0"
4
- gem "acts_as_tree", path: "../"
3
+ gem "rails", "~> 3.2.22"
5
4
  gem "i18n", "< 0.7"
6
5
  gem "rack-cache", "< 1.3"
7
6
 
@@ -1,6 +1,5 @@
1
1
  source "https://rubygems.org"
2
2
 
3
3
  gem "rails", "~> 4.0.0"
4
- gem "acts_as_tree", path: "../"
5
4
 
6
5
  gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 4.1.0"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 4.2.0"
4
+
5
+ gemspec path: "../"
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "rails", "~> 5.0.0.beta1"
4
+
5
+ gemspec path: "../"
@@ -76,11 +76,17 @@ module ActsAsTree
76
76
  configuration[:counter_cache] = :children_count
77
77
  end
78
78
 
79
- belongs_to :parent, class_name: name,
79
+ belongs_to_opts = {
80
+ class_name: name,
80
81
  foreign_key: configuration[:foreign_key],
81
82
  counter_cache: configuration[:counter_cache],
82
83
  touch: configuration[:touch],
83
84
  inverse_of: :children
85
+ }
86
+
87
+ belongs_to_opts[:optional] = true if ActiveRecord::VERSION::MAJOR >= 5
88
+
89
+ belongs_to :parent, belongs_to_opts
84
90
 
85
91
  if ActiveRecord::VERSION::MAJOR >= 4
86
92
  has_many :children, lambda { order configuration[:order] },
@@ -1,3 +1,3 @@
1
1
  module ActsAsTree
2
- VERSION = "2.3.0"
2
+ VERSION = "2.4.0"
3
3
  end
@@ -3,7 +3,7 @@ require 'minitest/benchmark'
3
3
  require 'active_record'
4
4
  require 'acts_as_tree'
5
5
 
6
- class MiniTest::Unit::TestCase
6
+ class ActsAsTreeTestCase < (defined?(MiniTest::Test) ? MiniTest::Test : MiniTest::Unit::TestCase)
7
7
  def assert_queries(num = 1, &block)
8
8
  query_count, result = count_queries(&block)
9
9
  result
@@ -65,8 +65,11 @@ def setup_db(counter_cache = false)
65
65
  end
66
66
 
67
67
  def teardown_db
68
- ActiveRecord::Base.connection.tables.each do |table|
69
- ActiveRecord::Base.connection.drop_table(table)
68
+ # Silence tables deprecation on rails 5.0
69
+ ActiveSupport::Deprecation.silence do
70
+ ActiveRecord::Base.connection.tables.each do |table|
71
+ ActiveRecord::Base.connection.drop_table(table)
72
+ end
70
73
  end
71
74
  end
72
75
 
@@ -99,7 +102,7 @@ class TreeMixinWithTouch < Mixin
99
102
  acts_as_tree foreign_key: "parent_id", order: "id", touch: true
100
103
  end
101
104
 
102
- class TreeTest < MiniTest::Unit::TestCase
105
+ class TreeTest < ActsAsTreeTestCase
103
106
 
104
107
  def setup
105
108
  setup_db
@@ -322,7 +325,7 @@ class TreeTest < MiniTest::Unit::TestCase
322
325
  end
323
326
  end
324
327
 
325
- class TestDeepDescendantsPerformance < MiniTest::Unit::TestCase
328
+ class TestDeepDescendantsPerformance < ActsAsTreeTestCase
326
329
  def setup
327
330
  teardown_db
328
331
  setup_db
@@ -372,7 +375,7 @@ class TestDeepDescendantsPerformance < MiniTest::Unit::TestCase
372
375
  end
373
376
  end
374
377
 
375
- class TreeTestWithEagerLoading < MiniTest::Unit::TestCase
378
+ class TreeTestWithEagerLoading < ActsAsTreeTestCase
376
379
 
377
380
  def setup
378
381
  teardown_db
@@ -433,7 +436,7 @@ class TreeTestWithEagerLoading < MiniTest::Unit::TestCase
433
436
  end
434
437
  end
435
438
 
436
- class TreeTestWithoutOrder < MiniTest::Unit::TestCase
439
+ class TreeTestWithoutOrder < ActsAsTreeTestCase
437
440
 
438
441
  def setup
439
442
  setup_db
@@ -454,7 +457,7 @@ class TreeTestWithoutOrder < MiniTest::Unit::TestCase
454
457
  end
455
458
  end
456
459
 
457
- class UnsavedTreeTest < MiniTest::Unit::TestCase
460
+ class UnsavedTreeTest < ActsAsTreeTestCase
458
461
  def setup
459
462
  setup_db
460
463
  @root = TreeMixin.new
@@ -472,7 +475,7 @@ class UnsavedTreeTest < MiniTest::Unit::TestCase
472
475
  end
473
476
 
474
477
 
475
- class TreeTestWithCounterCache < MiniTest::Unit::TestCase
478
+ class TreeTestWithCounterCache < ActsAsTreeTestCase
476
479
  def setup
477
480
  teardown_db
478
481
  setup_db(true)
@@ -514,7 +517,7 @@ class TreeTestWithCounterCache < MiniTest::Unit::TestCase
514
517
  end
515
518
 
516
519
 
517
- class TreeTestWithTouch < MiniTest::Unit::TestCase
520
+ class TreeTestWithTouch < ActsAsTreeTestCase
518
521
  def setup
519
522
  teardown_db
520
523
  setup_db
@@ -534,4 +537,4 @@ class TreeTestWithTouch < MiniTest::Unit::TestCase
534
537
 
535
538
  assert @root.updated_at != previous_root_updated_at
536
539
  end
537
- end
540
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Dahlstrand
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2015-11-06 00:00:00.000000000 Z
15
+ date: 2016-01-11 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activerecord
@@ -60,14 +60,14 @@ dependencies:
60
60
  name: minitest
61
61
  requirement: !ruby/object:Gem::Requirement
62
62
  requirements:
63
- - - "~>"
63
+ - - ">="
64
64
  - !ruby/object:Gem::Version
65
65
  version: 4.7.5
66
66
  type: :development
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - "~>"
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
72
  version: 4.7.5
73
73
  description: A gem that adds simple support for organizing ActiveRecord models into
@@ -91,6 +91,9 @@ files:
91
91
  - gemfiles/rails-3.1.gemfile
92
92
  - gemfiles/rails-3.2.gemfile
93
93
  - gemfiles/rails-4.0.gemfile
94
+ - gemfiles/rails-4.1.gemfile
95
+ - gemfiles/rails-4.2.gemfile
96
+ - gemfiles/rails-5.0.gemfile
94
97
  - lib/acts_as_tree.rb
95
98
  - lib/acts_as_tree/active_record/acts/tree.rb
96
99
  - lib/acts_as_tree/railtie.rb