formatted_form 1.1.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +7 -0
- data/{LICENSE.txt → LICENSE} +1 -1
- data/README.md +121 -29
- data/Rakefile +29 -10
- data/VERSION +1 -1
- data/app/assets/javascripts/formatted_form.js +12 -0
- data/app/assets/stylesheets/formatted_form.css +0 -0
- data/app/views/formatted_form/_check_box.html.erb +1 -0
- data/app/views/formatted_form/_date_select.html.erb +1 -0
- data/app/views/formatted_form/_datetime_select.html.erb +1 -0
- data/app/views/formatted_form/_element.html.erb +1 -0
- data/app/views/formatted_form/_email_field.html.erb +1 -0
- data/app/views/formatted_form/_file_field.html.erb +1 -0
- data/app/views/formatted_form/_number_field.html.erb +1 -0
- data/app/views/formatted_form/_password_field.html.erb +1 -0
- data/app/views/formatted_form/_phone_field.html.erb +1 -0
- data/app/views/formatted_form/_radio_button.html.erb +1 -0
- data/app/views/formatted_form/_range_field.html.erb +1 -0
- data/app/views/formatted_form/_search_field.html.erb +1 -0
- data/app/views/formatted_form/_select.html.erb +1 -0
- data/app/views/formatted_form/_submit.html.erb +1 -0
- data/app/views/formatted_form/_telephone_field.html.erb +1 -0
- data/app/views/formatted_form/_text_area.html.erb +1 -0
- data/app/views/formatted_form/_text_field.html.erb +1 -0
- data/app/views/formatted_form/_time_select.html.erb +1 -0
- data/app/views/formatted_form/_time_zone_select.html.erb +1 -0
- data/app/views/formatted_form/templates/_choices.html.erb +35 -0
- data/app/views/formatted_form/templates/_field.html.erb +34 -0
- data/formatted_form.gemspec +76 -26
- data/lib/formatted_form/engine.rb +6 -11
- data/lib/formatted_form/form_builder.rb +125 -0
- data/lib/formatted_form/view_helper.rb +49 -0
- data/lib/formatted_form.rb +3 -20
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/mailers/.gitkeep +0 -0
- data/test/dummy/app/models/.gitkeep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +65 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +31 -0
- data/test/dummy/config/environments/production.rb +64 -0
- data/test/dummy/config/environments/test.rb +35 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +10 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +58 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/lib/assets/.gitkeep +0 -0
- data/test/dummy/log/.gitkeep +0 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/form_builder_test.rb +391 -0
- data/test/test_helper.rb +47 -0
- metadata +105 -25
- data/app/views/formatted_form/_check_box.html.haml +0 -14
- data/app/views/formatted_form/_default_field.html.haml +0 -17
- data/app/views/formatted_form/_radio_button.html.haml +0 -17
- data/app/views/formatted_form/_submit.html.haml +0 -3
- data/app/views/twitter_bootstrap/_check_box.html.haml +0 -18
- data/app/views/twitter_bootstrap/_default_field.html.haml +0 -10
- data/app/views/twitter_bootstrap/_radio_button.html.haml +0 -24
- data/app/views/twitter_bootstrap/_submit.html.haml +0 -3
- data/lib/formatted_form/builder.rb +0 -178
- data/lib/formatted_form/configuration.rb +0 -16
- data/lib/formatted_form/helper.rb +0 -10
- data/lib/generators/formatted_form/javascripts/javascripts_generator.rb +0 -11
- data/lib/generators/formatted_form/stylesheets/stylesheets_generator.rb +0 -11
- data/templates/javascripts/formatted_form.js +0 -17
- data/templates/stylesheets/formatted_form.sass +0 -121
data/Gemfile
ADDED
data/{LICENSE.txt → LICENSE}
RENAMED
data/README.md
CHANGED
@@ -1,46 +1,138 @@
|
|
1
|
-
# Formatted Form
|
2
|
-
Author: [The Working Group](http://www.theworkinggroup.ca)
|
1
|
+
# Formatted Form [![Build Status](https://secure.travis-ci.org/twg/formatted_form.png)](http://travis-ci.org/twg/formatted_form)
|
3
2
|
|
4
|
-
|
3
|
+
A Rails form builder that generates [Twitter Bootstrap](http://twitter.github.com/bootstrap) markup and helps keep your code clean.
|
5
4
|
|
6
|
-
|
5
|
+
* Uses existing Rails helpers
|
6
|
+
* Auto-generates labels
|
7
|
+
* Generates horizontal, vertical and inline forms
|
8
|
+
* Groups of checkboxes
|
9
|
+
* Groups of radio buttons
|
10
|
+
* Prevents double clicking on submit buttons
|
7
11
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
## Install
|
12
|
+
## Installation
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
config.gem 'form_builder'
|
16
|
-
|
17
|
-
### 2. From within your Rails project run:
|
14
|
+
Add gem definition to your Gemfile and run `bundle install`:
|
18
15
|
|
19
|
-
|
16
|
+
``` ruby
|
17
|
+
gem 'formatted_form'
|
18
|
+
```
|
20
19
|
|
21
|
-
|
20
|
+
Require it in your CSS and JS manifest files:
|
22
21
|
|
23
|
-
|
22
|
+
``` css
|
23
|
+
//= require formatted_form
|
24
|
+
```
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
javascript_include_tag 'formatted_form'
|
26
|
+
## Usage (with haml)
|
28
27
|
|
29
|
-
|
28
|
+
Use `formatted_form_for` when you want to render a form with Bootstrap markup.
|
30
29
|
|
31
|
-
|
30
|
+
### A sample user form
|
32
31
|
|
33
|
-
|
32
|
+
``` ruby
|
33
|
+
= formatted_form_for [:admin, @user] do |f|
|
34
|
+
= f.text_field :name
|
35
|
+
= f.number_field :age, nil, :in => 1...100
|
36
|
+
= f.email_field :email, :prepend => '@'
|
37
|
+
= f.phone_field :phone
|
38
|
+
= f.password_field :password
|
39
|
+
= f.password_field :password_confirmation
|
40
|
+
= f.select :role, User::ROLES
|
41
|
+
= f.time_zone_select :time_zone
|
42
|
+
= f.check_box :reminder, :label => 'Send Daily Reminder?'
|
43
|
+
= f.submit 'Save'
|
44
|
+
```
|
34
45
|
|
35
|
-
|
46
|
+
### A login form
|
36
47
|
|
48
|
+
Add a class to the form or any field to change the way it is rendered.
|
37
49
|
|
50
|
+
``` ruby
|
51
|
+
= formatted_form_for @session_user, :url => login_path, :class => 'form-horizontal' do |f|
|
52
|
+
= f.text_field :email
|
53
|
+
= f.password_field :password
|
54
|
+
= f.check_box :remember_me, :label => 'Remember me when I come back'
|
55
|
+
= f.submit 'Log In'
|
56
|
+
```
|
38
57
|
|
39
|
-
|
58
|
+
### A search form
|
59
|
+
|
60
|
+
Hide the label by passing `:label => ''` on any field. (Useful for inline search forms)
|
40
61
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
62
|
+
|
63
|
+
``` ruby
|
64
|
+
= formatted_form_for @search, :url => [:admin, :users], :html => {:method => :get, :class => 'form-search'} do |f|
|
65
|
+
= f.text_field :name_equals, :label => 'Find by', :placeholder => 'Name'
|
66
|
+
= f.select :role_equals, User::ROLES, :label => ''
|
67
|
+
= f.submit 'Search', :class => 'btn-default'
|
68
|
+
```
|
69
|
+
|
70
|
+
*(Example using [MetaSearch](https://github.com/ernie/meta_search) helpers)*
|
71
|
+
|
72
|
+
### Checkboxes
|
73
|
+
|
74
|
+
A single checkbox:
|
75
|
+
|
76
|
+
``` ruby
|
77
|
+
= f.check_box :send_reminder
|
78
|
+
```
|
79
|
+
|
80
|
+
A group of checkboxes:
|
46
81
|
|
82
|
+
``` ruby
|
83
|
+
= f.check_box :colours, :values => [['Red', 1], ['Green', 2], ['Blue', 3]]
|
84
|
+
```
|
85
|
+
|
86
|
+
Use the :help_block option to show the label on the right side:
|
87
|
+
|
88
|
+
``` ruby
|
89
|
+
= f.check_box :approved, :help_block => 'Label on the Right'
|
90
|
+
```
|
91
|
+
|
92
|
+
|
93
|
+
### Radio buttons
|
94
|
+
|
95
|
+
A single radio button:
|
96
|
+
|
97
|
+
``` ruby
|
98
|
+
= f.check_box :role, 'admin'
|
99
|
+
```
|
100
|
+
|
101
|
+
A group of radio buttons:
|
102
|
+
|
103
|
+
``` ruby
|
104
|
+
= f.radio_button :role, [['Admin', 1], ['Manager', 2], ['Editor', 3]]
|
105
|
+
```
|
106
|
+
|
107
|
+
### Submit
|
108
|
+
If you add 'formatted_builder' to your Javascript manifest you'll be able to add an extra `data-loading-text` option to submit buttons. This will prevent accidental multiple form submits.
|
109
|
+
|
110
|
+
``` ruby
|
111
|
+
= f.submit 'Log In', :data => {:loading_text => 'Saving ...'}
|
112
|
+
```
|
113
|
+
|
114
|
+
### More examples
|
115
|
+
|
116
|
+
Override the autogenerated label by using the `:label` option on any element.
|
117
|
+
|
118
|
+
``` ruby
|
119
|
+
= f.text_field :name, :label => 'Full name'
|
120
|
+
```
|
121
|
+
|
122
|
+
Use `:append` and `:prepend` on any field:
|
123
|
+
|
124
|
+
``` ruby
|
125
|
+
= f.text_field :price, :append => '.00'
|
126
|
+
= f.email_field :email, :prepend => '@'
|
127
|
+
```
|
128
|
+
|
129
|
+
Use `:help_block` to provide extra description to a fields:
|
130
|
+
|
131
|
+
``` ruby
|
132
|
+
= f.email_field :email, :help_block => 'Please enter your emails address'
|
133
|
+
```
|
134
|
+
|
135
|
+
---
|
136
|
+
|
137
|
+
Copyright 2012 Jack Neto, Oleg Khabarov, [The Working Group, Inc](http://twg.ca)
|
138
|
+
|
data/Rakefile
CHANGED
@@ -1,14 +1,33 @@
|
|
1
|
+
begin
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue LoadError
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
5
|
+
end
|
6
|
+
|
1
7
|
require 'rubygems'
|
2
8
|
require 'rake'
|
3
|
-
require 'jeweler'
|
4
9
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
begin
|
11
|
+
require 'jeweler'
|
12
|
+
Jeweler::Tasks.new do |gem|
|
13
|
+
gem.name = "formatted_form"
|
14
|
+
gem.homepage = "http://github.com/twg/formatted_form"
|
15
|
+
gem.license = "MIT"
|
16
|
+
gem.summary = "A Rails form builder that generates Twitter Bootstrap markup and helps keep your code clean"
|
17
|
+
gem.description = ''
|
18
|
+
gem.email = "jack@twg.ca"
|
19
|
+
gem.authors = ["Jack Neto", 'Oleg Khabarov', 'The Working Group Inc.']
|
20
|
+
end
|
21
|
+
Jeweler::RubygemsDotOrgTasks.new
|
22
|
+
rescue LoadError
|
23
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
24
|
+
end
|
25
|
+
|
26
|
+
require 'rake/testtask'
|
27
|
+
Rake::TestTask.new(:test) do |t|
|
28
|
+
t.libs << 'lib'
|
29
|
+
t.libs << 'test'
|
30
|
+
t.pattern = 'test/**/*_test.rb'
|
31
|
+
t.verbose = false
|
13
32
|
end
|
14
|
-
|
33
|
+
task :default => :test
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.0.0
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// Reset the state of the submit button
|
2
|
+
$(document).ready(function() {
|
3
|
+
|
4
|
+
$('input[type=submit][data-loading-text]').each(function(i, button){
|
5
|
+
$(button).button('reset');
|
6
|
+
});
|
7
|
+
|
8
|
+
$('form').on('submit', function(event){
|
9
|
+
$('input[type=submit][data-loading-text]', event.target).button('loading');
|
10
|
+
});
|
11
|
+
|
12
|
+
});
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/choices', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/choices', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= options[:content] %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render :partial => 'formatted_form/templates/field', :locals => {:options => options} %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<%
|
2
|
+
control_group_class = 'control-group'
|
3
|
+
control_group_class << " cg-#{options[:method].to_s.dasherize}" if options[:method]
|
4
|
+
control_group_class << ' error' if options[:errors]
|
5
|
+
%>
|
6
|
+
|
7
|
+
<%= content_tag(:div, :class => control_group_class) do %>
|
8
|
+
|
9
|
+
<% unless options[:label] == '' %>
|
10
|
+
<%= content_tag(:div, :class => 'control-label') do %>
|
11
|
+
<% if options[:choices].size == 1 %>
|
12
|
+
<%= options[:builder].label(options[:method], options[:label]) %>
|
13
|
+
<% else %>
|
14
|
+
<%= options[:label] || options[:method].to_s.humanize %>
|
15
|
+
<% end %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<%= content_tag(:div, :class => 'controls') do %>
|
20
|
+
<% options[:choices].each do |field, label, inline| %>
|
21
|
+
<% if options[:choices].size == 1 %>
|
22
|
+
<%= field %>
|
23
|
+
<% else%>
|
24
|
+
<% label_class = options[:field_name].to_s.gsub(/(_button$|_)/, '') %>
|
25
|
+
<% label_class << ' inline' if inline %>
|
26
|
+
<%= content_tag(:label, :class => label_class) do %>
|
27
|
+
<%= field %><%= label %>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
<%= content_tag(:span, options[:errors], :class => 'help-inline') if options[:errors] %>
|
32
|
+
<%= content_tag(:span, options[:help_block], :class => 'help-block') if options[:help_block] %>
|
33
|
+
<% end %>
|
34
|
+
|
35
|
+
<% end %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<%
|
2
|
+
inline_form = [:inline, :search].member?(options[:builder].options[:type])
|
3
|
+
|
4
|
+
control_group_class = 'control-group'
|
5
|
+
control_group_class << " cg-#{options[:method].to_s.dasherize}" if options[:method]
|
6
|
+
control_group_class << ' error' if options[:errors]
|
7
|
+
|
8
|
+
if ([:prepend, :append, :prepend_html, :append_html] & options.keys).present?
|
9
|
+
wrapper_class = "#{wrapper_class} input-prepend".strip if options[:prepend] || options[:prepend_html]
|
10
|
+
wrapper_class = "#{wrapper_class} input-append".strip if options[:append] || options[:append_html]
|
11
|
+
end
|
12
|
+
%>
|
13
|
+
|
14
|
+
<%= content_tag_unless(inline_form, :div, :class => control_group_class) do %>
|
15
|
+
|
16
|
+
<% unless ['', false].include?(options[:label]) %>
|
17
|
+
<%= options[:builder].label(options[:method], options[:label], :class => 'control-label') %>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
<%= content_tag_unless(inline_form, :div, :class => 'controls') do %>
|
21
|
+
|
22
|
+
<%= content_tag_if(wrapper_class, :div, :class => wrapper_class) do %>
|
23
|
+
<%= options[:prepend_html].html_safe if options[:prepend_html] %>
|
24
|
+
<%= content_tag(:span, options[:prepend], :class => 'add-on') if options[:prepend] %>
|
25
|
+
<%= options[:content] %>
|
26
|
+
<%= content_tag(:span, options[:append], :class => 'add-on') if options[:append] %>
|
27
|
+
<%= options[:append_html].html_safe if options[:append_html] %>
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
<%= content_tag(:span, options[:errors], :class => 'help-inline') if options[:errors] %>
|
31
|
+
<%= content_tag(:span, options[:help_block], :class => 'help-block') if options[:help_block] %>
|
32
|
+
<% end %>
|
33
|
+
|
34
|
+
<% end %>
|
data/formatted_form.gemspec
CHANGED
@@ -4,55 +4,105 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "
|
7
|
+
s.name = "formatted_form"
|
8
|
+
s.version = "2.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Jack Neto"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
11
|
+
s.authors = ["Jack Neto", "Oleg Khabarov", "The Working Group Inc."]
|
12
|
+
s.date = "2012-12-03"
|
13
|
+
s.description = ""
|
14
|
+
s.email = "jack@twg.ca"
|
15
15
|
s.extra_rdoc_files = [
|
16
|
-
"LICENSE
|
16
|
+
"LICENSE",
|
17
17
|
"README.md"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
|
-
"
|
20
|
+
"Gemfile",
|
21
|
+
"LICENSE",
|
21
22
|
"README.md",
|
22
23
|
"Rakefile",
|
23
24
|
"VERSION",
|
24
|
-
"app/
|
25
|
-
"app/
|
26
|
-
"app/views/formatted_form/
|
27
|
-
"app/views/formatted_form/
|
28
|
-
"app/views/
|
29
|
-
"app/views/
|
30
|
-
"app/views/
|
31
|
-
"app/views/
|
25
|
+
"app/assets/javascripts/formatted_form.js",
|
26
|
+
"app/assets/stylesheets/formatted_form.css",
|
27
|
+
"app/views/formatted_form/_check_box.html.erb",
|
28
|
+
"app/views/formatted_form/_date_select.html.erb",
|
29
|
+
"app/views/formatted_form/_datetime_select.html.erb",
|
30
|
+
"app/views/formatted_form/_element.html.erb",
|
31
|
+
"app/views/formatted_form/_email_field.html.erb",
|
32
|
+
"app/views/formatted_form/_file_field.html.erb",
|
33
|
+
"app/views/formatted_form/_number_field.html.erb",
|
34
|
+
"app/views/formatted_form/_password_field.html.erb",
|
35
|
+
"app/views/formatted_form/_phone_field.html.erb",
|
36
|
+
"app/views/formatted_form/_radio_button.html.erb",
|
37
|
+
"app/views/formatted_form/_range_field.html.erb",
|
38
|
+
"app/views/formatted_form/_search_field.html.erb",
|
39
|
+
"app/views/formatted_form/_select.html.erb",
|
40
|
+
"app/views/formatted_form/_submit.html.erb",
|
41
|
+
"app/views/formatted_form/_telephone_field.html.erb",
|
42
|
+
"app/views/formatted_form/_text_area.html.erb",
|
43
|
+
"app/views/formatted_form/_text_field.html.erb",
|
44
|
+
"app/views/formatted_form/_time_select.html.erb",
|
45
|
+
"app/views/formatted_form/_time_zone_select.html.erb",
|
46
|
+
"app/views/formatted_form/templates/_choices.html.erb",
|
47
|
+
"app/views/formatted_form/templates/_field.html.erb",
|
32
48
|
"formatted_form.gemspec",
|
33
49
|
"lib/formatted_form.rb",
|
34
|
-
"lib/formatted_form/builder.rb",
|
35
|
-
"lib/formatted_form/configuration.rb",
|
36
50
|
"lib/formatted_form/engine.rb",
|
37
|
-
"lib/formatted_form/
|
38
|
-
"lib/
|
39
|
-
"
|
40
|
-
"
|
41
|
-
"
|
51
|
+
"lib/formatted_form/form_builder.rb",
|
52
|
+
"lib/formatted_form/view_helper.rb",
|
53
|
+
"test/dummy/README.rdoc",
|
54
|
+
"test/dummy/Rakefile",
|
55
|
+
"test/dummy/app/assets/javascripts/application.js",
|
56
|
+
"test/dummy/app/assets/stylesheets/application.css",
|
57
|
+
"test/dummy/app/controllers/application_controller.rb",
|
58
|
+
"test/dummy/app/helpers/application_helper.rb",
|
59
|
+
"test/dummy/app/mailers/.gitkeep",
|
60
|
+
"test/dummy/app/models/.gitkeep",
|
61
|
+
"test/dummy/app/views/layouts/application.html.erb",
|
62
|
+
"test/dummy/config.ru",
|
63
|
+
"test/dummy/config/application.rb",
|
64
|
+
"test/dummy/config/boot.rb",
|
65
|
+
"test/dummy/config/environment.rb",
|
66
|
+
"test/dummy/config/environments/development.rb",
|
67
|
+
"test/dummy/config/environments/production.rb",
|
68
|
+
"test/dummy/config/environments/test.rb",
|
69
|
+
"test/dummy/config/initializers/backtrace_silencers.rb",
|
70
|
+
"test/dummy/config/initializers/inflections.rb",
|
71
|
+
"test/dummy/config/initializers/mime_types.rb",
|
72
|
+
"test/dummy/config/initializers/secret_token.rb",
|
73
|
+
"test/dummy/config/initializers/session_store.rb",
|
74
|
+
"test/dummy/config/initializers/wrap_parameters.rb",
|
75
|
+
"test/dummy/config/locales/en.yml",
|
76
|
+
"test/dummy/config/routes.rb",
|
77
|
+
"test/dummy/lib/assets/.gitkeep",
|
78
|
+
"test/dummy/log/.gitkeep",
|
79
|
+
"test/dummy/public/404.html",
|
80
|
+
"test/dummy/public/422.html",
|
81
|
+
"test/dummy/public/500.html",
|
82
|
+
"test/dummy/public/favicon.ico",
|
83
|
+
"test/dummy/script/rails",
|
84
|
+
"test/form_builder_test.rb",
|
85
|
+
"test/test_helper.rb"
|
42
86
|
]
|
43
|
-
s.homepage =
|
87
|
+
s.homepage = "http://github.com/twg/formatted_form"
|
44
88
|
s.licenses = ["MIT"]
|
45
89
|
s.require_paths = ["lib"]
|
46
|
-
s.rubygems_version =
|
47
|
-
s.summary =
|
90
|
+
s.rubygems_version = "1.8.23"
|
91
|
+
s.summary = "A Rails form builder that generates Twitter Bootstrap markup and helps keep your code clean"
|
48
92
|
|
49
93
|
if s.respond_to? :specification_version then
|
50
94
|
s.specification_version = 3
|
51
95
|
|
52
96
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
97
|
+
s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
|
98
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
53
99
|
else
|
100
|
+
s.add_dependency(%q<rails>, [">= 3.1.0"])
|
101
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
54
102
|
end
|
55
103
|
else
|
104
|
+
s.add_dependency(%q<rails>, [">= 3.1.0"])
|
105
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
56
106
|
end
|
57
107
|
end
|
58
108
|
|
@@ -1,17 +1,12 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'rails'
|
2
|
+
require 'formatted_form'
|
3
3
|
|
4
4
|
module FormattedForm
|
5
5
|
class Engine < Rails::Engine
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
# Removing field_with_errors div araound elemetns with errors
|
11
|
-
if FormattedForm.config.template == :twitter_bootstrap
|
12
|
-
ActionView::Base.field_error_proc = proc { |input, instance| input }
|
13
|
-
end
|
6
|
+
initializer 'helper' do |app|
|
7
|
+
ActionView::Base.send(:include, FormattedForm::ViewHelper)
|
8
|
+
# Remove field_with_errors div around elements with errors
|
9
|
+
ActionView::Base.field_error_proc = proc { |input, instance| input }
|
14
10
|
end
|
15
|
-
|
16
11
|
end
|
17
12
|
end
|