robinsp-sortable_element_for_nested_set 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -1,30 +1,29 @@
1
- sortable_element_for_nested_set.gemspec
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/database.yml
13
- spec/railsenv/config/boot.rb
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/helpers/sortable_element_for_nested_set_helper_spec.rb
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
@@ -45,14 +45,23 @@ record id:s. It up to you to move your model accordingly.
45
45
 
46
46
  === Install
47
47
 
48
- <tt>./script/plugin install git://github.com/robinsp/sortable_element_for_nested_set.git</tt>
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
- ==== Test
51
- (This requires rspec-rails (and thus rspec) and mocha to be available on your system.)
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.2') do |p|
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"]
@@ -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.2"
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-15}
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/sortable_element_for_nested_set_helper.rb", "lib/tree_calc.rb", "lib/sortable_element_for_nested_set.rb", "README.rdoc"]
13
- s.files = ["sortable_element_for_nested_set.gemspec", "spec/railsenv/config/routes.rb", "spec/railsenv/config/environments/production.rb", "spec/railsenv/config/environments/test.rb", "spec/railsenv/config/environments/development.rb", "spec/railsenv/config/environment.rb", "spec/railsenv/config/initializers/new_rails_defaults.rb", "spec/railsenv/config/initializers/backtrace_silencers.rb", "spec/railsenv/config/initializers/session_store.rb", "spec/railsenv/config/initializers/inflections.rb", "spec/railsenv/config/initializers/mime_types.rb", "spec/railsenv/config/database.yml", "spec/railsenv/config/boot.rb", "spec/railsenv/config/locales/en.yml", "spec/railsenv/db/test.sqlite3", "spec/railsenv/app/controllers/application_controller.rb", "spec/models/tree_move_calculator_spec.rb", "spec/spec.opts", "spec/sortable_element_for_nested_set_spec.rb", "spec/spec_helper.rb", "spec/controllers/sorting_controller_spec.rb", "spec/helpers/sortable_element_for_nested_set_helper_spec.rb", "Rakefile", "tasks/sortable_element_for_nested_set_tasks.rake", "lib/sortable_element_for_nested_set_helper.rb", "lib/tree_calc.rb", "lib/sortable_element_for_nested_set.rb", "README.rdoc", "init.rb", "Manifest"]
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.2}
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 = 3
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.2
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-15 00:00:00 -07:00
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
- - sortable_element_for_nested_set.gemspec
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/database.yml
92
- - spec/railsenv/config/boot.rb
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/helpers/sortable_element_for_nested_set_helper_spec.rb
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: 3
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