chrislloyd-eb_nested_set 0.3.2
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.
- data/LICENSE +20 -0
- data/README.md +65 -0
- data/Rakefile +87 -0
- data/init.rb +1 -0
- data/lib/eb_nested_set.rb +349 -0
- data/spec/directory_spec.rb +54 -0
- data/spec/employee_spec.rb +74 -0
- data/spec/nested_set_behavior.rb +586 -0
- data/spec/spec_helper.rb +83 -0
- metadata +64 -0
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
$TESTING=true
|
2
|
+
$:.push File.join(File.dirname(__FILE__), '..', 'lib')
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'active_record'
|
6
|
+
# require 'ruby-debug' # Slows down the tests massively
|
7
|
+
|
8
|
+
require 'eb_nested_set'
|
9
|
+
|
10
|
+
require 'spec'
|
11
|
+
|
12
|
+
# change this if sqlite is unavailable
|
13
|
+
dbconfig = case ENV["DB"]
|
14
|
+
when "postgresql"
|
15
|
+
{
|
16
|
+
:adapter => 'postgresql',
|
17
|
+
:database => 'even_better_nested_set_test',
|
18
|
+
:host => '127.0.0.1'
|
19
|
+
}
|
20
|
+
when "mysql"
|
21
|
+
{
|
22
|
+
:adapter => 'mysql',
|
23
|
+
:database => 'even_better_nested_set_test',
|
24
|
+
:host => '127.0.0.1'
|
25
|
+
}
|
26
|
+
else
|
27
|
+
{
|
28
|
+
:adapter => 'sqlite3',
|
29
|
+
:database => File.join(File.dirname(__FILE__), 'db', 'test.sqlite3')
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
ActiveRecord::Base.establish_connection(dbconfig)
|
34
|
+
ActiveRecord::Migration.verbose = false
|
35
|
+
|
36
|
+
def show_model_variables_for(context, model)
|
37
|
+
context.instance_variables.sort.each do |i|
|
38
|
+
m = eval(i)
|
39
|
+
if m.is_a?(model)
|
40
|
+
m.reload
|
41
|
+
puts "#{i.ljust(8)}\t#{m.left}\t#{m.right}\t#{m.name}"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
#ActiveRecord::Base.logger = Logger.new(STDOUT)
|
47
|
+
|
48
|
+
|
49
|
+
class TestMigration < ActiveRecord::Migration
|
50
|
+
def self.up
|
51
|
+
create_table :directories, :force => true do |t|
|
52
|
+
t.column :lft, :integer
|
53
|
+
t.column :rgt, :integer
|
54
|
+
t.column :parent_id, :integer
|
55
|
+
t.column :name, :string
|
56
|
+
end
|
57
|
+
|
58
|
+
create_table :employees, :force => true do |t|
|
59
|
+
t.column :left, :integer
|
60
|
+
t.column :right, :integer
|
61
|
+
t.column :parent_id, :integer
|
62
|
+
t.column :name, :string
|
63
|
+
t.column :company_id, :integer
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def self.down
|
68
|
+
drop_table :directories
|
69
|
+
drop_table :employees
|
70
|
+
rescue
|
71
|
+
nil
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def without_changing_the_database
|
76
|
+
ActiveRecord::Base.transaction do
|
77
|
+
yield
|
78
|
+
raise ActiveRecord::Rollback
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
TestMigration.down
|
83
|
+
TestMigration.up
|
metadata
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: chrislloyd-eb_nested_set
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jonas Nicklas
|
8
|
+
autorequire: eb_nested_set
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2009-02-15 00:00:00 -08:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: A cool acts_as_nested_set alternative
|
17
|
+
email: jonas.nicklas@gmail.com
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files:
|
23
|
+
- README.md
|
24
|
+
- LICENSE
|
25
|
+
files:
|
26
|
+
- LICENSE
|
27
|
+
- README.md
|
28
|
+
- Rakefile
|
29
|
+
- init.rb
|
30
|
+
- lib/eb_nested_set.rb
|
31
|
+
- spec/db
|
32
|
+
- spec/db/test.sqlite3
|
33
|
+
- spec/directory_spec.rb
|
34
|
+
- spec/employee_spec.rb
|
35
|
+
- spec/nested_set_behavior.rb
|
36
|
+
- spec/spec_helper.rb
|
37
|
+
has_rdoc: true
|
38
|
+
homepage: http://github.com/jnicklas/even_better_nested_set/tree/master
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
|
42
|
+
require_paths:
|
43
|
+
- lib
|
44
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: "0"
|
49
|
+
version:
|
50
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: "0"
|
55
|
+
version:
|
56
|
+
requirements: []
|
57
|
+
|
58
|
+
rubyforge_project:
|
59
|
+
rubygems_version: 1.2.0
|
60
|
+
signing_key:
|
61
|
+
specification_version: 2
|
62
|
+
summary: A cool acts_as_nested_set alternative
|
63
|
+
test_files: []
|
64
|
+
|