acts_as_recursive_tree 2.2.0 → 2.2.1

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
  SHA256:
3
- metadata.gz: 1f081d3db44eb5e8048b41f4117163982098cbf0da278245e21a9c3c72cf9524
4
- data.tar.gz: ad000b2858a04df23fa3e50a4cb103a5c365f1387dd731b37e204cb3cce5fa48
3
+ metadata.gz: ea1cf22b09ed91c55f3388b8c794a3d820eb353896feca3df3cd16bfadd1e1fb
4
+ data.tar.gz: 55605034be64624f710175f2bc5714273f87e39124799fa4952dfb8425f9719d
5
5
  SHA512:
6
- metadata.gz: c38a516a86f307e94be69e10808ced5692e5894e1e1502c7ab492d49439d32fdcf365b419b31a4cf9c636af1859da59f401c8fb3e4d9e9f6d875642405d7843e
7
- data.tar.gz: 544488083842293d361e9f0c51b9553c856130bac0f21b3ece4e1316314d74c3474dfc4466c9fdb1fd7f78084b2746297fafd639c30250fc22ec928715d3cf2c
6
+ metadata.gz: 4e357b5809c1aa3c28789af9c81d6ac17739f04b40cec8e43a6ecb2b690ea69e9d3752aab7cf3579fb38042b387132c9e02ddf5b3facc54b1206b33eb184d194
7
+ data.tar.gz: 97a0ecfa41d4085f2a6a14a964be479747f4857af9400e9412699f6b7a21324c2af3632bba5831576ac08156fa8ff01ff06025e09c46b0e51fe64221b8a8bef6
data/.gitignore CHANGED
@@ -14,4 +14,5 @@
14
14
  mkmf.log
15
15
  /.idea
16
16
  db.log
17
- test.sqlite3
17
+ test.sqlite3
18
+ /gemfiles
data/Appraisals ADDED
@@ -0,0 +1,26 @@
1
+ appraise "ar-50" do
2
+ ruby '~> 2'
3
+
4
+ gem 'activerecord', '~> 5.0.0'
5
+ gem 'sqlite3', '~> 1.3.6'
6
+ end
7
+
8
+ appraise "ar-51" do
9
+ ruby '~> 2'
10
+
11
+ gem 'activerecord', '~> 5.1.0'
12
+ end
13
+
14
+ appraise "ar-52" do
15
+ ruby '~> 2'
16
+
17
+ gem 'activerecord', '~> 5.2.0'
18
+ end
19
+
20
+ appraise "ar-60" do
21
+ gem 'activerecord', '~> 6.0.0'
22
+ end
23
+
24
+ appraise "ar-61" do
25
+ gem 'activerecord', '~> 6.1.0'
26
+ end
@@ -6,8 +6,8 @@ require 'acts_as_recursive_tree/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'acts_as_recursive_tree'
8
8
  spec.version = ActsAsRecursiveTree::VERSION
9
- spec.authors = ['Wolfgang Wedelich-John']
10
- spec.email = ['wolfgang.wedelich@1und1.de']
9
+ spec.authors = ['Wolfgang Wedelich-John', 'Willem Mulder']
10
+ spec.email = ['wolfgang.wedelich@1und1.de', '14mRh4X0r@gmail.com']
11
11
  spec.summary = %q{Drop in replacement for acts_as_tree but using recursive queries}
12
12
  spec.description = %q{
13
13
  This is a ruby gem that provides drop in replacement for acts_as_tree but makes use of SQL recursive statement. Be sure to have a DBMS that supports recursive queries when using this gem (e.g. PostgreSQL or SQLite). }
@@ -20,10 +20,11 @@ Gem::Specification.new do |spec|
20
20
  spec.test_files = spec.files.grep(%r{^spec/})
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_runtime_dependency 'activerecord', '>= 5.0.0', '< 6.1.0'
23
+ spec.add_runtime_dependency 'activerecord', '>= 5.0.0', '< 6.2.0'
24
24
 
25
25
  spec.add_development_dependency 'database_cleaner', '~> 1.5'
26
26
  spec.add_development_dependency 'rake', '~> 10.0'
27
27
  spec.add_development_dependency 'rspec-rails', '~> 3.5'
28
28
  spec.add_development_dependency 'sqlite3', '~> 1.3'
29
+ spec.add_development_dependency 'appraisal', '~> 2.4'
29
30
  end
@@ -38,6 +38,16 @@ module ActsAsRecursiveTree
38
38
  end
39
39
  end
40
40
 
41
+ class RangeValue < Base
42
+ def apply_to(attribute)
43
+ attribute.between(prepared_value)
44
+ end
45
+
46
+ def apply_negated_to(attribute)
47
+ attribute.not_between(prepared_value)
48
+ end
49
+ end
50
+
41
51
  class MultiValue < Base
42
52
  def apply_to(attribute)
43
53
  attribute.in(prepared_value)
@@ -62,6 +72,8 @@ module ActsAsRecursiveTree
62
72
  SingleValue
63
73
  when ::ActiveRecord::Relation
64
74
  Relation
