handy_form 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|