handy_form 0.0.1 → 0.0.2
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/README.md +23 -0
- data/handy_form.gemspec +1 -1
- data/lib/handy_form/builder.rb +9 -7
- data/lib/handy_form/railtie.rb +2 -1
- data/lib/handy_form/version.rb +1 -1
- metadata +5 -4
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
HandyForm
|
2
|
+
=========
|
3
|
+
|
4
|
+
HandyForm is a form builder for Rails 3. It generates fields that include a label, a hint, and a validation.
|
5
|
+
|
6
|
+
Prerequisites
|
7
|
+
-------------
|
8
|
+
|
9
|
+
* A Rails 3 app
|
10
|
+
|
11
|
+
Install
|
12
|
+
-------
|
13
|
+
|
14
|
+
Add to <code>Gemfile</code>:
|
15
|
+
|
16
|
+
gem 'handy_form'
|
17
|
+
|
18
|
+
Then run:
|
19
|
+
|
20
|
+
bundle install
|
21
|
+
rake handy_form:css_install
|
22
|
+
|
23
|
+
|
data/handy_form.gemspec
CHANGED
@@ -7,7 +7,7 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
s.authors = ["Peter Bui"]
|
9
9
|
s.email = ["peter@paydrotalks.com"]
|
10
|
-
s.homepage = "http://
|
10
|
+
s.homepage = "http://github.com/paydro/handy_form"
|
11
11
|
s.summary = "A handy Rails 3 Form Builder"
|
12
12
|
s.description = "Builds forms with a standard template that has labels, hints, and validations"
|
13
13
|
|
data/lib/handy_form/builder.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
module HandyForm
|
2
2
|
class Builder < ::ActionView::Helpers::FormBuilder
|
3
|
-
(
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
(
|
4
|
+
# select tags need reworking - 3rd argument is specific to select
|
5
|
+
["select", "date_select", "datetime_select"] +
|
6
|
+
field_helpers -
|
7
|
+
["form_for", "fields_for", "apply_form_for_options!",
|
8
|
+
"label", "hidden_field"]
|
7
9
|
).each do |selector|
|
8
10
|
define_method(selector) do |method, *args|
|
9
11
|
options = args.extract_options!
|
@@ -29,7 +31,7 @@ module HandyForm
|
|
29
31
|
|
30
32
|
# Add the selector (input type) to the wrapper so that
|
31
33
|
# CSS rules can target the whole row.
|
32
|
-
add_selector_to_wrapper_class!(selector, handy_options)
|
34
|
+
add_selector_to_wrapper_class!(selector, method, handy_options)
|
33
35
|
|
34
36
|
# Add any error messages to handy options.
|
35
37
|
if object.errors[method.to_s].any?
|
@@ -102,11 +104,11 @@ module HandyForm
|
|
102
104
|
["check_box", "radio_button"].include?(selector.to_s)
|
103
105
|
end
|
104
106
|
|
105
|
-
def add_selector_to_wrapper_class!(selector, options = {})
|
107
|
+
def add_selector_to_wrapper_class!(selector, method, options = {})
|
106
108
|
options[:wrapper] ||= {}
|
107
109
|
|
108
110
|
# This allows for CSS targeting for selector types
|
109
|
-
options[:wrapper][:class] = "#{selector}_row " +
|
111
|
+
options[:wrapper][:class] = "#{selector}_row #{method}_row " +
|
110
112
|
"#{options[:wrapper][:class]}"
|
111
113
|
|
112
114
|
options[:wrapper][:class].strip!
|
data/lib/handy_form/railtie.rb
CHANGED
@@ -4,9 +4,10 @@ require 'rails'
|
|
4
4
|
module HandyForm
|
5
5
|
class Railtie < Rails::Railtie
|
6
6
|
initializer "handy_form.initializer" do |app|
|
7
|
-
|
7
|
+
ActionView::Base.class_eval do
|
8
8
|
include HandyForm::Helpers
|
9
9
|
end
|
10
|
+
ActionView::Base.field_error_proc = Proc.new { |tag, inst| tag }
|
10
11
|
end
|
11
12
|
|
12
13
|
rake_tasks do
|
data/lib/handy_form/version.rb
CHANGED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Peter Bui
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-20 00:00:00 -08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -58,6 +58,7 @@ extra_rdoc_files: []
|
|
58
58
|
files:
|
59
59
|
- .gitignore
|
60
60
|
- Gemfile
|
61
|
+
- README.md
|
61
62
|
- Rakefile
|
62
63
|
- TODO
|
63
64
|
- css/forms.css
|
@@ -69,7 +70,7 @@ files:
|
|
69
70
|
- lib/handy_form/tasks.rake
|
70
71
|
- lib/handy_form/version.rb
|
71
72
|
has_rdoc: true
|
72
|
-
homepage: http://
|
73
|
+
homepage: http://github.com/paydro/handy_form
|
73
74
|
licenses: []
|
74
75
|
|
75
76
|
post_install_message:
|