padrino-helpers 0.11.3 → 0.11.4

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 (50) hide show
  1. checksums.yaml +7 -0
  2. data/README.rdoc +1 -1
  3. data/lib/padrino-helpers.rb +3 -5
  4. data/lib/padrino-helpers/asset_tag_helpers.rb +32 -40
  5. data/lib/padrino-helpers/breadcrumb_helpers.rb +21 -39
  6. data/lib/padrino-helpers/form_builder/abstract_form_builder.rb +121 -118
  7. data/lib/padrino-helpers/form_builder/standard_form_builder.rb +6 -9
  8. data/lib/padrino-helpers/form_helpers.rb +190 -193
  9. data/lib/padrino-helpers/format_helpers.rb +29 -42
  10. data/lib/padrino-helpers/locale/cs.yml +14 -14
  11. data/lib/padrino-helpers/locale/da.yml +1 -1
  12. data/lib/padrino-helpers/locale/de.yml +1 -1
  13. data/lib/padrino-helpers/locale/en.yml +16 -16
  14. data/lib/padrino-helpers/locale/es.yml +16 -16
  15. data/lib/padrino-helpers/locale/fr.yml +1 -2
  16. data/lib/padrino-helpers/locale/hu.yml +16 -16
  17. data/lib/padrino-helpers/locale/it.yml +2 -2
  18. data/lib/padrino-helpers/locale/ja.yml +16 -16
  19. data/lib/padrino-helpers/locale/lv.yml +16 -16
  20. data/lib/padrino-helpers/locale/nl.yml +1 -1
  21. data/lib/padrino-helpers/locale/no.yml +1 -1
  22. data/lib/padrino-helpers/locale/pl.yml +7 -7
  23. data/lib/padrino-helpers/locale/pt_br.yml +16 -16
  24. data/lib/padrino-helpers/locale/ro.yml +16 -16
  25. data/lib/padrino-helpers/locale/ru.yml +16 -16
  26. data/lib/padrino-helpers/locale/sv.yml +16 -16
  27. data/lib/padrino-helpers/locale/tr.yml +16 -16
  28. data/lib/padrino-helpers/locale/uk.yml +16 -16
  29. data/lib/padrino-helpers/locale/zh_cn.yml +16 -16
  30. data/lib/padrino-helpers/locale/zh_tw.yml +16 -16
  31. data/lib/padrino-helpers/number_helpers.rb +10 -15
  32. data/lib/padrino-helpers/output_helpers.rb +49 -57
  33. data/lib/padrino-helpers/output_helpers/abstract_handler.rb +16 -18
  34. data/lib/padrino-helpers/output_helpers/erb_handler.rb +11 -12
  35. data/lib/padrino-helpers/output_helpers/haml_handler.rb +9 -9
  36. data/lib/padrino-helpers/output_helpers/slim_handler.rb +11 -13
  37. data/lib/padrino-helpers/render_helpers.rb +5 -6
  38. data/lib/padrino-helpers/tag_helpers.rb +18 -21
  39. data/lib/padrino-helpers/translation_helpers.rb +4 -6
  40. data/test/fixtures/markup_app/app.rb +7 -3
  41. data/test/fixtures/render_app/app.rb +1 -0
  42. data/test/test_asset_tag_helpers.rb +1 -1
  43. data/test/test_form_builder.rb +5 -6
  44. data/test/test_form_helpers.rb +24 -12
  45. data/test/test_format_helpers.rb +3 -3
  46. data/test/test_number_helpers.rb +4 -0
  47. data/test/test_output_helpers.rb +1 -1
  48. data/test/test_render_helpers.rb +1 -1
  49. data/test/test_tag_helpers.rb +1 -1
  50. metadata +9 -15
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ef68c8d06903529b8d8f51c05b1290487a392463
4
+ data.tar.gz: e7a25b76bffb3892afd7f4a4820e0507670c608a
5
+ SHA512:
6
+ metadata.gz: 66cda324d865e815ec7bbdd1e93ac7dae958d5ec3db1e7b1f53a409f2aa825c76c58bcab9f632da80c2dce5f48d532a04aa77f9d7c632f72fea4d7955d5b1e19
7
+ data.tar.gz: c01aaa4bdb41938c530acb00cc1784490a06b462f1ff315c53514f3915a959bc76214c4a5142213e1ebe01abd5407fc498782663ea811368db9c2a9fc0b61671
@@ -236,4 +236,4 @@ For more information on using the render and partial helpers, check out the guid
236
236
 
237
237
  == Copyright
238
238
 
