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 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