formatted_form 1.1.0 → 2.0.0
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/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 [](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
|