closure_tree 7.4.0 → 9.0.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 +4 -4
- data/CHANGELOG.md +18 -0
- data/README.md +123 -38
- data/bin/rails +15 -0
- data/bin/rake +7 -7
- data/closure_tree.gemspec +20 -19
- data/lib/closure_tree/active_record_support.rb +6 -14
- data/lib/closure_tree/adapter_support.rb +11 -0
- data/lib/closure_tree/arel_helpers.rb +83 -0
- data/lib/closure_tree/configuration.rb +2 -0
- data/lib/closure_tree/deterministic_ordering.rb +2 -0
- data/lib/closure_tree/digraphs.rb +7 -5
- data/lib/closure_tree/finders.rb +104 -55
- data/lib/closure_tree/has_closure_tree.rb +5 -2
- data/lib/closure_tree/has_closure_tree_root.rb +12 -17
- data/lib/closure_tree/hash_tree.rb +3 -2
- data/lib/closure_tree/hash_tree_support.rb +38 -13
- data/lib/closure_tree/hierarchy_maintenance.rb +20 -30
- data/lib/closure_tree/model.rb +31 -31
- data/lib/closure_tree/numeric_deterministic_ordering.rb +90 -60
- data/lib/closure_tree/numeric_order_support.rb +20 -18
- data/lib/closure_tree/support.rb +31 -38
- data/lib/closure_tree/support_attributes.rb +31 -5
- data/lib/closure_tree/support_flags.rb +2 -12
- data/lib/closure_tree/test/matcher.rb +10 -12
- data/lib/closure_tree/version.rb +3 -1
- data/lib/closure_tree.rb +22 -2
- data/lib/generators/closure_tree/config_generator.rb +3 -1
- data/lib/generators/closure_tree/migration_generator.rb +7 -8
- data/lib/generators/closure_tree/templates/config.rb +2 -0
- metadata +25 -86
- data/.github/workflows/ci.yml +0 -98
- data/.gitignore +0 -17
- data/.rspec +0 -1
- data/.yardopts +0 -3
- data/Appraisals +0 -105
- data/Gemfile +0 -7
- data/Rakefile +0 -37
- data/_config.yml +0 -1
- data/bin/appraisal +0 -29
- data/bin/rspec +0 -29
- data/mktree.rb +0 -38
- data/tests.sh +0 -11
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'closure_tree/active_record_support'
|
2
4
|
require 'forwardable'
|
3
5
|
require 'rails/generators'
|
@@ -36,17 +38,14 @@ module ClosureTree
|
|
36
38
|
|
37
39
|
def ct
|
38
40
|
@ct ||= if target_class.respond_to?(:_ct)
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
41
|
+
target_class._ct
|
42
|
+
else
|
43
|
+
raise "Please RTFM and add the `has_closure_tree` (or `acts_as_tree`) annotation to #{class_name} before creating the migration."
|
44
|
+
end
|
43
45
|
end
|
44
46
|
|
45
47
|
def migration_version
|
46
|
-
|
47
|
-
if major >= 5
|
48
|
-
"[#{major}.#{ActiveRecord::VERSION::MINOR}]"
|
49
|
-
end
|
48
|
+
"[#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}]"
|
50
49
|
end
|
51
50
|
|
52
51
|
def self.next_migration_number(dirname)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: closure_tree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 9.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
8
|
-
|
8
|
+
- Abdelkader Boudih
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,42 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 7.2.0
|
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:
|
26
|
+
version: 7.2.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: with_advisory_lock
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 7.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: appraisal
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
40
|
+
version: 7.0.0
|
55
41
|
- !ruby/object:Gem::Dependency
|
56
42
|
name: database_cleaner
|
57
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,35 +53,7 @@ dependencies:
|
|
67
53
|
- !ruby/object:Gem::Version
|
68
54
|
version: '0'
|
69
55
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: parallel
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: pg
|
56
|
+
name: minitest
|
99
57
|
requirement: !ruby/object:Gem::Requirement
|
100
58
|
requirements:
|
101
59
|
- - ">="
|
@@ -109,7 +67,7 @@ dependencies:
|
|
109
67
|
- !ruby/object:Gem::Version
|
110
68
|
version: '0'
|
111
69
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
70
|
+
name: minitest-reporters
|
113
71
|
requirement: !ruby/object:Gem::Requirement
|
114
72
|
requirements:
|
115
73
|
- - ">="
|
@@ -123,21 +81,7 @@ dependencies:
|
|
123
81
|
- !ruby/object:Gem::Version
|
124
82
|
version: '0'
|
125
83
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: sqlite3
|
84
|
+
name: parallel
|
141
85
|
requirement: !ruby/object:Gem::Requirement
|
142
86
|
requirements:
|
143
87
|
- - ">="
|
@@ -178,30 +122,23 @@ dependencies:
|
|
178
122
|
- - ">="
|
179
123
|
- !ruby/object:Gem::Version
|
180
124
|
version: '0'
|
181
|
-
description: Easily and efficiently make your ActiveRecord model support hierarchies
|
182
125
|
email:
|
183
|
-
- matthew
|
126
|
+
- matthew+github@mceachen.org
|
127
|
+
- terminale@gmail.com
|
184
128
|
executables: []
|
185
129
|
extensions: []
|
186
130
|
extra_rdoc_files: []
|
187
131
|
files:
|
188
|
-
- ".github/workflows/ci.yml"
|
189
|
-
- ".gitignore"
|
190
|
-
- ".rspec"
|
191
|
-
- ".yardopts"
|
192
|
-
- Appraisals
|
193
132
|
- CHANGELOG.md
|
194
|
-
- Gemfile
|
195
133
|
- MIT-LICENSE
|
196
134
|
- README.md
|
197
|
-
-
|
198
|
-
- _config.yml
|
199
|
-
- bin/appraisal
|
135
|
+
- bin/rails
|
200
136
|
- bin/rake
|
201
|
-
- bin/rspec
|
202
137
|
- closure_tree.gemspec
|
203
138
|
- lib/closure_tree.rb
|
204
139
|
- lib/closure_tree/active_record_support.rb
|
140
|
+
- lib/closure_tree/adapter_support.rb
|
141
|
+
- lib/closure_tree/arel_helpers.rb
|
205
142
|
- lib/closure_tree/configuration.rb
|
206
143
|
- lib/closure_tree/deterministic_ordering.rb
|
207
144
|
- lib/closure_tree/digraphs.rb
|
@@ -223,13 +160,16 @@ files:
|
|
223
160
|
- lib/generators/closure_tree/migration_generator.rb
|
224
161
|
- lib/generators/closure_tree/templates/config.rb
|
225
162
|
- lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb
|
226
|
-
|
227
|
-
- tests.sh
|
228
|
-
homepage: http://mceachen.github.io/closure_tree/
|
163
|
+
homepage: https://github.com/ClosureTree/closure_tree/
|
229
164
|
licenses:
|
230
165
|
- MIT
|
231
|
-
metadata:
|
232
|
-
|
166
|
+
metadata:
|
167
|
+
bug_tracker_uri: https://github.com/ClosureTree/closure_tree/issues
|
168
|
+
changelog_uri: https://github.com/ClosureTree/closure_tree/blob/master/CHANGELOG.md
|
169
|
+
documentation_uri: https://www.rubydoc.info/gems/closure_tree/9.0.0
|
170
|
+
homepage_uri: https://closuretree.github.io/closure_tree/
|
171
|
+
source_code_uri: https://github.com/ClosureTree/closure_tree
|
172
|
+
rubygems_mfa_required: 'true'
|
233
173
|
rdoc_options: []
|
234
174
|
require_paths:
|
235
175
|
- lib
|
@@ -237,15 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
237
177
|
requirements:
|
238
178
|
- - ">="
|
239
179
|
- !ruby/object:Gem::Version
|
240
|
-
version:
|
180
|
+
version: 3.3.0
|
241
181
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
242
182
|
requirements:
|
243
183
|
- - ">="
|
244
184
|
- !ruby/object:Gem::Version
|
245
185
|
version: '0'
|
246
186
|
requirements: []
|
247
|
-
rubygems_version: 3.
|
248
|
-
signing_key:
|
187
|
+
rubygems_version: 3.6.9
|
249
188
|
specification_version: 4
|
250
189
|
summary: Easily and efficiently make your ActiveRecord model support hierarchies
|
251
190
|
test_files: []
|
data/.github/workflows/ci.yml
DELETED
@@ -1,98 +0,0 @@
|
|
1
|
-
---
|
2
|
-
name: CI
|
3
|
-
|
4
|
-
on:
|
5
|
-
- push
|
6
|
-
- pull_request
|
7
|
-
|
8
|
-
jobs:
|
9
|
-
rspec:
|
10
|
-
runs-on: ubuntu-20.04
|
11
|
-
|
12
|
-
services:
|
13
|
-
postgres:
|
14
|
-
image: 'postgres:13'
|
15
|
-
ports: ['5432:5432']
|
16
|
-
env:
|
17
|
-
POSTGRES_PASSWORD: postgres
|
18
|
-
POSTGRES_DB: closure_tree
|
19
|
-
options: >-
|
20
|
-
--health-cmd pg_isready
|
21
|
-
--health-interval 10s
|
22
|
-
--health-timeout 5s
|
23
|
-
--health-retries 5
|
24
|
-
|
25
|
-
strategy:
|
26
|
-
fail-fast: false
|
27
|
-
matrix:
|
28
|
-
ruby:
|
29
|
-
- '3.0'
|
30
|
-
- '2.7'
|
31
|
-
- '2.6'
|
32
|
-
- '2.5'
|
33
|
-
rails:
|
34
|
-
- activerecord_6.1
|
35
|
-
- activerecord_6.0
|
36
|
-
- activerecord_5.2
|
37
|
-
- activerecord_5.1
|
38
|
-
- activerecord_5.0
|
39
|
-
- activerecord_4.2
|
40
|
-
- activerecord_edge
|
41
|
-
adapter:
|
42
|
-
- sqlite3
|
43
|
-
- mysql2
|
44
|
-
- postgresql
|
45
|
-
exclude:
|
46
|
-
- ruby: '2.7'
|
47
|
-
rails: activerecord_4.2
|
48
|
-
- ruby: '3.0'
|
49
|
-
rails: activerecord_4.2
|
50
|
-
- ruby: '3.0'
|
51
|
-
rails: activerecord_5.0
|
52
|
-
- ruby: '3.0'
|
53
|
-
rails: activerecord_5.1
|
54
|
-
- ruby: '3.0'
|
55
|
-
rails: activerecord_5.2
|
56
|
-
- ruby: '2.5'
|
57
|
-
rails: activerecord_edge
|
58
|
-
- ruby: '2.6'
|
59
|
-
rails: activerecord_edge
|
60
|
-
|
61
|
-
steps:
|
62
|
-
- name: Checkout
|
63
|
-
uses: actions/checkout@v2
|
64
|
-
|
65
|
-
- name: Setup Ruby
|
66
|
-
uses: ruby/setup-ruby@v1
|
67
|
-
with:
|
68
|
-
ruby-version: ${{ matrix.ruby }}
|
69
|
-
|
70
|
-
- name: Set DB Adapter
|
71
|
-
env:
|
72
|
-
RAILS_VERSION: ${{ matrix.rails }}
|
73
|
-
DB_ADAPTER: ${{ matrix.adapter }}
|
74
|
-
|
75
|
-
# See: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md#mysql
|
76
|
-
run: |
|
77
|
-
if [ "${DB_ADAPTER}" = "mysql2" ]; then
|
78
|
-
sudo systemctl start mysql.service
|
79
|
-
mysql -u root -proot -e 'create database closure_tree;'
|
80
|
-
fi
|
81
|
-
|
82
|
-
- name: Bundle
|
83
|
-
env:
|
84
|
-
RAILS_VERSION: ${{ matrix.rails }}
|
85
|
-
DB_ADAPTER: ${{ matrix.adapter }}
|
86
|
-
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
|
87
|
-
run: |
|
88
|
-
gem install bundler
|
89
|
-
bundle config path vendor/bundle
|
90
|
-
bundle install --jobs 4 --retry 3
|
91
|
-
|
92
|
-
- name: RSpec
|
93
|
-
env:
|
94
|
-
RAILS_VERSION: ${{ matrix.rails }}
|
95
|
-
DB_ADAPTER: ${{ matrix.adapter }}
|
96
|
-
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
|
97
|
-
WITH_ADVISORY_LOCK_PREFIX: ${{ github.run_id }}
|
98
|
-
run: bin/rake --trace spec:all
|
data/.gitignore
DELETED
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
data/.yardopts
DELETED
data/Appraisals
DELETED
@@ -1,105 +0,0 @@
|
|
1
|
-
|
2
|
-
appraise 'activerecord-4.2' do
|
3
|
-
gem 'activerecord', '~> 4.2.0'
|
4
|
-
platforms :ruby do
|
5
|
-
gem 'mysql2', "< 0.5"
|
6
|
-
gem 'pg', "~> 0.21"
|
7
|
-
gem 'sqlite3', '~> 1.3.13'
|
8
|
-
end
|
9
|
-
|
10
|
-
platforms :jruby do
|
11
|
-
gem 'activerecord-jdbcmysql-adapter'
|
12
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
13
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
appraise 'activerecord-5.0' do
|
18
|
-
gem 'activerecord', '~> 5.0.0'
|
19
|
-
platforms :ruby do
|
20
|
-
gem 'mysql2'
|
21
|
-
gem 'pg'
|
22
|
-
gem 'sqlite3', '~> 1.3.13'
|
23
|
-
end
|
24
|
-
|
25
|
-
platforms :jruby do
|
26
|
-
gem 'activerecord-jdbcmysql-adapter'
|
27
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
28
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
appraise 'activerecord-5.1' do
|
33
|
-
gem 'activerecord', '~> 5.1.0'
|
34
|
-
platforms :ruby do
|
35
|
-
gem 'mysql2'
|
36
|
-
gem 'pg'
|
37
|
-
gem 'sqlite3', '~> 1.3.13'
|
38
|
-
end
|
39
|
-
|
40
|
-
platforms :jruby do
|
41
|
-
gem 'activerecord-jdbcmysql-adapter'
|
42
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
43
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
appraise 'activerecord-5.2' do
|
48
|
-
gem 'activerecord', '~> 5.2.0'
|
49
|
-
platforms :ruby do
|
50
|
-
gem 'mysql2'
|
51
|
-
gem 'pg'
|
52
|
-
gem 'sqlite3'
|
53
|
-
end
|
54
|
-
|
55
|
-
platforms :jruby do
|
56
|
-
gem 'activerecord-jdbcmysql-adapter'
|
57
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
58
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
appraise 'activerecord-6.0' do
|
63
|
-
gem 'activerecord', '~> 6.0.0'
|
64
|
-
platforms :ruby do
|
65
|
-
gem 'mysql2'
|
66
|
-
gem 'pg'
|
67
|
-
gem 'sqlite3'
|
68
|
-
end
|
69
|
-
|
70
|
-
platforms :jruby do
|
71
|
-
gem 'activerecord-jdbcmysql-adapter'
|
72
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
73
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
appraise 'activerecord-6.1' do
|
78
|
-
gem 'activerecord', '~> 6.1.0'
|
79
|
-
platforms :ruby do
|
80
|
-
gem 'mysql2'
|
81
|
-
gem 'pg'
|
82
|
-
gem 'sqlite3'
|
83
|
-
end
|
84
|
-
|
85
|
-
platforms :jruby do
|
86
|
-
gem 'activerecord-jdbcmysql-adapter'
|
87
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
88
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
appraise 'activerecord-edge' do
|
93
|
-
gem 'activerecord', github: 'rails/rails'
|
94
|
-
platforms :ruby do
|
95
|
-
gem 'mysql2'
|
96
|
-
gem 'pg'
|
97
|
-
gem 'sqlite3'
|
98
|
-
end
|
99
|
-
|
100
|
-
platforms :jruby do
|
101
|
-
gem 'activerecord-jdbcmysql-adapter'
|
102
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
103
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
104
|
-
end
|
105
|
-
end
|
data/Gemfile
DELETED
data/Rakefile
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'bundler/gem_tasks'
|
4
|
-
require 'rspec/core/rake_task'
|
5
|
-
|
6
|
-
RSpec::Core::RakeTask.new(:spec) do |task|
|
7
|
-
task.pattern = 'spec/closure_tree/*_spec.rb'
|
8
|
-
end
|
9
|
-
|
10
|
-
task default: :spec
|
11
|
-
|
12
|
-
namespace :spec do
|
13
|
-
desc 'Run all spec variants'
|
14
|
-
task :all do
|
15
|
-
rake = 'bin/rake'
|
16
|
-
fail unless system("#{rake} spec:generators")
|
17
|
-
|
18
|
-
[['', ''], ['db_prefix_', ''], ['', '_db_suffix'], ['abc_', '_123']].each do |prefix, suffix|
|
19
|
-
env = "DB_PREFIX=#{prefix} DB_SUFFIX=#{suffix}"
|
20
|
-
fail unless system("#{rake} spec #{env}")
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
desc 'Run generator specs'
|
25
|
-
RSpec::Core::RakeTask.new(:generators) do |task|
|
26
|
-
task.pattern = 'spec/generators/*_spec.rb'
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
require 'github_changelog_generator/task'
|
31
|
-
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
|
32
|
-
config.user = 'ClosureTree'
|
33
|
-
config.project = 'closure_tree'
|
34
|
-
config.issues = false
|
35
|
-
config.future_release = '5.2.0'
|
36
|
-
config.since_tag = 'v7.3.0'
|
37
|
-
end
|
data/_config.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
theme: jekyll-theme-leap-day
|
data/bin/appraisal
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
#
|
5
|
-
# This file was generated by Bundler.
|
6
|
-
#
|
7
|
-
# The application 'appraisal' is installed as part of a gem, and
|
8
|
-
# this file is here to facilitate running it.
|
9
|
-
#
|
10
|
-
|
11
|
-
require "pathname"
|
12
|
-
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
-
Pathname.new(__FILE__).realpath)
|
14
|
-
|
15
|
-
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
-
|
17
|
-
if File.file?(bundle_binstub)
|
18
|
-
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
-
load(bundle_binstub)
|
20
|
-
else
|
21
|
-
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
-
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
require "rubygems"
|
27
|
-
require "bundler/setup"
|
28
|
-
|
29
|
-
load Gem.bin_path("appraisal", "appraisal")
|
data/bin/rspec
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
#
|
5
|
-
# This file was generated by Bundler.
|
6
|
-
#
|
7
|
-
# The application 'rspec' is installed as part of a gem, and
|
8
|
-
# this file is here to facilitate running it.
|
9
|
-
#
|
10
|
-
|
11
|
-
require "pathname"
|
12
|
-
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
-
Pathname.new(__FILE__).realpath)
|
14
|
-
|
15
|
-
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
-
|
17
|
-
if File.file?(bundle_binstub)
|
18
|
-
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
|
19
|
-
load(bundle_binstub)
|
20
|
-
else
|
21
|
-
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
-
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
require "rubygems"
|
27
|
-
require "bundler/setup"
|
28
|
-
|
29
|
-
load Gem.bin_path("rspec-core", "rspec")
|
data/mktree.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bundle exec ruby -I lib:spec
|
2
|
-
|
3
|
-
# Simple benchmark utility to create a closure tree based on the topology of the current filesystem
|
4
|
-
|
5
|
-
#ENV['NONUKES'] = '1'
|
6
|
-
require 'spec_helper'
|
7
|
-
require 'findler'
|
8
|
-
require 'pathname'
|
9
|
-
|
10
|
-
# Returns the current path, split into an array.
|
11
|
-
# Pathname.new("/a/b/c").path_array = ["a", "b", "c"]
|
12
|
-
class Pathname
|
13
|
-
def path_array
|
14
|
-
a = []
|
15
|
-
each_filename { |ea| a << ea }
|
16
|
-
a
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
cnt = 0
|
21
|
-
f = Findler.new '/'
|
22
|
-
iter = f.iterator
|
23
|
-
Tag.with_advisory_lock('closure_tree') do
|
24
|
-
while (nxt = iter.next_file) && ((cnt += 1) < 1000)
|
25
|
-
t = Tag.find_or_create_by_path(nxt.path_array)
|
26
|
-
puts "created #{nxt.to_s}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
puts "Tag.all.size: #{Tag.all.size}"
|
31
|
-
puts "TagHierarchy.all.size: #{TagHierarchy.all.size}"
|
32
|
-
|
33
|
-
puts 'Tag.roots performance:'
|
34
|
-
puts Benchmark.measure { Tag.roots.size }
|
35
|
-
|
36
|
-
puts 'Tag.leaves performance:'
|
37
|
-
puts Benchmark.measure { Tag.leaves.size }
|
38
|
-
|