acts_as_tree 2.3.0 → 2.4.0

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: 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