robinsp-sortable_element_for_nested_set 0.1.2 → 0.1.3
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/Manifest +21 -22
- data/README.rdoc +14 -5
- data/Rakefile +1 -2
- data/lib/tree_calc.rb +11 -0
- data/sortable_element_for_nested_set.gemspec +6 -9
- data/spec/models/tree_move_calculator_spec.rb +16 -0
- metadata +26 -39
data/Manifest
CHANGED
@@ -1,30 +1,29 @@
|
|
1
|
-
|
1
|
+
tasks/sortable_element_for_nested_set_tasks.rake
|
2
|
+
init.rb
|
3
|
+
lib/tree_calc.rb
|
4
|
+
lib/sortable_element_for_nested_set.rb
|
5
|
+
lib/sortable_element_for_nested_set_helper.rb
|
6
|
+
README.rdoc
|
7
|
+
Rakefile
|
8
|
+
spec/helpers/sortable_element_for_nested_set_helper_spec.rb
|
9
|
+
spec/railsenv/app/controllers/application_controller.rb
|
2
10
|
spec/railsenv/config/routes.rb
|
3
|
-
spec/railsenv/config/environments/production.rb
|
4
|
-
spec/railsenv/config/environments/test.rb
|
5
|
-
spec/railsenv/config/environments/development.rb
|
6
|
-
spec/railsenv/config/environment.rb
|
7
|
-
spec/railsenv/config/initializers/new_rails_defaults.rb
|
8
11
|
spec/railsenv/config/initializers/backtrace_silencers.rb
|
9
|
-
spec/railsenv/config/initializers/session_store.rb
|
10
|
-
spec/railsenv/config/initializers/inflections.rb
|
11
12
|
spec/railsenv/config/initializers/mime_types.rb
|
12
|
-
spec/railsenv/config/
|
13
|
-
spec/railsenv/config/
|
13
|
+
spec/railsenv/config/initializers/inflections.rb
|
14
|
+
spec/railsenv/config/initializers/session_store.rb
|
15
|
+
spec/railsenv/config/initializers/new_rails_defaults.rb
|
16
|
+
spec/railsenv/config/environment.rb
|
14
17
|
spec/railsenv/config/locales/en.yml
|
18
|
+
spec/railsenv/config/boot.rb
|
19
|
+
spec/railsenv/config/database.yml
|
20
|
+
spec/railsenv/config/environments/development.rb
|
21
|
+
spec/railsenv/config/environments/test.rb
|
22
|
+
spec/railsenv/config/environments/production.rb
|
15
23
|
spec/railsenv/db/test.sqlite3
|
16
|
-
spec/railsenv/app/controllers/application_controller.rb
|
17
|
-
spec/models/tree_move_calculator_spec.rb
|
18
|
-
spec/spec.opts
|
19
|
-
spec/sortable_element_for_nested_set_spec.rb
|
20
24
|
spec/spec_helper.rb
|
25
|
+
spec/sortable_element_for_nested_set_spec.rb
|
26
|
+
spec/spec.opts
|
21
27
|
spec/controllers/sorting_controller_spec.rb
|
22
|
-
spec/
|
23
|
-
Rakefile
|
24
|
-
tasks/sortable_element_for_nested_set_tasks.rake
|
25
|
-
lib/sortable_element_for_nested_set_helper.rb
|
26
|
-
lib/tree_calc.rb
|
27
|
-
lib/sortable_element_for_nested_set.rb
|
28
|
-
README.rdoc
|
29
|
-
init.rb
|
28
|
+
spec/models/tree_move_calculator_spec.rb
|
30
29
|
Manifest
|
data/README.rdoc
CHANGED
@@ -45,14 +45,23 @@ record id:s. It up to you to move your model accordingly.
|
|
45
45
|
|
46
46
|
=== Install
|
47
47
|
|
48
|
-
|
48
|
+
==== As gem
|
49
|
+
|
50
|
+
Add the following to config/environment.rb
|
51
|
+
|
52
|
+
config.gem "robinsp-sortable_element_for_nested_set",
|
53
|
+
:lib => "sortable_element_for_nested_set",
|
54
|
+
:source => "http://gems.github.com"
|
55
|
+
|
56
|
+
Then run
|
49
57
|
|
50
|
-
|
51
|
-
|
58
|
+
<tt>sudo rake gems:install</tt>
|
59
|
+
|
60
|
+
==== As plugin
|
61
|
+
|
62
|
+
<tt>./script/plugin install git://github.com/robinsp/sortable_element_for_nested_set.git</tt>
|
52
63
|
|
53
|
-
Run the plugin specs with:
|
54
64
|
|
55
|
-
<tt>rake spec:plugins PLUGIN=sortable_element_for_nested_set</tt>
|
56
65
|
|
57
66
|
|
58
67
|
|
data/Rakefile
CHANGED
@@ -2,13 +2,12 @@ require 'rake'
|
|
2
2
|
require 'spec/rake/spectask'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('sortable_element_for_nested_set', '0.1.
|
5
|
+
Echoe.new('sortable_element_for_nested_set', '0.1.3') do |p|
|
6
6
|
p.description = "Rails plugin for using script.aculo.us sortable_element for trees backed by nested sets."
|
7
7
|
p.url = "http://github.com/robinsp/sortable_element_for_nested_set"
|
8
8
|
p.author = "Robin Spainhour"
|
9
9
|
p.email = "robin@robinspainhour.com"
|
10
10
|
p.ignore_pattern = ["tmp/*"]
|
11
|
-
p.dependencies = ["rails >= 2.2.2"]
|
12
11
|
p.development_dependencies = ["rspec >= 1.2.4",
|
13
12
|
"rspec-rails >= 1.2.4",
|
14
13
|
"mocha >= 0.9.5"]
|
data/lib/tree_calc.rb
CHANGED
@@ -52,6 +52,8 @@ module SortableElementForNestedSet
|
|
52
52
|
|
53
53
|
# Create Array of TreeNodes from the parameter generated by draggable_element JS helper.
|
54
54
|
def self.create_tree_nodes(tree)
|
55
|
+
tree = to_hash(tree) if tree.is_a?(Array)
|
56
|
+
|
55
57
|
result = []
|
56
58
|
|
57
59
|
tree.keys.sort.each do |key|
|
@@ -62,6 +64,15 @@ module SortableElementForNestedSet
|
|
62
64
|
|
63
65
|
return result
|
64
66
|
end
|
67
|
+
|
68
|
+
# Convert an array of ids to the required hash format.
|
69
|
+
def self.to_hash(array)
|
70
|
+
result = {}
|
71
|
+
|
72
|
+
array.each_with_index {|id, i| result[i.to_s] = {"id" => id.to_s } }
|
73
|
+
|
74
|
+
return result
|
75
|
+
end
|
65
76
|
|
66
77
|
private
|
67
78
|
def root?(target_id)
|
@@ -2,40 +2,37 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{sortable_element_for_nested_set}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Robin Spainhour"]
|
9
|
-
s.date = %q{2009-05-
|
9
|
+
s.date = %q{2009-05-29}
|
10
10
|
s.description = %q{Rails plugin for using script.aculo.us sortable_element for trees backed by nested sets.}
|
11
11
|
s.email = %q{robin@robinspainhour.com}
|
12
|
-
s.extra_rdoc_files = ["tasks/sortable_element_for_nested_set_tasks.rake", "lib/
|
13
|
-
s.files = ["
|
12
|
+
s.extra_rdoc_files = ["tasks/sortable_element_for_nested_set_tasks.rake", "lib/tree_calc.rb", "lib/sortable_element_for_nested_set.rb", "lib/sortable_element_for_nested_set_helper.rb", "README.rdoc"]
|
13
|
+
s.files = ["tasks/sortable_element_for_nested_set_tasks.rake", "init.rb", "lib/tree_calc.rb", "lib/sortable_element_for_nested_set.rb", "lib/sortable_element_for_nested_set_helper.rb", "README.rdoc", "Rakefile", "spec/helpers/sortable_element_for_nested_set_helper_spec.rb", "spec/railsenv/app/controllers/application_controller.rb", "spec/railsenv/config/routes.rb", "spec/railsenv/config/initializers/backtrace_silencers.rb", "spec/railsenv/config/initializers/mime_types.rb", "spec/railsenv/config/initializers/inflections.rb", "spec/railsenv/config/initializers/session_store.rb", "spec/railsenv/config/initializers/new_rails_defaults.rb", "spec/railsenv/config/environment.rb", "spec/railsenv/config/locales/en.yml", "spec/railsenv/config/boot.rb", "spec/railsenv/config/database.yml", "spec/railsenv/config/environments/development.rb", "spec/railsenv/config/environments/test.rb", "spec/railsenv/config/environments/production.rb", "spec/railsenv/db/test.sqlite3", "spec/spec_helper.rb", "spec/sortable_element_for_nested_set_spec.rb", "spec/spec.opts", "spec/controllers/sorting_controller_spec.rb", "spec/models/tree_move_calculator_spec.rb", "Manifest", "sortable_element_for_nested_set.gemspec"]
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.homepage = %q{http://github.com/robinsp/sortable_element_for_nested_set}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Sortable_element_for_nested_set", "--main", "README.rdoc"]
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
s.rubyforge_project = %q{sortable_element_for_nested_set}
|
19
|
-
s.rubygems_version = %q{1.3.
|
19
|
+
s.rubygems_version = %q{1.3.1}
|
20
20
|
s.summary = %q{Rails plugin for using script.aculo.us sortable_element for trees backed by nested sets.}
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
24
|
-
s.specification_version =
|
24
|
+
s.specification_version = 2
|
25
25
|
|
26
26
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
27
|
-
s.add_runtime_dependency(%q<rails>, [">= 0", "= 2.2.2"])
|
28
27
|
s.add_development_dependency(%q<rspec>, [">= 0", "= 1.2.4"])
|
29
28
|
s.add_development_dependency(%q<rspec-rails>, [">= 0", "= 1.2.4"])
|
30
29
|
s.add_development_dependency(%q<mocha>, [">= 0", "= 0.9.5"])
|
31
30
|
else
|
32
|
-
s.add_dependency(%q<rails>, [">= 0", "= 2.2.2"])
|
33
31
|
s.add_dependency(%q<rspec>, [">= 0", "= 1.2.4"])
|
34
32
|
s.add_dependency(%q<rspec-rails>, [">= 0", "= 1.2.4"])
|
35
33
|
s.add_dependency(%q<mocha>, [">= 0", "= 0.9.5"])
|
36
34
|
end
|
37
35
|
else
|
38
|
-
s.add_dependency(%q<rails>, [">= 0", "= 2.2.2"])
|
39
36
|
s.add_dependency(%q<rspec>, [">= 0", "= 1.2.4"])
|
40
37
|
s.add_dependency(%q<rspec-rails>, [">= 0", "= 1.2.4"])
|
41
38
|
s.add_dependency(%q<mocha>, [">= 0", "= 0.9.5"])
|
@@ -72,4 +72,20 @@ describe SortableElementForNestedSet::TreeMoveCalculator do
|
|
72
72
|
|
73
73
|
result.last.id.should == 700
|
74
74
|
end
|
75
|
+
|
76
|
+
describe "to_hash()" do
|
77
|
+
it "should return empty hash if array is empty" do
|
78
|
+
@class_under_test.to_hash([]).should == {}
|
79
|
+
end
|
80
|
+
|
81
|
+
it "should convert flat array to hash" do
|
82
|
+
array = ["3", "2", "1"]
|
83
|
+
expected_hash = { "0" => {"id" => "3"},
|
84
|
+
"1" => {"id" => "2"},
|
85
|
+
"2" => {"id" => "1"}
|
86
|
+
}
|
87
|
+
|
88
|
+
@class_under_test.to_hash(array).should == expected_hash
|
89
|
+
end
|
90
|
+
end
|
75
91
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: robinsp-sortable_element_for_nested_set
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robin Spainhour
|
@@ -9,22 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-05-
|
12
|
+
date: 2009-05-29 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: rails
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
|
-
- - "="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 2.2.2
|
27
|
-
version:
|
28
15
|
- !ruby/object:Gem::Dependency
|
29
16
|
name: rspec
|
30
17
|
type: :development
|
@@ -72,41 +59,41 @@ extensions: []
|
|
72
59
|
|
73
60
|
extra_rdoc_files:
|
74
61
|
- tasks/sortable_element_for_nested_set_tasks.rake
|
75
|
-
- lib/sortable_element_for_nested_set_helper.rb
|
76
62
|
- lib/tree_calc.rb
|
77
63
|
- lib/sortable_element_for_nested_set.rb
|
64
|
+
- lib/sortable_element_for_nested_set_helper.rb
|
78
65
|
- README.rdoc
|
79
66
|
files:
|
80
|
-
-
|
67
|
+
- tasks/sortable_element_for_nested_set_tasks.rake
|
68
|
+
- init.rb
|
69
|
+
- lib/tree_calc.rb
|
70
|
+
- lib/sortable_element_for_nested_set.rb
|
71
|
+
- lib/sortable_element_for_nested_set_helper.rb
|
72
|
+
- README.rdoc
|
73
|
+
- Rakefile
|
74
|
+
- spec/helpers/sortable_element_for_nested_set_helper_spec.rb
|
75
|
+
- spec/railsenv/app/controllers/application_controller.rb
|
81
76
|
- spec/railsenv/config/routes.rb
|
82
|
-
- spec/railsenv/config/environments/production.rb
|
83
|
-
- spec/railsenv/config/environments/test.rb
|
84
|
-
- spec/railsenv/config/environments/development.rb
|
85
|
-
- spec/railsenv/config/environment.rb
|
86
|
-
- spec/railsenv/config/initializers/new_rails_defaults.rb
|
87
77
|
- spec/railsenv/config/initializers/backtrace_silencers.rb
|
88
|
-
- spec/railsenv/config/initializers/session_store.rb
|
89
|
-
- spec/railsenv/config/initializers/inflections.rb
|
90
78
|
- spec/railsenv/config/initializers/mime_types.rb
|
91
|
-
- spec/railsenv/config/
|
92
|
-
- spec/railsenv/config/
|
79
|
+
- spec/railsenv/config/initializers/inflections.rb
|
80
|
+
- spec/railsenv/config/initializers/session_store.rb
|
81
|
+
- spec/railsenv/config/initializers/new_rails_defaults.rb
|
82
|
+
- spec/railsenv/config/environment.rb
|
93
83
|
- spec/railsenv/config/locales/en.yml
|
84
|
+
- spec/railsenv/config/boot.rb
|
85
|
+
- spec/railsenv/config/database.yml
|
86
|
+
- spec/railsenv/config/environments/development.rb
|
87
|
+
- spec/railsenv/config/environments/test.rb
|
88
|
+
- spec/railsenv/config/environments/production.rb
|
94
89
|
- spec/railsenv/db/test.sqlite3
|
95
|
-
- spec/railsenv/app/controllers/application_controller.rb
|
96
|
-
- spec/models/tree_move_calculator_spec.rb
|
97
|
-
- spec/spec.opts
|
98
|
-
- spec/sortable_element_for_nested_set_spec.rb
|
99
90
|
- spec/spec_helper.rb
|
91
|
+
- spec/sortable_element_for_nested_set_spec.rb
|
92
|
+
- spec/spec.opts
|
100
93
|
- spec/controllers/sorting_controller_spec.rb
|
101
|
-
- spec/
|
102
|
-
- Rakefile
|
103
|
-
- tasks/sortable_element_for_nested_set_tasks.rake
|
104
|
-
- lib/sortable_element_for_nested_set_helper.rb
|
105
|
-
- lib/tree_calc.rb
|
106
|
-
- lib/sortable_element_for_nested_set.rb
|
107
|
-
- README.rdoc
|
108
|
-
- init.rb
|
94
|
+
- spec/models/tree_move_calculator_spec.rb
|
109
95
|
- Manifest
|
96
|
+
- sortable_element_for_nested_set.gemspec
|
110
97
|
has_rdoc: true
|
111
98
|
homepage: http://github.com/robinsp/sortable_element_for_nested_set
|
112
99
|
post_install_message:
|
@@ -136,7 +123,7 @@ requirements: []
|
|
136
123
|
rubyforge_project: sortable_element_for_nested_set
|
137
124
|
rubygems_version: 1.2.0
|
138
125
|
signing_key:
|
139
|
-
specification_version:
|
126
|
+
specification_version: 2
|
140
127
|
summary: Rails plugin for using script.aculo.us sortable_element for trees backed by nested sets.
|
141
128
|
test_files: []
|
142
129
|
|