239
- Copyright (c) 2011 Padrino. See LICENSE for details.
239
+ Copyright (c) 2011-2013 Padrino. See LICENSE for details.
@@ -8,8 +8,6 @@ require 'active_support/core_ext/object/with_options' # with_options
8
8
  require 'active_support/inflector' # humanize
9
9
 
10
10
  FileSet.glob_require('padrino-helpers/**/*.rb', __FILE__)
11
-
12
- # Load our locales
13
11
  I18n.load_path += Dir["#{File.dirname(__FILE__)}/padrino-helpers/locale/*.yml"]
14
12
 
15
13
  module Padrino
@@ -33,7 +31,7 @@ module Padrino
33
31
  # Padrino::Helpers::Breadcrumbs
34
32
  #
35
33
  # @param [Sinatra::Application] app
36
- # The specified padrino application
34
+ # The specified Padrino application.
37
35
  #
38
36
  # @example Register the helper module
39
37
  # require 'padrino-helpers'
@@ -55,5 +53,5 @@ module Padrino
55
53
  end
56
54
  alias :included :registered
57
55
  end
58
- end # Helpers
59
- end # Padrino
56
+ end
57
+ end
@@ -1,21 +1,21 @@
1
1
  module Padrino
2
2
  module Helpers
3
3
  ###
4
- # Helpers related to producing assets (images,stylesheets,js,etc) within templates.
4
+ # Helpers related to producing assets (images, stylesheets, js, etc) within templates.
5
5
  #
6
6
  module AssetTagHelpers
7
7
  FRAGMENT_HASH = "#".html_safe.freeze
