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 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://rubygems.org/gems/handy_form"
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
 
@@ -1,9 +1,11 @@
1
1
  module HandyForm
2
2
  class Builder < ::ActionView::Helpers::FormBuilder
3
- (field_helpers -
4
- ["form_for", "fields_for",
5
- "apply_form_for_options!", "label",
6
- "hidden_field"]
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!
@@ -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
- ::ActionView::Base.class_eval do
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
@@ -1,3 +1,3 @@
1
1
  module HandyForm
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
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-13 00:00:00 -08:00
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://rubygems.org/gems/handy_form
73
+ homepage: http://github.com/paydro/handy_form
73
74
  licenses: []
74
75
 
75
76
  post_install_message: