formtastic 1.2.4 → 3.1.5

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.
Files changed (189) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +46 -0
  5. data/.yardopts +1 -0
  6. data/Appraisals +43 -0
  7. data/CHANGELOG +54 -0
  8. data/DEPRECATIONS +52 -0
  9. data/Gemfile +3 -0
  10. data/README.md +629 -0
  11. data/RELEASE_PROCESS +6 -0
  12. data/Rakefile +35 -0
  13. data/app/assets/stylesheets/formtastic.css +289 -0
  14. data/app/assets/stylesheets/formtastic_ie6.css +33 -0
  15. data/app/assets/stylesheets/formtastic_ie7.css +23 -0
  16. data/formtastic.gemspec +42 -0
  17. data/gemfiles/rails_3.2.gemfile +9 -0
  18. data/gemfiles/rails_4.0.4.gemfile +8 -0
  19. data/gemfiles/rails_4.1.gemfile +8 -0
  20. data/gemfiles/rails_4.2.gemfile +8 -0
  21. data/gemfiles/rails_4.gemfile +8 -0
  22. data/gemfiles/rails_5.0.gemfile +8 -0
  23. data/gemfiles/rails_edge.gemfile +15 -0
  24. data/lib/formtastic.rb +40 -1945
  25. data/lib/formtastic/action_class_finder.rb +18 -0
  26. data/lib/formtastic/actions.rb +11 -0
  27. data/lib/formtastic/actions/base.rb +156 -0
  28. data/lib/formtastic/actions/button_action.rb +67 -0
  29. data/lib/formtastic/actions/buttonish.rb +17 -0
  30. data/lib/formtastic/actions/input_action.rb +70 -0
  31. data/lib/formtastic/actions/link_action.rb +88 -0
  32. data/lib/formtastic/deprecation.rb +42 -0
  33. data/lib/formtastic/engine.rb +11 -0
  34. data/lib/formtastic/form_builder.rb +124 -0
  35. data/lib/formtastic/helpers.rb +16 -0
  36. data/lib/formtastic/helpers/action_helper.rb +162 -0
  37. data/lib/formtastic/helpers/actions_helper.rb +168 -0
  38. data/lib/formtastic/helpers/enum.rb +13 -0
  39. data/lib/formtastic/helpers/errors_helper.rb +81 -0
  40. data/lib/formtastic/helpers/fieldset_wrapper.rb +80 -0
  41. data/lib/formtastic/helpers/file_column_detection.rb +16 -0
  42. data/lib/formtastic/helpers/form_helper.rb +203 -0
  43. data/lib/formtastic/helpers/input_helper.rb +407 -0
  44. data/lib/formtastic/helpers/inputs_helper.rb +411 -0
  45. data/lib/formtastic/helpers/reflection.rb +37 -0
  46. data/lib/formtastic/html_attributes.rb +32 -0
  47. data/lib/formtastic/i18n.rb +4 -2
  48. data/lib/formtastic/input_class_finder.rb +18 -0
  49. data/lib/formtastic/inputs.rb +39 -0
  50. data/lib/formtastic/inputs/base.rb +76 -0
  51. data/lib/formtastic/inputs/base/associations.rb +31 -0
  52. data/lib/formtastic/inputs/base/choices.rb +108 -0
  53. data/lib/formtastic/inputs/base/collections.rb +159 -0
  54. data/lib/formtastic/inputs/base/database.rb +22 -0
  55. data/lib/formtastic/inputs/base/datetime_pickerish.rb +85 -0
  56. data/lib/formtastic/inputs/base/errors.rb +58 -0
  57. data/lib/formtastic/inputs/base/fileish.rb +23 -0
  58. data/lib/formtastic/inputs/base/hints.rb +31 -0
  59. data/lib/formtastic/inputs/base/html.rb +53 -0
  60. data/lib/formtastic/inputs/base/labelling.rb +52 -0
  61. data/lib/formtastic/inputs/base/naming.rb +42 -0
  62. data/lib/formtastic/inputs/base/numeric.rb +50 -0
  63. data/lib/formtastic/inputs/base/options.rb +17 -0
  64. data/lib/formtastic/inputs/base/placeholder.rb +17 -0
  65. data/lib/formtastic/inputs/base/stringish.rb +38 -0
  66. data/lib/formtastic/inputs/base/timeish.rb +241 -0
  67. data/lib/formtastic/inputs/base/validations.rb +215 -0
  68. data/lib/formtastic/inputs/base/wrapping.rb +50 -0
  69. data/lib/formtastic/inputs/boolean_input.rb +118 -0
  70. data/lib/formtastic/inputs/check_boxes_input.rb +197 -0
  71. data/lib/formtastic/inputs/color_input.rb +42 -0
  72. data/lib/formtastic/inputs/country_input.rb +86 -0
  73. data/lib/formtastic/inputs/datalist_input.rb +41 -0
  74. data/lib/formtastic/inputs/date_picker_input.rb +93 -0
  75. data/lib/formtastic/inputs/date_select_input.rb +34 -0
  76. data/lib/formtastic/inputs/datetime_picker_input.rb +103 -0
  77. data/lib/formtastic/inputs/datetime_select_input.rb +12 -0
  78. data/lib/formtastic/inputs/email_input.rb +41 -0
  79. data/lib/formtastic/inputs/file_input.rb +42 -0
  80. data/lib/formtastic/inputs/hidden_input.rb +62 -0
  81. data/lib/formtastic/inputs/number_input.rb +88 -0
  82. data/lib/formtastic/inputs/password_input.rb +41 -0
  83. data/lib/formtastic/inputs/phone_input.rb +42 -0
  84. data/lib/formtastic/inputs/radio_input.rb +163 -0
  85. data/lib/formtastic/inputs/range_input.rb +95 -0
  86. data/lib/formtastic/inputs/search_input.rb +41 -0
  87. data/lib/formtastic/inputs/select_input.rb +235 -0
  88. data/lib/formtastic/inputs/string_input.rb +36 -0
  89. data/lib/formtastic/inputs/text_input.rb +48 -0
  90. data/lib/formtastic/inputs/time_picker_input.rb +99 -0
  91. data/lib/formtastic/inputs/time_select_input.rb +38 -0
  92. data/lib/formtastic/inputs/time_zone_input.rb +58 -0
  93. data/lib/formtastic/inputs/url_input.rb +41 -0
  94. data/lib/formtastic/localized_string.rb +17 -0
  95. data/lib/formtastic/localizer.rb +152 -0
  96. data/lib/formtastic/namespaced_class_finder.rb +99 -0
  97. data/lib/formtastic/util.rb +35 -16
  98. data/lib/formtastic/version.rb +3 -0
  99. data/lib/generators/formtastic/form/form_generator.rb +64 -37
  100. data/lib/generators/formtastic/input/input_generator.rb +46 -0
  101. data/lib/generators/formtastic/install/install_generator.rb +13 -5
  102. data/lib/generators/templates/_form.html.erb +10 -4
  103. data/lib/generators/templates/_form.html.haml +8 -4
  104. data/lib/generators/templates/_form.html.slim +8 -0
  105. data/lib/generators/templates/formtastic.rb +77 -44
  106. data/lib/generators/templates/input.rb +19 -0
  107. data/lib/locale/en.yml +3 -0
  108. data/sample/basic_inputs.html +224 -0
  109. data/sample/config.ru +69 -0
  110. data/sample/index.html +14 -0
  111. data/spec/action_class_finder_spec.rb +12 -0
  112. data/spec/actions/button_action_spec.rb +63 -0
  113. data/spec/actions/generic_action_spec.rb +521 -0
  114. data/spec/actions/input_action_spec.rb +59 -0
  115. data/spec/actions/link_action_spec.rb +92 -0
  116. data/spec/builder/custom_builder_spec.rb +116 -0
  117. data/spec/builder/error_proc_spec.rb +27 -0
  118. data/spec/builder/semantic_fields_for_spec.rb +142 -0
  119. data/spec/fast_spec_helper.rb +12 -0
  120. data/spec/generators/formtastic/form/form_generator_spec.rb +131 -0
  121. data/spec/generators/formtastic/input/input_generator_spec.rb +124 -0
  122. data/spec/generators/formtastic/install/install_generator_spec.rb +47 -0
  123. data/spec/helpers/action_helper_spec.rb +19 -0
  124. data/spec/helpers/actions_helper_spec.rb +143 -0
  125. data/spec/helpers/form_helper_spec.rb +218 -0
  126. data/spec/helpers/input_helper_spec.rb +6 -0
  127. data/spec/helpers/inputs_helper_spec.rb +655 -0
  128. data/spec/helpers/namespaced_action_helper_spec.rb +43 -0
  129. data/spec/helpers/namespaced_input_helper_spec.rb +36 -0
  130. data/spec/helpers/reflection_helper_spec.rb +32 -0
  131. data/spec/helpers/semantic_errors_helper_spec.rb +112 -0
  132. data/spec/i18n_spec.rb +210 -0
  133. data/spec/input_class_finder_spec.rb +10 -0
  134. data/spec/inputs/base/collections_spec.rb +76 -0
  135. data/spec/inputs/base/validations_spec.rb +342 -0
  136. data/spec/inputs/boolean_input_spec.rb +254 -0
  137. data/spec/inputs/check_boxes_input_spec.rb +546 -0
  138. data/spec/inputs/color_input_spec.rb +97 -0
  139. data/spec/inputs/country_input_spec.rb +133 -0
  140. data/spec/inputs/custom_input_spec.rb +55 -0
  141. data/spec/inputs/datalist_input_spec.rb +61 -0
  142. data/spec/inputs/date_picker_input_spec.rb +449 -0
  143. data/spec/inputs/date_select_input_spec.rb +235 -0
  144. data/spec/inputs/datetime_picker_input_spec.rb +490 -0
  145. data/spec/inputs/datetime_select_input_spec.rb +193 -0
  146. data/spec/inputs/email_input_spec.rb +85 -0
  147. data/spec/inputs/file_input_spec.rb +89 -0
  148. data/spec/inputs/hidden_input_spec.rb +135 -0
  149. data/spec/inputs/include_blank_spec.rb +78 -0
  150. data/spec/inputs/label_spec.rb +149 -0
  151. data/spec/inputs/number_input_spec.rb +815 -0
  152. data/spec/inputs/password_input_spec.rb +99 -0
  153. data/spec/inputs/phone_input_spec.rb +85 -0
  154. data/spec/inputs/placeholder_spec.rb +71 -0
  155. data/spec/inputs/radio_input_spec.rb +328 -0
  156. data/spec/inputs/range_input_spec.rb +505 -0
  157. data/spec/inputs/readonly_spec.rb +50 -0
  158. data/spec/inputs/search_input_spec.rb +84 -0
  159. data/spec/inputs/select_input_spec.rb +615 -0
  160. data/spec/inputs/string_input_spec.rb +260 -0
  161. data/spec/inputs/text_input_spec.rb +187 -0
  162. data/spec/inputs/time_picker_input_spec.rb +455 -0
  163. data/spec/inputs/time_select_input_spec.rb +248 -0
  164. data/spec/inputs/time_zone_input_spec.rb +143 -0
  165. data/spec/inputs/url_input_spec.rb +85 -0
  166. data/spec/inputs/with_options_spec.rb +43 -0
  167. data/spec/localizer_spec.rb +130 -0
  168. data/spec/namespaced_class_finder_spec.rb +79 -0
  169. data/spec/spec.opts +2 -0
  170. data/spec/spec_helper.rb +525 -0
  171. data/spec/support/custom_macros.rb +564 -0
  172. data/spec/support/deprecation.rb +6 -0
  173. data/spec/support/shared_examples.rb +1313 -0
  174. data/spec/support/specialized_class_finder_shared_example.rb +27 -0
  175. data/spec/support/test_environment.rb +31 -0
  176. data/spec/util_spec.rb +66 -0
  177. metadata +434 -161
  178. data/README.textile +0 -682
  179. data/generators/form/USAGE +0 -16
  180. data/generators/form/form_generator.rb +0 -111
  181. data/generators/formtastic/formtastic_generator.rb +0 -26
  182. data/init.rb +0 -5
  183. data/lib/formtastic/layout_helper.rb +0 -12
  184. data/lib/formtastic/railtie.rb +0 -14
  185. data/lib/generators/templates/formtastic.css +0 -145
  186. data/lib/generators/templates/formtastic_changes.css +0 -14
  187. data/lib/generators/templates/rails2/_form.html.erb +0 -5
  188. data/lib/generators/templates/rails2/_form.html.haml +0 -4
  189. data/rails/init.rb +0 -2