8
- APPEND_ASSET_EXTENSIONS = ["js", "css"] # assets that require an appended extension
9
- ABSOLUTE_URL_PATTERN = %r{^(https?://)} # absolute url regex
8
+ APPEND_ASSET_EXTENSIONS = ["js", "css"]
9
+ ABSOLUTE_URL_PATTERN = %r{^(https?://)}
10
10
 
11
11
  ##
12
- # Creates a div to display the flash of given type if it exists
12
+ # Creates a div to display the flash of given type if it exists.
13
13
  #
14
14
  # @param [Symbol] kind
15
15
  # The type of flash to display in the tag.
16
16
  # @param [Hash] options
17
17
  # The html options for this section.
18
- # use :bootstrap => true to support Twitter's bootstrap dismiss alert button
18
+ # use :bootstrap => true to support Twitter's bootstrap dismiss alert button.
19
19
  #
20
20
  # @return [String] Flash tag html with specified +options+.
21
21
  #
@@ -26,7 +26,6 @@ module Padrino
26
26
  # # Generates: <div class="error">flash-error</div>
27
27
  # # <div class="success">flash-success</div>
28
28
  #
29
- # @api public
30
29
  def flash_tag(*args)
31
30
  options = args.extract_options!
32
31
  bootstrap = options.delete(:bootstrap) if options[:bootstrap]
@@ -39,7 +38,7 @@ module Padrino
39
38
  end
40
39
 
41
40
  ##
42
- # Creates a link element with given name, url and options
41
+ # Creates a link element with given name, url and options.
43
42
  #
44
43
  # @overload link_to(caption, url, options={})
45
44
  # @param [String] caption The text caption.
@@ -51,15 +50,15 @@ module Padrino
51
50
  # @param [Proc] block The link content.
52
51
  #
53
52
  # @option options [String] :anchor
54
- # The anchor for the link (i.e #something)
53
+ # The anchor for the link (i.e #something).
55
54
  # @option options [String] :fragment
56
- # Synonym for anchor
55
+ # Synonym for anchor.
57
56
  # @option options [Boolean] :if
58
- # If true, the link will appear, otherwise not;
57
+ # If true, the link will appear, otherwise not.
59
58
  # @option options [Boolean] :unless
60
- # If false, the link will appear, otherwise not;
59
+ # If false, the link will appear, otherwise not.
61
60
  # @option options [Boolean] :remote
62
- # If true, this link should be handled by a ajax ujs handler.
61
+ # If true, this link should be handled by an ajax ujs handler.
63
62
  # @option options [String] :confirm
64
63
  # Instructs ujs handler to alert confirm message.
65
64
  # @option options [Symbol] :method
@@ -74,13 +73,12 @@ module Padrino
74
73
  # link_to('click me', :class => 'blocky') do; end
75
74
  #
76
75
  # Note that you can pass :+if+ or :+unless+ conditions, but if you provide :current as
77
- # condition padrino return true/false if the request.path_info match the given url
76
+ # condition padrino return true/false if the request.path_info match the given url.
78
77
  #
79
- # @api public
80
78
  def link_to(*args, &block)
81
- options = args.extract_options!
82
- fragment = options.delete(:anchor).to_s if options[:anchor]
83
- fragment = options.delete(:fragment).to_s if options[:fragment]
79
+ options = args.extract_options!
80
+ fragment = options.delete(:anchor).to_s if options[:anchor]
81
+ fragment = options.delete(:fragment).to_s if options[:fragment]
84
82
 
85
83
  url = ActiveSupport::SafeBuffer.new
86
84
  if block_given?
@@ -121,11 +119,11 @@ module Padrino
121
119
  # @param[Hash] options
122
120
  # The options for the feed tag.
123
121
  # @option options [String] :rel ("alternate")
124
- # Specify the relation of this link
122
+ # Specify the relation of this link.
125
123
  # @option options [String] :type
126
- # Override the auto-generated mime type
124
+ # Override the auto-generated mime type.
127
125
  # @option options [String] :title
128
- # Specify the title of the link, defaults to the type
126
+ # Specify the title of the link, defaults to the type.
129
127
  #
130
128
  # @return [String] Feed link html tag with specified +options+.
131
129
  #
@@ -135,7 +133,6 @@ module Padrino
135
133
  # feed_tag :rss, url(:blog, :posts, :format => :rss)
136
134
  # # Generates: <link type="application/rss+xml" rel="alternate" href="/blog/posts.rss" title="rss" />
137
135
  #
138
- # @api public
139
136
  def feed_tag(mime, url, options={})
140
137
  full_mime = (mime == :atom) ? 'application/atom+xml' : 'application/rss+xml'
141
138
  tag(:link, options.reverse_merge(:rel => 'alternate', :type => full_mime, :title => mime, :href => url))
@@ -163,7 +160,6 @@ module Padrino
163
160
  # # Generates: <a href="mailto:me@demo.com">My Email</a>
164
161
  # mail_to "me@demo.com", "My Email"
165
162
  #
166
- # @api public
167
163
  def mail_to(email, caption=nil, mail_options={})
168
164
  html_options = mail_options.slice!(:cc, :bcc, :subject, :body)
169
165
  mail_query = Rack::Utils.build_query(mail_options).gsub(/\+/, '%20').gsub('%40', '@').gsub('&', '&amp;')
@@ -188,14 +184,13 @@ module Padrino
188
184
  # # Generates: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
189
185
  # meta_tag "text/html; charset=UTF-8", 'http-equiv' => "Content-Type"
190
186
  #
191
- # @api public
192
187
  def meta_tag(content, options={})
193
188
  options.reverse_merge!("content" => content)
194
189
  tag(:meta, options)
195
190
  end
196
191
 
197
192
  ##
198
- # Generates a favicon link. looks inside images folder
193
+ # Generates a favicon link. Looks inside images folder
199
194
  #
200
195
  # @param [String] source
201
196
  # The source image path for the favicon link tag.
@@ -210,7 +205,6 @@ module Padrino
210
205
  # # or override some options
211
206
  # favicon_tag 'favicon.png', :type => 'image/ico'
212
207
  #
213
- # @api public
214
208
  def favicon_tag(source, options={})
215
209
  type = File.extname(source).gsub('.','')
216
210
  options = options.dup.reverse_merge!(:href => image_path(source), :rel => 'icon', :type => "image/#{type}")
@@ -218,7 +212,7 @@ module Padrino
218
212
  end
219
213
 
220
214
  ##
221
- # Creates an image element with given url and options
215
+ # Creates an image element with given url and options.
222
216
  #
223
217
  # @param [String] url
224
218
  # The source path for the image tag.
@@ -230,7 +224,6 @@ module Padrino
230
224
  # @example
231
225
  # image_tag('icons/avatar.png')
232
226
  #
233
- # @api public
234
227
  def image_tag(url, options={})
235
228
  options.reverse_merge!(:src => image_path(url))
236
229
  tag(:img, options)
@@ -250,7 +243,7 @@ module Padrino
250
243
  # @example
251
244
  # stylesheet_link_tag 'style', 'application', 'layout'
252
245
  #
253
- # @api public
246
+ # @api public.
254
247
  def stylesheet_link_tag(*sources)
255
248
  options = sources.extract_options!.symbolize_keys
256
249
  options.reverse_merge!(:media => 'screen', :rel => 'stylesheet', :type => 'text/css')
@@ -273,7 +266,6 @@ module Padrino
273
266
  # @example
274
267
  # javascript_include_tag 'application', :extjs
275
268
  #
276
- # @api public
277
269
  def javascript_include_tag(*sources)
278
270
  options = sources.extract_options!.symbolize_keys
279
271
  options.reverse_merge!(:type => 'text/javascript')
@@ -287,7 +279,7 @@ module Padrino
287
279
  # like app/public/images for inclusion. You can provide also a full path.
288
280
  #
289
281
  # @param [String] src
290
- # The path to the image file (relative or absolute)
282
+ # The path to the image file (relative or absolute).
291
283
  #
292
284
  # @return [String] Path to an image given the +kind+ and +source+.
293
285
  #
@@ -301,10 +293,10 @@ module Padrino
301
293
  end
302
294
 
303
295
  ##
304
- # Returns the path to the specified asset (css or javascript)
296
+ # Returns the path to the specified asset (css or javascript).
305
297
  #
306
298
  # @param [String] kind
307
- # The kind of asset (i.e :images, :js, :css)
299
+ # The kind of asset (i.e :images, :js, :css).
308
300
  # @param [String] source
309
301
  # The path to the asset (relative or absolute).
310
302
  #
@@ -320,7 +312,6 @@ module Padrino
320
312
  # # Generates: /images/example.jpg?1269008689
321
313
  # asset_path :images, 'example.jpg'
322
314
  #
323
- # @api semipublic
324
315
  def asset_path(kind, source)
325
316
  source = asset_normalize_extension(kind, URI.escape(source.to_s))
326
317
  return source if source =~ ABSOLUTE_URL_PATTERN || source =~ /^\// # absolute source
@@ -332,7 +323,7 @@ module Padrino
332
323
 
333
324
  private
334
325
  ##
335
- # Returns the uri root of the application with optional paths appended.
326
+ # Returns the URI root of the application with optional paths appended.
336
327
  #
337
328
  # @example
338
329
  # uri_root_path("/some/path") => "/root/some/path"
@@ -344,7 +335,7 @@ module Padrino
344
335
  end
345
336
 
346
337
  ##
347
- # Returns the timestamp mtime for an asset
338
+ # Returns the timestamp mtime for an asset.
348
339
  #
349
340
  # @example
350
341
  # asset_timestamp("some/path/to/file.png") => "?154543678"
@@ -375,7 +366,8 @@ module Padrino
375
366
  end
376
367
  end
377
368
 
378
- # Normalizes the extension for a given asset
369
+ ##
370
+ # Normalizes the extension for a given asset.
379
371
  #
380
372
  # @example
381
373
  #
@@ -389,7 +381,7 @@ module Padrino
389
381
  end
390
382
 
391
383
  ##
392
- # Parses link_to options for given correct conditions
384
+ # Parses link_to options for given correct conditions.
393
385
  #
394
386
  # @example
395
387
  # parse_conditions("/some/url", :if => false) => true
@@ -404,6 +396,6 @@ module Padrino
404
396
  true
405
397
  end
406
398
  end
407
- end # AssetTagHelpers
408
- end # Helpers
409
- end # Padrino
399
+ end
400
+ end
401
+ end
@@ -1,30 +1,28 @@
1
1
  module Padrino
2
2
  module Helpers
3
3
  class Breadcrumb
4
-
5
4
  attr_accessor :home, :items
6
5
 
7
6
  DEFAULT_URL = "/"
8
7
  DEFAULT_CAPTION ="Home Page"
9
8
 
10
9
  ##
11
- # initialize breadcrumbs with default value
10
+ # Initialize breadcrumbs with default value.
12
11
  #
13
12
  # @example
14
13
  # before do
15
14
  # @breadcrumbs = breadcrumbs.new
16
15
  # end
17
16
  #
18
- # @api public
19
17
  def initialize
20
18
  reset!
21
19
  end
22
20
 
23
21
  ##
24
- # Set the custom home (Parent) link
22
+ # Set the custom home (Parent) link.
25
23
  #
26
24
  # @param [String] url
27
- # The url href
25
+ # The url href.
28
26
  #
29
27
  # @param [String] caption
30
28
  # The text caption.
@@ -35,8 +33,6 @@ module Padrino
35
33
  # @example
36
34
  # breadcrumbs.set_home "/HomeFoo", "Foo Home", :id => "home-breadcrumb"
37
35
  #
38
- #
39
- # @api public
40
36
  def set_home(url, caption, options = {})
41
37
  self.home = {
42
38
  :url => url.to_s,
@@ -48,24 +44,22 @@ module Padrino
48
44
  end
49
45
 
50
46
  ##
51
- # Reset breadcrumbs to default or personal home
47
+ # Reset breadcrumbs to default or personal home.
52
48
  #
53
49
  # @example
54
50
  # breadcrumbs.reset
55
51
  #
56
- # @api public
57
52
  def reset
58
53
  self.items = []
59
54
  self.items << home
60
55
  end
61
56
 
62
57
  ##
63
- # Reset breadcrumbs to default home
58
+ # Reset breadcrumbs to default home.
64
59
  #
65
60
  # @example
66
61
  # breadcrumbs.reset!
67
62
  #
68
- # @api public
69
63
  def reset!
70
64
  self.home = {
71
65
  :name => :home,
@@ -77,7 +71,7 @@ module Padrino
77
71
  end
78
72
 
79
73
  ##
80
- # Add a new breadcrumbs
74
+ # Add a new breadcrumbs.
81
75
  #
82
76
  # @param [String] name
83
77
  # The name of resource.
@@ -97,7 +91,6 @@ module Padrino
97
91
  # breadcrumbs.add "foo", "/foo", "Foo Link", :id => "foo-id"
98
92
  # breadcrumbs.add :foo, "/foo", "Foo Link", :class => "foo-class"
99
93
  #
100
- # @api public
101
94
  def add(name, url, caption, options = {})
102
95
  items << {
103
96
  :name => name.to_sym,
@@ -106,42 +99,35 @@ module Padrino
106
99
  :options => options
107
100
  }
108
101
  end
109
-
110
102
  alias :<< :add
111
103
 
112
104
  ##
113
- # Remove a Breadcrumbs
105
+ # Remove a breadcrumb.
114
106
  #
115
107
  # @param [String] name
116
- # The name of resource to delete from breadcrumbs list
117
- #
118
- # @param [Symbol] name
119
- # The name of resource to delete from breadcrumbs list
108
+ # The name of resource to delete from breadcrumbs list.
120
109
  #
121
110
  # @example
122
111
  # breadcrumbs.del "foo"
123
112
  # breadcrumbs.del :foo
124
113
  #
125
- # @api public
126
114
  def del(name)
127
115
  items.delete_if { |item| item[:name] == name.to_sym }
128
116
  end
129
-
130
- end # Breadcrumb
131
-
117
+ end
132
118
 
133
119
  module Breadcrumbs
134
-
135
- # Render breadcrumbs to view
120
+ ##
121
+ # Render breadcrumbs to view.
136
122
  #
137
123
  # @param [Breadcrumbs] breadcrumbs
138
- # The breadcrumbs to render into view
124
+ # The breadcrumbs to render into view.
139
125
  #
140
126
  # @param [Boolean] bootstrap
141
- # If true, render separation (usefull with Twitter Bootstrap)
127
+ # If true, render separation (useful with Twitter Bootstrap).
142
128
  #
143
129
  # @param [String] active
144
- # Css class style set to active breadcrumb
130
+ # CSS class style set to active breadcrumb.
145
131
  #
146
132
  # @param [Hash] options
147
133
  # The HTML options to include in ul.
@@ -156,8 +142,6 @@ module Padrino
156
142
  # # <li class="active"><a href="/bar">Bar Link</a></li>
157
143
  # # </ul>
158
144
  #
159
- #
160
- # @api public
161
145
  def breadcrumbs(breadcrumbs, bootstrap = false, active = "active", options = {})
162
146
  content = ""
163
147
  breadcrumbs.items[0..-2].each do |item|
@@ -178,24 +162,22 @@ module Padrino
178
162
 
179
163
  private
180
164
  ##
181
- # Private method to return list item
165
+ # Private method to return list item.
182
166
  #
183
167
  # @param [Hash] item
184
- # The breadcrumb item
168
+ # The breadcrumb item.
185
169
  #
186
170
  # @param [Boolean] bootstrap
187
- # If true, render separation (usefull with Twitter Bootstrap)
171
+ # If true, render separation (useful with Twitter Bootstrap).
188
172
  #
189
- # @return [String] List item with breacrumb
173
+ # @return [String] List item with breadcrumb
190
174
  #
191
- # @api public
192
175
  def render_item(item, bootstrap)
193
176
  content = ""
194
177
  content << link_to(item[:caption], item[:url])
195
178
  content << safe_content_tag(:span, "/", :class => "divider") if bootstrap
196
179
  safe_content_tag(:li, content, item[:options])
197
180
  end
198
-
199
- end # Breadcrumb
200
- end # Helpers
201
- end # Padrino
181
+ end
182
+ end
183
+ end