acts_as_dropdown 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,17 @@
1
+ 2.0.3
2
+ * fix class Array extension from module in the gem (it worked as a plugin, but failed as a gem)
3
+
4
+ 2.0.2 (2008-10-10)
5
+ * mirror'd code from http://acts-as-dropdown.googlecode.com/svn/trunk/ (rev 17) to github
6
+ * added gemspec to build as gem
7
+
8
+ 2.0.0
9
+ * better testing support that now uses a sqlite3 database as the default.
10
+ * introduced the :include_blank option that works in a similar fashion to the select helper's, but also allow you to
11
+ specify what appears as the text of the blank option.
12
+ * allowing customization of all ActiveRecord::Base#find options.
13
+ * fix a bug that caused the class attributes to be forgotten, requiring that all options be specified for every to_dropdown call.
14
+ * renamed and aliased methods to better match the helper methods that they are supposed to be used with.
15
+
16
+ 1.0.0
17
+ * Initial release of the plugin. Includes documentation and tests.
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006 DeLynn Berry
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README ADDED
@@ -0,0 +1,28 @@
1
+ = acts_as_dropdown
2
+
3
+ This plugin allows any ActiveRecord object to easily be used to create a HTML select option list.
4
+
5
+ The github repository gbdev-acts_as_dropdown was copied from http://acts-as-dropdown.googlecode.com/svn/trunk/ (rev 17) on 2008-10-10
6
+
7
+ The only current modifications in gbdev-acts_as_dropdown from the original are to make the plugin work as a gem and small reorganizing.
8
+
9
+ == Resources
10
+
11
+ Install
12
+
13
+ * [ruby] script\plugin install http://acts-as-dropdown.googlecode.com/svn/trunk/
14
+
15
+ Or even better, use Piston (http://piston.rubyforge.org)
16
+
17
+ * piston import http://acts-as-dropdown.googlecode.com/svn/trunk/ vendor/plugins/acts_as_dropdown
18
+
19
+ RDocs
20
+
21
+ * These can be found in the doc directory at the root of the acts_as_dropdown directory by loading the
22
+ index.html file into a browser.
23
+
24
+ Subversion
25
+
26
+ * http://acts-as-dropdown.googlecode.com/svn/
27
+
28
+ Special thanks to courtenay of http://habtm.com for giving me the idea for this plugin.
@@ -0,0 +1,12 @@
1
+ == Creating the test database
2
+
3
+ The test suite currently uses sqlite3 out of the box. I highly recommend using this configuration
4
+ for testing Rails plugins. If for some reason you can't install sqlite3 (and the required gem) you
5
+ can get the test suite to run with any other database adapter with a little tweaking of the
6
+ abstract_unit.rb file.
7
+
8
+ == Running by hand
9
+
10
+ Unit tests are located in the test directory. To execute the test do the following:
11
+
12
+ ruby dropdown_test.rb
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the acts_as_dropdown plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
14
+
15
+ desc 'Generate documentation for the acts_as_dropdown plugin.'
16
+ Rake::RDocTask.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_dir = 'rdoc'
18
+ rdoc.title = 'ActsAsDropdown'
19
+ rdoc.options << '--line-numbers' << '--inline-source'
20
+ rdoc.rdoc_files.include('README')
21
+ rdoc.rdoc_files.include('lib/**/*.rb')
22
+ end
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require 'acts_as_dropdown'
@@ -0,0 +1,170 @@
1
+ # Copyright (c) 2006 DeLynn Berry
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module DeLynnBerry
23
+ module Dropdown
24
+ def self.included(base) # :nodoc:
25
+ base.extend ClassMethods
26
+ end
27
+
28
+ module ClassMethods
29
+ attr_accessor :dropdown_text_attr, :dropdown_value_attr, :include_blank, :find_arguments
30
+
31
+ # Specify this act if you want to your model be used easily with the <tt>select</tt> form helper. By default the
32
+ # plugin assumes you want to use the class' primary key for the option value and the <tt>name</tt> attribute for
33
+ # the option text.
34
+ #
35
+ # The acts_as_dropdown class method operates much like the ActiveRecord#find method when it comes to customization.
36
+ # You can alter the <tt>:text</tt> and <tt>:value</tt> attributes that are used. You can also alter what items are
37
+ # collected from the database by passing in any of the regular ActiveRecord#find options (i.e. <tt>:conditions</tt>,
38
+ # <tt>:order</tt>, <tt>:group</tt>, <tt>:limit</tt>, <tt>:offset</tt>, etc.)
39
+ #
40
+ # Examples:
41
+ #
42
+ # class State < ActiveRecord::Base
43
+ # acts_as_dropdown :text => "abbreviation", :conditions => "id < 4"
44
+ # end
45
+ #
46
+ # State.to_dropdown # => [["AL", 1], ["AK", 2], ["AZ", 3]]
47
+ #
48
+ # class State < ActiveRecord::Base
49
+ # acts_as_dropdown :conditions => "id < 4", :order => "name DESC"
50
+ # end
51
+ #
52
+ # State.to_dropdown # => [["Arizona", 3], ["Alaska", 2], ["Alabama", 1]]
53
+ #
54
+ # The class method <tt>to_dropdown</tt> can also alter the default class configuration using the same options hash.
55
+ #
56
+ # Example:
57
+ #
58
+ # class State < ActiveRecord::Base
59
+ # acts_as_dropdown :text => "abbreviation", :conditions => "id < 4"
60
+ # end
61
+ #
62
+ # State.to_dropdown :text => "name", :conditions => nil # => [["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]]
63
+ #
64
+ # == Configuration options
65
+ #
66
+ # * <tt>text</tt> - This is the class attribute (database column) that will be used as the text/label for
67
+ # the option tag (defaults to 'name').
68
+ # * <tt>value</tt> - This is the class attribute (database column) that will be used to fill in the option's
69
+ # value parameter (defaults to the class' primary_key).
70
+ # * <tt>include_blank</tt> - Specify true if you'd like to have a blank item added to the beginning of your list, or
71
+ # a string that will be placed in the value attribute of the option group.
72
+ #
73
+ # All of ActiveRecord#find options are available as well:
74
+ #
75
+ # * <tt>:conditions</tt>: An SQL fragment like "administrator = 1" or [ "user_name = ?", username ].
76
+ # * <tt>:order</tt>: A SQL fragment like "created_at DESC, name".
77
+ # * <tt>:group</tt>: An attribute name by which the result should be grouped. Uses the GROUP BY SQL-clause.
78
+ # * <tt>:limit</tt>: An integer determining the limit on the number of rows that should be returned.
79
+ # * <tt>:offset</tt>: An integer determining the offset from where the rows should be fetched. So at 5, it would skip the first 4 rows.
80
+ # * <tt>:joins</tt>: An SQL fragment for additional joins like "LEFT JOIN comments ON comments.post_id = id". (Rarely needed).
81
+ # * <tt>:include</tt>: Names associations that should be loaded alongside using LEFT OUTER JOINs. The symbols named refer
82
+ # to already defined associations. See eager loading under Associations.
83
+ # * <tt>:select</tt>: By default, this is * as in SELECT * FROM, but can be changed if you for example want to do a join, but not
84
+ # include the joined columns.
85
+ def acts_as_dropdown(*args)
86
+ options = {:text => 'name', :value => self.primary_key}
87
+ options.merge!(args.pop) unless args.empty?
88
+ options.merge!(:order => options[:value]) unless options.has_key?(:order)
89
+
90
+ self.dropdown_text_attr = options.delete(:text)
91
+ self.dropdown_value_attr = options.delete(:value)
92
+ self.include_blank = options.delete(:include_blank)
93
+ self.find_arguments = options
94
+ end
95
+
96
+ # Examples:
97
+ #
98
+ # class State < ActiveRecord::Base
99
+ # acts_as_dropdown :text => "abbreviation", :conditions => "id < 4"
100
+ # end
101
+ #
102
+ # State.to_dropdown # => [["AL", 1], ["AK", 2], ["AZ", 3]]
103
+ #
104
+ # class State < ActiveRecord::Base
105
+ # acts_as_dropdown :conditions => "id < 4", :order => "name DESC"
106
+ # end
107
+ #
108
+ # State.to_dropdown # => [["Arizona", 3], ["Alaska", 2], ["Alabama", 1]]
109
+ #
110
+ # The class method <tt>to_dropdown</tt> can also alter the default class configuration using the same options hash.
111
+ #
112
+ # Example:
113
+ #
114
+ # class State < ActiveRecord::Base
115
+ # acts_as_dropdown :text => "abbreviation", :conditions => "id < 4"
116
+ # end
117
+ #
118
+ # State.to_dropdown :text => "name", :conditions => nil # => [["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]]
119
+ #
120
+ # See DeLynnBerry::Dropdown::ClassMethods#acts_as_dropdown for additional configuration options
121
+ def to_options_for_select(*args)
122
+ options = args.empty? ? {} : args.pop
123
+ text = options.delete(:text)
124
+ value = options.delete(:value)
125
+ blank = options.delete(:include_blank)
126
+ options.merge!(:order => value) if (!value.nil? && self.dropdown_value_attr != value) && options.has_key?(:order) == false
127
+
128
+ items = find(:all, options.empty? ? self.find_arguments : options).to_dropdown(text || self.dropdown_text_attr,
129
+ value || self.dropdown_value_attr)
130
+
131
+ if args.empty? && self.include_blank
132
+ items.insert(0, self.include_blank.kind_of?(String) ? [self.include_blank, ""] : ["", ""])
133
+ elsif blank
134
+ items.insert(0, blank.kind_of?(String) ? [blank, ""] : ["", ""])
135
+ end
136
+ items
137
+ end
138
+ alias :to_dropdown :to_options_for_select
139
+ end
140
+ end
141
+ end
142
+
143
+ ActiveRecord::Base.class_eval { include DeLynnBerry::Dropdown }
144
+
145
+ class Array #:nodoc:
146
+ # Collects the contents of the array and creates a new array that can be easily used
147
+ # with the <tt>select</tt> form helper method.
148
+ #
149
+ # == Options
150
+ #
151
+ # * <tt>text</tt> - This is the attribute that will be used as the text/label for the option tag (defaults to 'name').
152
+ # * <tt>value</tt> - This is the attribute that will be used to fill in the option's value parameter (defaults to 'id').
153
+ # * <tt>include_blank</tt> - Specify true if you'd like to have a blank item added to the beginning of your aray, or
154
+ # a string that will be placed in the value attribute of the option group.
155
+ #
156
+ # === Example
157
+ # >> @states = State.find(:all, :order => "id")
158
+ # >> @states.to_dropdown
159
+ # => [["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]]
160
+ def to_options_for_select(text = :name, value = :id, include_blank = false)
161
+ items = self.collect { |x| [x.send(text.to_sym), x.send(value.to_sym)] }
162
+
163
+ if include_blank
164
+ items.insert(0, include_blank.kind_of?(String) ? [include_blank, ""] : ["", ""])
165
+ end
166
+
167
+ items
168
+ end
169
+ alias :to_dropdown :to_options_for_select
170
+ end
@@ -0,0 +1,37 @@
1
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
2
+ RAILS_ROOT = File.dirname(__FILE__)
3
+
4
+ require 'rubygems'
5
+ require 'test/unit'
6
+ require 'active_record'
7
+ require 'active_record/fixtures'
8
+ require 'active_support/binding_of_caller'
9
+ require 'active_support/breakpoint'
10
+ require "#{File.dirname(__FILE__)}/../init"
11
+
12
+ config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
13
+ ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
14
+ ActiveRecord::Base.establish_connection(config[ENV['DB'] || 'sqlite3'])
15
+
16
+ load(File.dirname(__FILE__) + "/schema.rb") if File.exist?(File.dirname(__FILE__) + "/schema.rb")
17
+
18
+ Test::Unit::TestCase.fixture_path = File.dirname(__FILE__) + "/fixtures/"
19
+ $LOAD_PATH.unshift(Test::Unit::TestCase.fixture_path)
20
+
21
+ class Test::Unit::TestCase #:nodoc:
22
+ def create_fixtures(*table_names)
23
+ if block_given?
24
+ Fixtures.create_fixtures(Test::Unit::TestCase.fixture_path, table_names) { yield }
25
+ else
26
+ Fixtures.create_fixtures(Test::Unit::TestCase.fixture_path, table_names)
27
+ end
28
+ end
29
+
30
+ # Turn off transactional fixtures if you're working with MyISAM tables in MySQL
31
+ self.use_transactional_fixtures = true
32
+
33
+ # Instantiated fixtures are slow, but give you @david where you otherwise would need people(:david)
34
+ self.use_instantiated_fixtures = false
35
+
36
+ # Add more helper methods to be used by all tests here...
37
+ end
@@ -0,0 +1,75 @@
1
+ require File.join(File.dirname(__FILE__), 'abstract_unit')
2
+ require File.join(File.dirname(__FILE__), 'fixtures/state')
3
+ require File.join(File.dirname(__FILE__), 'fixtures/status')
4
+
5
+ class ActiveRecordDropdownTest < Test::Unit::TestCase # :nodoc:
6
+ fixtures :states, :statuses
7
+
8
+ def test_class_method
9
+ assert_equal [["Alabama", 1], ["Alaska", 2], ["Arizona", 3]],
10
+ State.to_dropdown
11
+ end
12
+
13
+ def test_class_method_custom_conditions
14
+ assert_equal [["Alabama", 1], ["Alaska", 2], ["Arizona", 3]],
15
+ State.to_dropdown(:conditions => "id < 4")
16
+ end
17
+
18
+ def test_class_method_change_text
19
+ assert_equal [["AL", 1], ["AK", 2], ["AZ", 3]],
20
+ State.to_dropdown(:text => "abbreviation")
21
+ end
22
+
23
+ def test_class_method_change_text_custom_conditions
24
+ assert_equal [["AL", 1], ["AK", 2], ["AZ", 3]],
25
+ State.to_dropdown(:text => "abbreviation", :conditions => "id < 4")
26
+ end
27
+
28
+ def test_class_method_change_value
29
+ assert_equal [["Alaska", "AK"], ["Alabama", "AL"], ["Arizona", "AZ"], ["California", "CA"], ["Colorado", "CO"]],
30
+ State.to_dropdown(:value => "abbreviation")
31
+ end
32
+
33
+ def test_class_method_change_value_custom_conditions
34
+ assert_equal [["Alaska", "AK"], ["Alabama", "AL"], ["Arizona", "AZ"]],
35
+ State.to_dropdown(:value => "abbreviation", :conditions => "id < 4")
36
+ end
37
+
38
+ def test_class_method_change_text_change_value
39
+ assert_equal [["AL", "Alabama"], ["AK", "Alaska"], ["AZ", "Arizona"], ["CA", "California"], ["CO", "Colorado"]],
40
+ State.to_dropdown(:text => "abbreviation", :value => "name")
41
+ end
42
+
43
+ def test_class_method_change_text_change_value_custom_conditions
44
+ assert_equal [["AL", "Alabama"], ["AK", "Alaska"], ["AZ", "Arizona"]],
45
+ State.to_dropdown(:text => "abbreviation", :value => "name", :conditions => "id < 4")
46
+ end
47
+
48
+ def test_class_method_custom_order
49
+ assert_equal [["Colorado", 5], ["California", 4], ["Arizona", 3], ["Alabama", 1], ["Alaska", 2]],
50
+ State.to_dropdown(:order => "abbreviation DESC")
51
+ end
52
+
53
+ def test_class_method_custom_order_custom_conditions
54
+ assert_equal [["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4]],
55
+ State.to_dropdown(:order => "name", :conditions => "id < 5")
56
+ end
57
+
58
+ def test_class_method_change_all
59
+ assert_equal [[3, "AZ"], [1, "AL"], [2, "AK"]],
60
+ State.to_dropdown(:text => "id", :value => "abbreviation", :order => "abbreviation DESC", :conditions => "id < 4")
61
+ end
62
+
63
+ def test_class_method_include_blank
64
+ assert_equal [["", ""], ["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]],
65
+ State.to_dropdown(:conditions => nil, :order => "name", :include_blank => true)
66
+ assert_equal [["Select a State", ""], ["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]],
67
+ State.to_dropdown(:conditions => nil, :order => "name", :include_blank => "Select a State")
68
+ end
69
+
70
+ def test_class_method_different_value
71
+ assert_equal [["Bad", "B"], ["Good", "G"]],
72
+ Status.to_dropdown
73
+ end
74
+
75
+ end
@@ -0,0 +1,27 @@
1
+ require File.join(File.dirname(__FILE__), 'abstract_unit')
2
+ require File.join(File.dirname(__FILE__), 'fixtures/state')
3
+
4
+ class ArrayDropdownTest < Test::Unit::TestCase # :nodoc:
5
+ fixtures :states
6
+
7
+ def test_array_to_dropdown
8
+ states = State.find(:all, :order => "id")
9
+ assert_equal [["Alabama", 1], ["Alaska", 2], ["Arizona", 3], ["California", 4], ["Colorado", 5]], states.to_dropdown
10
+ end
11
+
12
+ def test_array_to_dropdown_change_text
13
+ states = State.find(:all, :order => "id")
14
+ assert_equal [["AL", 1], ["AK", 2], ["AZ", 3], ["CA", 4], ["CO", 5]], states.to_dropdown("abbreviation")
15
+ end
16
+
17
+ def test_array_to_dropdown_change_both
18
+ states = State.find(:all, :order => "id")
19
+ assert_equal [["Alabama", "AL"], ["Alaska", "AK"], ["Arizona", "AZ"], ["California", "CA"], ["Colorado", "CO"]], states.to_dropdown("name", "abbreviation")
20
+ end
21
+
22
+ def test_array_to_dropdown_include_blank
23
+ states = State.find(:all, :order => "id")
24
+ assert_equal [["", ""], ["AL", 1], ["AK", 2], ["AZ", 3], ["CA", 4], ["CO", 5]], states.to_dropdown("abbreviation", "id", true)
25
+ assert_equal [["Select a State", ""], ["AL", 1], ["AK", 2], ["AZ", 3], ["CA", 4], ["CO", 5]], states.to_dropdown("abbreviation", "id", "Select a State")
26
+ end
27
+ end
@@ -0,0 +1,3 @@
1
+ sqlite3:
2
+ :adapter: sqlite3
3
+ :dbfile: acts_as_dropdown_plugin_test.sqlite3.db
@@ -0,0 +1,3 @@
1
+ class State < ActiveRecord::Base
2
+ acts_as_dropdown(:conditions => "id < 4")
3
+ end
@@ -0,0 +1,21 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ alabama:
3
+ id: 1
4
+ name: Alabama
5
+ abbreviation: AL
6
+ alaska:
7
+ id: 2
8
+ name: Alaska
9
+ abbreviation: AK
10
+ arizona:
11
+ id: 3
12
+ name: Arizona
13
+ abbreviation: AZ
14
+ california:
15
+ id: 4
16
+ name: California
17
+ abbreviation: CA
18
+ colorado:
19
+ id: 5
20
+ name: Colorado
21
+ abbreviation: CO
@@ -0,0 +1,3 @@
1
+ class Status < ActiveRecord::Base
2
+ acts_as_dropdown(:text => "status", :value => "abbreviation")
3
+ end
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
2
+ good:
3
+ id: 1
4
+ status: Good
5
+ abbreviation: G
6
+ bad:
7
+ id: 2
8
+ status: Bad
9
+ abbreviation: B
@@ -0,0 +1,11 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :states, :force => true do |t|
3
+ t.column :name, :string
4
+ t.column :abbreviation, :string
5
+ end
6
+
7
+ create_table :statuses, :force => true do |t|
8
+ t.column :status, :string
9
+ t.column :abbreviation, :string
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,81 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: acts_as_dropdown
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.3
5
+ platform: ruby
6
+ authors:
7
+ - DeLynn Berry
8
+ - John Dell
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2008-10-10 00:00:00 -07:00
14
+ default_executable:
15
+ dependencies: []
16
+
17
+ description: A Rails plugin that adds the ability to easily create an options list out of an ActiveRecord object
18
+ email:
19
+ - delynn@gmail.com
20
+ - spovich@gmail.com
21
+ executables: []
22
+
23
+ extensions: []
24
+
25
+ extra_rdoc_files: []
26
+
27
+ files:
28
+ - CHANGELOG
29
+ - init.rb
30
+ - MIT-LICENSE
31
+ - Rakefile
32
+ - README
33
+ - RUNNING_UNIT_TESTS
34
+ - lib/acts_as_dropdown.rb
35
+ - test/abstract_unit.rb
36
+ - test/active_record_dropdown_test.rb
37
+ - test/array_dropdown_test.rb
38
+ - test/database.yml
39
+ - test/fixtures/state.rb
40
+ - test/fixtures/states.yml
41
+ - test/fixtures/status.rb
42
+ - test/fixtures/statuses.yml
43
+ - test/schema.rb
44
+ has_rdoc: true
45
+ homepage: http://github.com/gbdev/acts_as_dropdown
46
+ licenses: []
47
+
48
+ post_install_message:
49
+ rdoc_options: []
50
+
51
+ require_paths:
52
+ - lib
53
+ required_ruby_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: "0"
64
+ version:
65
+ requirements: []
66
+
67
+ rubyforge_project:
68
+ rubygems_version: 1.3.5
69
+ signing_key:
70
+ specification_version: 3
71
+ summary: Adds the ability to easily create an options list out of an ActiveRecord object
72
+ test_files:
73
+ - test/abstract_unit.rb
74
+ - test/active_record_dropdown_test.rb
75
+ - test/array_dropdown_test.rb
76
+ - test/database.yml
77
+ - test/fixtures/state.rb
78
+ - test/fixtures/states.yml
79
+ - test/fixtures/status.rb
80
+ - test/fixtures/statuses.yml
81
+ - test/schema.rb