data/RELEASE_PROCESS ADDED
@@ -0,0 +1,6 @@
1
+ # edit version.rb
2
+ git ci -am "version bump" # commit changes
3
+ git tag X.X.X # tag the new version in the code base too
4
+ gem build formtastic.gemspec # build the gem
5
+ gem push formtastic-X.X.X.gem # publish the gem
6
+ git push && git push --tags # push to remote
data/Rakefile ADDED
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+ require 'bundler/setup'
3
+ require 'appraisal'
4
+ require 'yard'
5
+ require 'rspec/core/rake_task'
6
+
7
+ Bundler::GemHelper.install_tasks
8
+
9
+ desc 'Default: run unit specs.'
10
+ if !ENV["APPRAISAL_INITIALIZED"] && !ENV["TRAVIS"]
11
+ task :default => :appraisal
12
+ else
13
+ task :default => :spec
14
+ end
15
+
16
+ desc 'Generate documentation for the formtastic plugin.'
17
+ YARD::Rake::YardocTask.new(:yard) do |t|
18
+
19
+ end
20
+ task doc: :yard
21
+
22
+ desc 'Test the formtastic plugin.'
23
+ RSpec::Core::RakeTask.new('spec') do |t|
24
+ t.pattern = FileList['spec/**/*_spec.rb']
25
+ end
26
+
27
+ desc 'Test the formtastic inputs.'
28
+ RSpec::Core::RakeTask.new('spec:inputs') do |t|
29
+ t.pattern = FileList['spec/inputs/*_spec.rb']
30
+ end
31
+
32
+ desc 'Test the formtastic plugin with specdoc formatting and colors'
33
+ RSpec::Core::RakeTask.new('specdoc') do |t|
34
+ t.pattern = FileList['spec/**/*_spec.rb']
35
+ end
@@ -0,0 +1,289 @@
1
+ /* -------------------------------------------------------------------------------------------------
2
+
3
+ It's *strongly* suggested that you don't modify this file. Instead, load a new stylesheet after
4
+ this one in your layouts (eg formtastic_changes.css) and override the styles to suit your needs.
5
+ This will allow you to update formtastic.css with new releases without clobbering your own changes.
6
+
7
+ This stylesheet forms part of the Formtastic Rails Plugin
8
+ (c) 2008-2011 Justin French
9
+
10
+ --------------------------------------------------------------------------------------------------*/
11
+
12
+ /* NORMALIZE AND RESET - obviously inspired by Yahoo's reset.css, but scoped to just .formtastic
13
+ --------------------------------------------------------------------------------------------------*/
14
+ .formtastic,
15
+ .formtastic ul,
16
+ .formtastic ol,
17
+ .formtastic li,
18
+ .formtastic fieldset,
19
+ .formtastic legend,
20
+ .formtastic input,
21
+ .formtastic button,
22
+ .formtastic textarea,
23
+ .formtastic select,
24
+ .formtastic p {
25
+ margin:0;
26
+ padding:0;
27
+ }
28
+
29
+ .formtastic fieldset {
30
+ border:0;
31
+ }
32
+
33
+ .formtastic em,
34
+ .formtastic strong {
35
+ font-style:normal;
36
+ font-weight:normal;
37
+ }
38
+
39
+ .formtastic ol,
40
+ .formtastic ul {
41
+ list-style:none;
42
+ }
43
+
44
+ .formtastic abbr,
45
+ .formtastic acronym {
46
+ border:0;
47
+ font-variant:normal;
48
+ }
49
+
50
+ .formtastic input,
51
+ .formtastic button,
52
+ .formtastic textarea {
53
+ font-family:sans-serif;
54
+ font-size:inherit;
55
+ font-weight:inherit;
56
+ }
57
+
58
+ .formtastic input,
59
+ .formtastic textarea,
60
+ .formtastic select {
61
+ font-size:100%;
62
+ }
63
+
64
+ .formtastic legend {
65
+ white-space:normal;
66
+ color:#000;
67
+ }
68
+
69
+
70
+ /* SEMANTIC ERRORS
71
+ --------------------------------------------------------------------------------------------------*/
72
+ .formtastic .errors {
73
+ color:#cc0000;
74
+ margin:0.5em 0 1.5em 25%;
75
+ list-style:square;
76
+ }
77
+
78
+ .formtastic .errors li {
79
+ padding:0;
80
+ border:none;
81
+ display:list-item;
82
+ }
83
+
84
+
85
+ /* BUTTONS & ACTIONS
86
+ --------------------------------------------------------------------------------------------------*/
87
+ .formtastic .buttons,
88
+ .formtastic .actions {
89
+ overflow:hidden; /* clear containing floats */
90
+ padding-left:25%;
91
+ }
92
+
93
+ .formtastic .button,
94
+ .formtastic .action {
95
+ float:left;
96
+ padding-right:0.5em;
97
+ }
98
+
99
+ .formtastic .button_action button {
100
+ padding:3px 8px;
101
+ }
102
+
103
+ .formtastic .link_action a {
104
+ display:block;
105
+ padding:3px 0;
106
+ }
107
+
108
+
109
+ /* INPUTS
110
+ --------------------------------------------------------------------------------------------------*/
111
+ .formtastic .inputs {
112
+ overflow:hidden; /* clear containing floats */
113
+ }
114
+
115
+ .formtastic .input {
116
+ overflow:hidden; /* clear containing floats */
117
+ padding:0.5em 0; /* padding and negative margin juggling is for Firefox */
118
+ margin-top:-0.5em;
119
+ margin-bottom:1em;
120
+ }
121
+
122
+
123
+ /* LEFT ALIGNED LABELS
124
+ --------------------------------------------------------------------------------------------------*/
125
+ .formtastic .input .label {
126
+ display:block;
127
+ width:25%;
128
+ float:left;
129
+ padding-top:.2em;
130
+ }
131
+
132
+ .formtastic .fragments .label,
133
+ .formtastic .choices .label {
134
+ position:absolute;
135
+ width:95%;
136
+ left:0px;
137
+ }
138
+
139
+ .formtastic .fragments .label label,
140
+ .formtastic .choices .label label {
141
+ position:absolute;
142
+ }
143
+
144
+ /* NESTED FIELDSETS AND LEGENDS (radio, check boxes and date/time inputs use nested fieldsets)
145
+ --------------------------------------------------------------------------------------------------*/
146
+ .formtastic .choices {
147
+ position:relative;
148
+ }
149
+
150
+ .formtastic .choices-group {
151
+ float:left;
152
+ width:74%;
153
+ margin:0;
154
+ padding:0 0 0 25%;
155
+ }
156
+
157
+ .formtastic .choice {
158
+ padding:0;
159
+ border:0;
160
+ }
161
+
162
+
163
+ /* INLINE HINTS
164
+ --------------------------------------------------------------------------------------------------*/
165
+ .formtastic .input .inline-hints {
166
+ color:#666;
167
+ margin:0.5em 0 0 25%;
168
+ }
169
+
170
+
171
+ /* INLINE ERRORS
172
+ --------------------------------------------------------------------------------------------------*/
173
+ .formtastic .inline-errors {
174
+ color:#cc0000;
175
+ margin:0.5em 0 0 25%;
176
+ }
177
+
178
+ .formtastic .errors {
179
+ color:#cc0000;
180
+ margin:0.5em 0 0 25%;
181
+ list-style:square;
182
+ }
183
+
184
+ .formtastic .errors li {
185
+ padding:0;
186
+ border:none;
187
+ display:list-item;
188
+ }
189
+
190
+
191
+ /* STRING, NUMERIC, PASSWORD, EMAIL, URL, PHONE, SEARCH (ETC) OVERRIDES
192
+ --------------------------------------------------------------------------------------------------*/
193
+ .formtastic .stringish input {
194
+ width:72%;
195
+ }
196
+
197
+ .formtastic .stringish input[size],
198
+ .formtastic .stringish input[max] {
199
+ width:auto;
200
+ max-width:72%;
201
+ }
202
+
203
+
204
+ /* TEXTAREA OVERRIDES
205
+ --------------------------------------------------------------------------------------------------*/
206
+ .formtastic .text textarea {
207
+ width:72%;
208
+ }
209
+
210
+ .formtastic .text textarea[cols] {
211
+ width:auto;
212
+ max-width:72%;
213
+ }
214
+
215
+
216
+ /* HIDDEN OVERRIDES
217
+ --------------------------------------------------------------------------------------------------*/
218
+ .formtastic .hidden {
219
+ display:none;
220
+ }
221
+
222
+
223
+ /* BOOLEAN LABELS
224
+ --------------------------------------------------------------------------------------------------*/
225
+ .formtastic .boolean label {
226
+ padding-left:25%;
227
+ display:block;
228
+ }
229
+
230
+
231
+ /* CHOICE GROUPS
232
+ --------------------------------------------------------------------------------------------------*/
233
+ .formtastic .choices-group {
234
+ margin-bottom:-0.5em;
235
+ }
236
+
237
+ .formtastic .choice {
238
+ margin:0.1em 0 0.5em 0;
239
+ }
240
+
241
+ .formtastic .choice label {
242
+ float:none;
243
+ width:100%;
244
+ line-height:100%;
245
+ padding-top:0;
246
+ margin-bottom:0.6em;
247
+ }
248
+
249
+
250
+ /* ADJUSTMENTS FOR INPUTS INSIDE LABELS (boolean input, radio input, check_boxes input)
251
+ --------------------------------------------------------------------------------------------------*/
252
+ .formtastic .choice label input,
253
+ .formtastic .boolean label input {
254
+ margin:0 0.3em 0 0.1em;
255
+ line-height:100%;
256
+ }
257
+
258
+
259
+ /* FRAGMENTED INPUTS (DATE/TIME/DATETIME)
260
+ --------------------------------------------------------------------------------------------------*/
261
+ .formtastic .fragments {
262
+ position:relative;
263
+ }
264
+
265
+ .formtastic .fragments-group {
266
+ float:left;
267
+ width:74%;
268
+ margin:0;
269
+ padding:0 0 0 25%;
270
+ }
271
+
272
+ .formtastic .fragment {
273
+ float:left;
274
+ width:auto;
275
+ margin:0 .3em 0 0;
276
+ padding:0;
277
+ border:0;
278
+ }
279
+
280
+ .formtastic .fragment label {
281
+ display:none;
282
+ }
283
+
284
+ .formtastic .fragment label input {
285
+ display:inline;
286
+ margin:0;
287
+ padding:0;
288
+ }
289
+
@@ -0,0 +1,33 @@
1
+ /* additional stylesheets only for IE6, if you wish to support it */
2
+
3
+ /* legend labels apper to have a left margin or padding I couldn't get rid of cleanly in main stylesheet */
4
+ .formtastic .input fieldset legend.label {
5
+ margin-left:-7px;
6
+ }
7
+
8
+ /* checkbox and radio inputs appear to have a margin around them that I couldn't remove in main stylesheet */
9
+ .formtastic .choice label input,
10
+ .formtastic .boolean label input {
11
+ position:relative;
12
+ left:-1px;
13
+ size:15px;
14
+ margin-left:0;
15
+ margin-right:0;
16
+ }
17
+
18
+ /* inline hints and errors appear a few pixel too far over to the left */
19
+ .formtastic .inline-hints,
20
+ .formtastic .inline-errors {
21
+ padding-left:3px;
22
+ }
23
+
24
+ /* fragment (eg year, month, day) appear a few pixels too far to the left*/
25
+ .formtastic .fragment {
26
+ padding-left:3px;
27
+ }
28
+
29
+ .formtastic .buttons,
30
+ .formtastic .inputs,
31
+ .formtastic .input {
32
+ zoom:1;
33
+ }
@@ -0,0 +1,23 @@
1
+ /* additional stylesheets only for IE7, if you wish to support it */
2
+
3
+ /* legend labels apper to have a left margin or padding I couldn't get rid of cleanly in main stylesheet */
4
+ .formtastic .input fieldset legend.label {
5
+ margin-left:-7px;
6
+ }
7
+
8
+ /* checkbox and radio inputs appear to have a margin around them that I couldn't remove in main stylesheet */
9
+ .formtastic .choice label input,
10
+ .formtastic .boolean label input {
11
+ position:relative;
12
+ left:-4px;
13
+ right:-4px;
14
+ size:15px;
15
+ margin-left:0;
16
+ margin-right:0;
17
+ }
18
+
19
+ .formtastic .buttons,
20
+ .formtastic .inputs,
21
+ .formtastic .input {
22
+ zoom:1;
23
+ }
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "formtastic/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = %q{formtastic}
7
+ s.version = Formtastic::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = [%q{Justin French}]
10
+ s.email = [%q{justin@indent.com.au}]
11
+ s.homepage = %q{http://github.com/justinfrench/formtastic}
12
+ s.summary = %q{A Rails form builder plugin/gem with semantically rich and accessible markup}
13
+ s.description = %q{A Rails form builder plugin/gem with semantically rich and accessible markup}
14
+ s.license = 'MIT'
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ s.rdoc_options = ["--charset=UTF-8"]
22
+ s.extra_rdoc_files = ["README.md"]
23
+
24
+ s.required_ruby_version = '>= 1.9.3'
25
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
26
+ s.rubygems_version = %q{1.3.6}
27
+
28
+ s.add_dependency(%q<actionpack>, [">= 3.2.13"])
29
+
30
+ s.add_development_dependency(%q<nokogiri>)
31
+ s.add_development_dependency(%q<rspec-rails>, ["~> 3.3.2"])
32
+ s.add_development_dependency(%q<rspec_tag_matchers>, ["~> 1.0"])
33
+ s.add_development_dependency(%q<hpricot>, ["~> 0.8.3"])
34
+ s.add_development_dependency(%q<RedCloth>, ["~> 4.2"]) # for YARD Textile formatting
35
+ s.add_development_dependency(%q<yard>, ["~> 0.8"])
36
+ s.add_development_dependency(%q<colored>, ["~> 1.2"])
37
+ s.add_development_dependency(%q<tzinfo>)
38
+ s.add_development_dependency(%q<ammeter>, ["~> 1.1.3"])
39
+ s.add_development_dependency(%q<appraisal>, ["~> 2.1"])
40
+ s.add_development_dependency(%q<rake>, ["< 12"])
41
+ s.add_development_dependency(%q<activemodel>, [">= 3.2.13"])
42
+ end
@@ -0,0 +1,9 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "~> 3.2.0"
6
+ gem "test-unit-minitest", :platform => [:ruby_22, :ruby_23]
7
+ gem "nokogiri", "~>1.6.8", :platform => :mri_20
8
+
9
+ gemspec :path => "../"
@@ -0,0 +1,8 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.4"
6
+ gem "nokogiri", "~>1.6.8", :platform => :mri_20
7
+
8
+ gemspec :path => "../"