midas-g_nested_select 1.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.
data/History.txt ADDED
@@ -0,0 +1,3 @@
1
+ == 1.0.0 2009-03-30
2
+
3
+ * Initial release
data/Manifest.txt ADDED
@@ -0,0 +1,19 @@
1
+ History.txt
2
+ Manifest.txt
3
+ PostInstall.txt
4
+ README.rdoc
5
+ Rakefile
6
+ lib/g_nested_select.rb
7
+ lib/g_nested_select/view_helpers.rb
8
+ rails_generators/nested_select_assets/nested_select_assets_generator.rb
9
+ rails_generators/nested_select_assets/templates/guilded.nested_select.js
10
+ rails_generators/nested_select_assets/templates/guilded.nested_select.min.js
11
+ rails_generators/nested_select_assets/templates/jquery-nested_select.js
12
+ rails_generators/nested_select_assets/templates/jquery-nested_select.min.js
13
+ script/console
14
+ script/destroy
15
+ script/generate
16
+ spec/g_nested_select_spec.rb
17
+ spec/spec.opts
18
+ spec/spec_helper.rb
19
+ tasks/rspec.rake
data/PostInstall.txt ADDED
@@ -0,0 +1,5 @@
1
+
2
+ For more information on g_nested_select, see http://github.com/midas/g_nested_select/tree/master
3
+
4
+
5
+
data/README.rdoc ADDED
@@ -0,0 +1,101 @@
1
+ = g_auto_completer
2
+
3
+ http://github.com/midas/g_nested_select/tree/master
4
+
5
+
6
+ == DESCRIPTION:
7
+
8
+ A Guilded (http://github.com/midas/guilded/tree/master) Rails component that generates a select box and connects it to a parent
9
+ select box to facilitate a parent child relationship.
10
+
11
+
12
+ == FEATURES:
13
+
14
+
15
+ == INSTALL:
16
+
17
+ sudo gem install midas-g_nested_select
18
+
19
+
20
+ == USAGE:
21
+
22
+ <% form_for @car do |f| %>
23
+ ...
24
+
25
+ <%= f.select :vehicle_make_id, VehicleMake.to_select_collection, :id => 'car_vehicle_make_id' %>
26
+
27
+ <%= g_nested_select f, :vehicle_model_id, :mappings => VehicleModel.to_select_collection, :include_blank => true,
28
+ :parent_id => 'car_vehicle_make_id', :mapping_type => :html
29
+ <% end %>
30
+
31
+ Where VehicleModel.to_select_collection returns either:
32
+
33
+ [
34
+ ['Toyota', [['Camry',1],['Corola',2]]], ['Volvo', [['S40',3],['S60',4]]]
35
+ ]
36
+
37
+ or
38
+
39
+ {
40
+ 'Toyota' => [['Camry',1],['Corola',2]], 'Volvo' => [['S40',3],['S60',4]]
41
+ }
42
+
43
+ When JavaScript is disabled, the above will result in:
44
+
45
+ <select id="ticket_vehicle_model_id" name="ticket[vehicle_model_id]">
46
+ <option value=""/>
47
+ <optgroup label="Toyota">
48
+ <option value="1">Camry</option>
49
+ <option value="2">Corola</option>
50
+ </optgroup>
51
+ <optgroup label="Volvo">
52
+ <option value="3">S40</option>
53
+ <option value="4">S60</option>
54
+ </optgroup>
55
+ </select>
56
+
57
+ When JavaScript is enabled the vehicle model id select control will be loaded with the vehicle models that are related to
58
+ what is currently selected in the vehicle make id select box. If there is nothing selected yet, then the vehicle model id
59
+ select box will be empty and will not populate until the vehicle make is selected.
60
+
61
+ If you open an edit view and there is already a value selected for both the vehicle make and vehicle model the vehicle model
62
+ selection will automatically select the correct value once it has loaded the nested options.
63
+
64
+
65
+ == OPTIONS:
66
+
67
+ * :mappings (required) - A collection suitable for creating a nested drop down (see example usage above for details).
68
+ * :include_blank - When true, includes an empty option at top of select box, otherwise does not. Defaults to false.
69
+ * :parent_id (required) - The id of the parent select box that the nested select box's values will be loaded based on.
70
+ * :mapping_type -
71
+
72
+ == REQUIREMENTS:
73
+
74
+ * Rails >= 2.2.0
75
+ * Guilded >= 0.2.0 (http://github.com/midas/guilded/tree/master)
76
+
77
+
78
+ == LICENSE:
79
+
80
+ (The MIT License)
81
+
82
+ Copyright (c) 2009 C. Jason Harrelson (midas)
83
+
84
+ Permission is hereby granted, free of charge, to any person obtaining
85
+ a copy of this software and associated documentation files (the
86
+ 'Software'), to deal in the Software without restriction, including
87
+ without limitation the rights to use, copy, modify, merge, publish,
88
+ distribute, sublicense, and/or sell copies of the Software, and to
89
+ permit persons to whom the Software is furnished to do so, subject to
90
+ the following conditions:
91
+
92
+ The above copyright notice and this permission notice shall be
93
+ included in all copies or substantial portions of the Software.
94
+
95
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
96
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
97
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
98
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
99
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
100
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
101
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,30 @@
1
+ %w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
2
+ require File.dirname(__FILE__) + '/lib/g_nested_select'
3
+
4
+ # Generate all the Rake tasks
5
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
6
+ $hoe = Hoe.new('g_nested_select', GNestedSelect::VERSION) do |p|
7
+ p.developer('C. Jason Harrelson', 'jason@lookforwardenterprises.com')
8
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
9
+ p.post_install_message = 'PostInstall.txt' # TODO remove if post-install message not required
10
+ p.rubyforge_name = p.name # TODO this is default value
11
+ # p.extra_deps = [
12
+ # ['activesupport','>= 2.0.2'],
13
+ # ]
14
+ p.extra_dev_deps = [
15
+ ['newgem', ">= #{::Newgem::VERSION}"],
16
+ ['rails', ">= 2.2.0"],
17
+ ['midas-guilded', ">=0.2.0"]
18
+ ]
19
+
20
+ p.clean_globs |= %w[**/.DS_Store tmp *.log]
21
+ path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
22
+ p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
23
+ p.rsync_args = '-av --delete --ignore-errors'
24
+ end
25
+
26
+ require 'newgem/tasks' # load /tasks/*.rake
27
+ Dir['tasks/**/*.rake'].each { |t| load t }
28
+
29
+ # TODO - want other tests/tasks run by default? Add them to the list
30
+ # task :default => [:spec, :features]
@@ -0,0 +1,12 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ require 'g_nested_select/view_helpers'
5
+
6
+ module GNestedSelect
7
+ VERSION = '1.0.0'
8
+ end
9
+
10
+ if defined?( ActionView::Base )
11
+ ActionView::Base.send( :include, GNestedSelect::ViewHelpers ) unless ActionView::Base.include?( GNestedSelect::ViewHelpers )
12
+ end
@@ -0,0 +1,46 @@
1
+ module GNestedSelect
2
+ module ViewHelpers
3
+
4
+ def g_nested_select( form, field, *args )
5
+ options = args.extract_options!
6
+ raise "You must include a 'parent_id' option for a nested select to render" unless options.has_key?( :parent_id )
7
+ options[:class] ||= ''
8
+ options[:ajax] ||= false
9
+ options[:mapping_type] ||= :lookup
10
+ options[:selected_value] = form.object.send( field.to_sym )
11
+ select_options = Hash.new
12
+ select_options[:include_blank] = (options.delete( :include_blank ) || false)
13
+ klass = form.object.class.name.underscore
14
+ options[:id] ||= "#{klass}_#{field.to_s}"
15
+ html = ''
16
+
17
+ Guilded::Guilder.instance.add( :nested_select, options, ['jquery/jquery-nested_select.min.js'] )
18
+
19
+ if options.has_key?( :collection )
20
+ collection = options.delete( :collection )
21
+ html << form.select( field, collection, select_options )
22
+ elsif options.has_key?( :mappings )
23
+ mappings = options.delete( :mappings )
24
+ html << "<select name=\"#{klass}[#{field.to_s}]\" id=\"#{klass}_#{field.to_s}\" class=\"#{options[:class].to_s}\">"
25
+ html << "<option value=\"\"></option>" if select_options[:include_blank]
26
+ html << grouped_options_for_select( mappings, options[:selected_value] )
27
+ html << "</select>"
28
+
29
+ if options[:mapping_type].to_s == 'lookup'
30
+ options[:mappings] = mappings.to_json
31
+ elsif options[:mapping_type].to_s == 'html'
32
+ html_mappings = Hash.new
33
+ mappings.each { |key, mapping| html_mappings[key] = options_for_select( mapping ) }
34
+ options[:mappings] = html_mappings.to_json
35
+ else
36
+ raise "The g_nested_select's 'mapping_type' option's value is not valid. Please specify on of 'lookup' or 'html.'"
37
+ end
38
+ else
39
+ throw "You must include either a 'collection' or 'mappings' option to render a g_nested_select"
40
+ end
41
+
42
+ return html
43
+ end
44
+
45
+ end
46
+ end
@@ -0,0 +1,15 @@
1
+ class NestedSelectAssetsGenerator < Rails::Generator::Base
2
+ def initialize(runtime_args, runtime_options = {})
3
+ super
4
+ end
5
+
6
+ def manifest
7
+ record do |m|
8
+ m.file "guilded.nested_select.js", "public/javascripts/guilded.nested_select.js"
9
+ m.file "guilded.nested_select.min.js", "public/javascripts/guilded.nested_select.min.js"
10
+ m.directory "public/javascripts/jquery"
11
+ m.file "jquery-nested_select.js", "public/javascripts/jquery-nested_select.js"
12
+ m.file "jquery-nested_select.min.js", "public/javascripts/jquery-nested_select.min.js"
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,41 @@
1
+ /* Guilded Nested Select 1.0.0
2
+ * Copyright (c) 2009 C. Jason Harrelson (midas)
3
+ * Guilded Nested Select is licensed under the terms of the MIT License */
4
+
5
+ g.nestedSelectInit = function( options )
6
+ {
7
+ if( !options )
8
+ options = {};
9
+
10
+ if( g.beforeNestedSelectInit )
11
+ {
12
+ g.beforeNestedSelectInit( options );
13
+ }
14
+
15
+ /* Setup a table to lookup nested selects for each nested select
16
+ * control on this page */
17
+ if( !g.nestedSelectRelations )
18
+ g.nestedSelectRelations = {};
19
+
20
+ if( !g.nestedSelectedValues )
21
+ g.nestedSelectedValues = {};
22
+
23
+ if( !g.nestedSelectMappings )
24
+ g.nestedSelectMappings = {};
25
+
26
+ g.nestedSelectRelations[options.parent_id] = options.id;
27
+ g.nestedSelectedValues[options.id] = options.selected_value;
28
+
29
+ if( !options.ajax )
30
+ g.nestedSelectMappings[options.id] = eval( '(' + options.mappings + ')' );
31
+
32
+ options['nsRelations'] = g.nestedSelectRelations;
33
+ options['nsMappings'] = g.nestedSelectMappings;
34
+ options['nsSelectedValues'] = g.nestedSelectedValues;
35
+ $jid( options.id ).nestedSelect( options );
36
+
37
+ if( g.afterNestedSelectInit )
38
+ {
39
+ g.afterNestedSelectInit( options );
40
+ }
41
+ };
@@ -0,0 +1,4 @@
1
+ /* Guilded Nested Select 1.0.0
2
+ * Copyright (c) 2009 C. Jason Harrelson (midas)
3
+ * Guilded Nested Select is licensed under the terms of the MIT License */
4
+ g.nestedSelectInit=function(options){if(!options)options={};if(g.beforeNestedSelectInit){g.beforeNestedSelectInit(options)}if(!g.nestedSelectRelations)g.nestedSelectRelations={};if(!g.nestedSelectedValues)g.nestedSelectedValues={};if(!g.nestedSelectMappings)g.nestedSelectMappings={};g.nestedSelectRelations[options.parent_id]=options.id;g.nestedSelectedValues[options.id]=options.selected_value;if(!options.ajax)g.nestedSelectMappings[options.id]=eval('('+options.mappings+')');options['nsRelations']=g.nestedSelectRelations;options['nsMappings']=g.nestedSelectMappings;options['nsSelectedValues']=g.nestedSelectedValues;$jid(options.id).nestedSelect(options);if(g.afterNestedSelectInit){g.afterNestedSelectInit(options)}};
@@ -0,0 +1,80 @@
1
+ /*
2
+ * jquery Nested Select plugin
3
+ * by Jason Harrelson 2009-03-27
4
+ */
5
+ (function($)
6
+ {
7
+ /* ************************************************************************** */
8
+ var options = null;
9
+ var afterNestedLoad = null; // Event that is fired after a nested select is loaded
10
+
11
+ jQuery.fn.nestedSelect = function( opts )
12
+ {
13
+ options = $.extend( jQuery.fn.nestedSelect.defaults, opts );
14
+ setUpNestedSelect( this );
15
+ return jQuery;
16
+ };
17
+
18
+ /* *************** public *************** */
19
+
20
+ jQuery.fn.nestedSelect.defaults =
21
+ {
22
+
23
+ };
24
+
25
+ /* *************** private *************** */
26
+
27
+ setUpNestedSelect = function( /* jquery Collection */ t )
28
+ {
29
+ var select = $( '#' + options.id );
30
+ var parent = $( '#' + options.parent_id );
31
+ select.empty();
32
+ parent.change( handleParentChange );
33
+ if( $( '#' + options.parent_id + ' :selected' ).text() != "" )
34
+ {
35
+ afterNestedLoad = selectInitialValue;
36
+ parent.change();
37
+ }
38
+ };
39
+
40
+ selectInitialValue = function( loadedId )
41
+ {
42
+ afterNestedLoad = null;
43
+ $( '#' + loadedId ).val( options['nsSelectedValues'][loadedId] )
44
+ };
45
+
46
+ handleParentChange = function( e )
47
+ {
48
+ var nsId = options['nsRelations'][e.target.id];
49
+ $( '#' + nsId ).empty();
50
+ selectedText = $( '#' + e.target.id + ' :selected' ).text();
51
+ nsMappings = options['nsMappings'];
52
+ var html = null;
53
+
54
+ if( options.mapping_type == 'lookup' )
55
+ {
56
+ if( nsMappings[nsId][selectedText] == null )
57
+ return;
58
+
59
+ html = "<option value=\"\"></option>";
60
+ $.each( nsMappings[nsId][selectedText], function( i, mapping )
61
+ {
62
+ html += "<option value=\"" + mapping[1] + "\">" + mapping[0] + "</option>"
63
+ });
64
+ }
65
+ else // mapping type = html
66
+ {
67
+ if( nsMappings[nsId][selectedText] == null )
68
+ return;
69
+
70
+ html = "<option value=\"\"></option>" + nsMappings[nsId][selectedText];
71
+ }
72
+
73
+ $( '#' + nsId ).append( html );
74
+
75
+ if( afterNestedLoad )
76
+ afterNestedLoad( nsId );
77
+ };
78
+
79
+ /* ************************************************************************** */
80
+ })(jQuery);
@@ -0,0 +1,5 @@
1
+ /*
2
+ * jquery Nested Select plugin
3
+ * by Jason Harrelson 2009-03-27
4
+ */
5
+ (function($){var options=null;var afterNestedLoad=null;jQuery.fn.nestedSelect=function(opts){options=$.extend(jQuery.fn.nestedSelect.defaults,opts);setUpNestedSelect(this);return jQuery};jQuery.fn.nestedSelect.defaults={};setUpNestedSelect=function(t){var select=$('#'+options.id);var parent=$('#'+options.parent_id);select.empty();parent.change(handleParentChange);if($('#'+options.parent_id+' :selected').text()!=""){afterNestedLoad=selectInitialValue;parent.change()}};selectInitialValue=function(loadedId){afterNestedLoad=null;$('#'+loadedId).val(options['nsSelectedValues'][loadedId])};handleParentChange=function(e){var nsId=options['nsRelations'][e.target.id];$('#'+nsId).empty();selectedText=$('#'+e.target.id+' :selected').text();nsMappings=options['nsMappings'];var html=null;if(options.mapping_type=='lookup'){if(nsMappings[nsId][selectedText]==null)return;html="<option value=\"\"></option>";$.each(nsMappings[nsId][selectedText],function(i,mapping){html+="<option value=\""+mapping[1]+"\">"+mapping[0]+"</option>"})}else{if(nsMappings[nsId][selectedText]==null)return;html="<option value=\"\"></option>"+nsMappings[nsId][selectedText]}$('#'+nsId).append(html);if(afterNestedLoad)afterNestedLoad(nsId)}})(jQuery);
data/script/console ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/g_nested_select.rb'}"
9
+ puts "Loading g_nested_select gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
data/script/destroy ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
data/script/generate ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
@@ -0,0 +1,11 @@
1
+ require File.dirname(__FILE__) + '/spec_helper.rb'
2
+
3
+ # Time to add your specs!
4
+ # http://rspec.info/
5
+ describe "Place your specs here" do
6
+
7
+ it "find this spec in spec directory" do
8
+ violated "Be sure to write your specs"
9
+ end
10
+
11
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,10 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ gem 'rspec'
6
+ require 'spec'
7
+ end
8
+
9
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
10
+ require 'g_nested_select'
data/tasks/rspec.rake ADDED
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/models"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: midas-g_nested_select
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - C. Jason Harrelson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-30 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: newgem
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.2.3
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: rails
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.2.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: midas-guilded
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.2.0
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: hoe
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.8.0
54
+ version:
55
+ description: A Guilded (http://github.com/midas/guilded/tree/master) Rails component that generates a select box and connects it to a parent select box to facilitate a parent child relationship.
56
+ email:
57
+ - jason@lookforwardenterprises.com
58
+ executables: []
59
+
60
+ extensions: []
61
+
62
+ extra_rdoc_files:
63
+ - History.txt
64
+ - Manifest.txt
65
+ - PostInstall.txt
66
+ - README.rdoc
67
+ files:
68
+ - .git/COMMIT_EDITMSG
69
+ - .git/HEAD
70
+ - .git/config
71
+ - .git/description
72
+ - .git/hooks/applypatch-msg.sample
73
+ - .git/hooks/commit-msg.sample
74
+ - .git/hooks/post-commit.sample
75
+ - .git/hooks/post-receive.sample
76
+ - .git/hooks/post-update.sample
77
+ - .git/hooks/pre-applypatch.sample
78
+ - .git/hooks/pre-commit.sample
79
+ - .git/hooks/pre-rebase.sample
80
+ - .git/hooks/prepare-commit-msg.sample
81
+ - .git/hooks/update.sample
82
+ - .git/index
83
+ - .git/info/exclude
84
+ - .git/logs/HEAD
85
+ - .git/logs/refs/heads/master
86
+ - .git/logs/refs/remotes/origin/master
87
+ - .git/objects/01/d96a7e5c0a09a41d0dda1cbb961b236a2564a8
88
+ - .git/objects/03/8839990d8f83d5abe56f79280ea07872232cde
89
+ - .git/objects/07/905e147380a08c68e24335998de97e02929c95
90
+ - .git/objects/0a/2865c6d980b7aef584a0d8944c68564a31466b
91
+ - .git/objects/0c/76865799841137c9778004ca17925ea8c55518
92
+ - .git/objects/0f/6181a89d73a714113011c9e29886930d9dcb01
93
+ - .git/objects/15/d15e670a6617774b7bc8583d02909e8234e1a1
94
+ - .git/objects/23/be2fb9ec080443aeca37619cc72bfd600f8e8b
95
+ - .git/objects/24/15fa49cb1d3d84a29d0fa0c7ac098cb759977a
96
+ - .git/objects/34/1667b73a8a8c7113ab79c09e8aaf97bd4668ba
97
+ - .git/objects/3c/63520ed652f36b994796949fe911a69094dd0c
98
+ - .git/objects/40/fc96eff8150a8fb68872b9dc3b60cb4e0e1490
99
+ - .git/objects/42/2b697a12538e8cb9790964be2638a6fe40f95f
100
+ - .git/objects/52/b955d31b5d52462cf81a50d95c565dfb52cf10
101
+ - .git/objects/53/4d87c13df66351b857299cfc92449745043078
102
+ - .git/objects/53/b5186fd0bf292c0bb14f51c32507ade54ba48d
103
+ - .git/objects/5c/20d2b2c643e54bd64ac98e9ca6f7326b6deb93
104
+ - .git/objects/62/02b7ed056d4cd9025bdd1420c62406c908ead3
105
+ - .git/objects/63/1b09ac5892037453aa96c0f75fa28b36bdf161
106
+ - .git/objects/70/fe3ef894f9d9e489aa2f474a421c55c2c59775
107
+ - .git/objects/72/4c34cb3a566a4a114b7ac09e6b1ab80d1e8784
108
+ - .git/objects/77/78a561745349b3c546c90802cabfb6f2cbdc37
109
+ - .git/objects/7f/b045a9a66e00daabaddcefe332537daba4a40e
110
+ - .git/objects/a1/8a40e6d17abcfc419c321494d874c4ef9b109e
111
+ - .git/objects/a5/2055a59d0d28cb88c2e41c92753aa73ff67b3b
112
+ - .git/objects/ab/019b7804ba000e2861b27c52a13b20775bdea6
113
+ - .git/objects/ab/e9b588bacc4cdc7c7269244ee43b4740c304e3
114
+ - .git/objects/b6/87fc4d5c7993024e7baa75ea665d87e694e51d
115
+ - .git/objects/b7/763794a9ae518526b9162e47dabea1ea5c7d0b
116
+ - .git/objects/ba/489b909eaffe87d803663bc429bbe53128ac4d
117
+ - .git/objects/c2/7f6559350f7adb19d43742b55b2f91d07b6550
118
+ - .git/objects/cf/6add7ea568d3d90d6a1f8afb0898b0119b14ff
119
+ - .git/objects/e4/8464df56bf487e96e21ea99487330266dae3c9
120
+ - .git/objects/f8/1035ce52ed1448385badc8cccef62da38cd0fb
121
+ - .git/objects/fa/729053ee06fad7b044df1102960bf78b0bbf67
122
+ - .git/objects/ff/abaa7df8499c88f849ae6cfe8697994b41d030
123
+ - .git/refs/heads/master
124
+ - .git/refs/remotes/origin/master
125
+ - History.txt
126
+ - Manifest.txt
127
+ - PostInstall.txt
128
+ - README.rdoc
129
+ - Rakefile
130
+ - lib/g_nested_select.rb
131
+ - lib/g_nested_select/view_helpers.rb
132
+ - rails_generators/nested_select_assets/nested_select_assets_generator.rb
133
+ - rails_generators/nested_select_assets/templates/guilded.nested_select.js
134
+ - rails_generators/nested_select_assets/templates/guilded.nested_select.min.js
135
+ - rails_generators/nested_select_assets/templates/jquery-nested_select.js
136
+ - rails_generators/nested_select_assets/templates/jquery-nested_select.min.js
137
+ - script/console
138
+ - script/destroy
139
+ - script/generate
140
+ - spec/g_nested_select_spec.rb
141
+ - spec/spec.opts
142
+ - spec/spec_helper.rb
143
+ - tasks/rspec.rake
144
+ has_rdoc: true
145
+ homepage: http://github.com/midas/g_nested_select/tree/master
146
+ post_install_message: PostInstall.txt
147
+ rdoc_options:
148
+ - --main
149
+ - README.rdoc
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: "0"
157
+ version:
158
+ required_rubygems_version: !ruby/object:Gem::Requirement
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: "0"
163
+ version:
164
+ requirements: []
165
+
166
+ rubyforge_project: g_nested_select
167
+ rubygems_version: 1.2.0
168
+ signing_key:
169
+ specification_version: 2
170
+ summary: A Guilded (http://github.com/midas/guilded/tree/master) Rails component that generates a select box and connects it to a parent select box to facilitate a parent child relationship.
171
+ test_files: []
172
+