75
+ when Range
76
+ RangeValue
65
77
  when Enumerable
66
78
  MultiValue
67
79
  when ::ActiveRecord::Base
@@ -74,4 +86,4 @@ module ActsAsRecursiveTree
74
86
  end
75
87
  end
76
88
  end
77
- end
89
+ end
@@ -1,3 +1,3 @@
1
1
  module ActsAsRecursiveTree
2
- VERSION = '2.2.0'.freeze
2
+ VERSION = '2.2.1'.freeze
3
3
  end
data/spec/db/database.rb CHANGED
@@ -8,10 +8,16 @@ ActiveRecord::Migration.verbose = false
8
8
 
9
9
  ActiveRecord::Base.configurations = YAML::load(File.read("#{database_folder}/database.yml"))
10
10
 
11
- config = ActiveRecord::Base.configurations[database_adapter]
11
+ if ActiveRecord.version >= Gem::Version.new('6.1.0')
12
+ config = ActiveRecord::Base.configurations.configs_for env_name: database_adapter, name: "primary"
13
+ database = config.database
14
+ else
15
+ config = ActiveRecord::Base.configurations[database_adapter]
16
+ database = config["database"]
17
+ end
12
18
 
13
19
  # remove database if present
14
- FileUtils.rm config['database'], force: true
20
+ FileUtils.rm database, force: true
15
21
 
16
22
  ActiveRecord::Base.establish_connection(database_adapter.to_sym)
17
23
  ActiveRecord::Base.establish_connection(config)
data/spec/values_spec.rb CHANGED
@@ -57,7 +57,7 @@ describe ActsAsRecursiveTree::Options::Values do
57
57
  let(:range) { 1..3 }
58
58
  subject(:value) { described_class.create(range) }
59
59
 
60
- it { is_expected.to be_a ActsAsRecursiveTree::Options::Values::MultiValue }
60
+ it { is_expected.to be_a ActsAsRecursiveTree::Options::Values::RangeValue }
61
61
 
62
62
  it 'should apply_to' do
63
63
  expect(value.apply_to(attribute).to_sql).to end_with "BETWEEN #{range.begin} AND #{range.end}"
@@ -83,4 +83,4 @@ describe ActsAsRecursiveTree::Options::Values do
83
83
  end
84
84
  end
85
85
  end
86
- end
86
+ end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_recursive_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wolfgang Wedelich-John
8
- autorequire:
8
+ - Willem Mulder
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2019-10-15 00:00:00.000000000 Z
12
+ date: 2021-07-30 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activerecord
@@ -19,7 +20,7 @@ dependencies:
19
20
  version: 5.0.0
20
21
  - - "<"
21
22
  - !ruby/object:Gem::Version
22
- version: 6.1.0
23
+ version: 6.2.0
23
24
  type: :runtime
24
25
  prerelease: false
25
26
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +30,7 @@ dependencies:
29
30
  version: 5.0.0
30
31
  - - "<"
31
32
  - !ruby/object:Gem::Version
32
- version: 6.1.0
33
+ version: 6.2.0
33
34
  - !ruby/object:Gem::Dependency
34
35
  name: database_cleaner
35
36
  requirement: !ruby/object:Gem::Requirement
@@ -86,11 +87,26 @@ dependencies:
86
87
  - - "~>"
87
88
  - !ruby/object:Gem::Version
88
89
  version: '1.3'
90
+ - !ruby/object:Gem::Dependency
91
+ name: appraisal
92
+ requirement: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2.4'
97
+ type: :development
98
+ prerelease: false
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2.4'
89
104
  description: "\n This is a ruby gem that provides drop in replacement for acts_as_tree
90
105
  but makes use of SQL recursive statement. Be sure to have a DBMS that supports recursive
91
106
  queries when using this gem (e.g. PostgreSQL or SQLite). "
92
107
  email:
93
108
  - wolfgang.wedelich@1und1.de
109
+ - 14mRh4X0r@gmail.com
94
110
  executables: []
95
111
  extensions: []
96
112
  extra_rdoc_files: []
@@ -99,6 +115,7 @@ files:
99
115
  - ".rspec"
100
116
  - ".rubocop.yml"
101
117
  - ".rubocop_todo.yml"
118
+ - Appraisals
102
119
  - CHANGELOG.md
103
120
  - Gemfile
104
121
  - LICENSE.txt
@@ -141,7 +158,7 @@ homepage: https://github.com/1and1/acts_as_recursive_tree
141
158
  licenses:
142
159
  - MIT
143
160
  metadata: {}
144
- post_install_message:
161
+ post_install_message:
145
162
  rdoc_options: []
146
163
  require_paths:
147
164
  - lib
@@ -156,8 +173,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
173
  - !ruby/object:Gem::Version
157
174
  version: '0'
158
175
  requirements: []
159
- rubygems_version: 3.0.6
160
- signing_key:
176
+ rubygems_version: 3.1.6
177
+ signing_key:
161
178
  specification_version: 4
162
179
  summary: Drop in replacement for acts_as_tree but using recursive queries
163
180
  test_files: