padrino-helpers 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -11,7 +11,7 @@ To install the 'full-stack' padrino framework, simply grab the latest version fr
11
11
  $ sudo gem install padrino --source http://gemcutter.org
12
12
 
13
13
  This will install the necessary padrino gems to get you started.
14
- Now you are ready to use this gem to enhance your sinatra projects or to create new Padrino applications.
14
+ Now you are ready to use this gem to enhance your existing Sinatra projects or build new Padrino applications.
15
15
 
16
16
  You can also install only the padrino-helpers gem for more fine-grained use:
17
17
 
@@ -21,6 +21,51 @@ You can also install only the padrino-helpers gem for more fine-grained use:
21
21
 
22
22
  === Output Helpers
23
23
 
24
+ Output helpers are a collection of important methods for managing, capturing and displaying output
25
+ in various ways and is used frequently to support higher-level helper functions. There are
26
+ three output helpers worth mentioning: <tt>content_for</tt>, <tt>capture_html</tt>, and <tt>concat_content</tt>
27
+
28
+ The content_for functionality supports capturing content and then rendering this into a different place
29
+ such as within a layout. One such popular example is including assets onto the layout from a template:
30
+
31
+ # app/views/site/index.erb
32
+ ...
33
+ <% content_for :assets do %>
34
+ <%= stylesheet_link_tag 'index', 'custom' %>
35
+ <% end %>
36
+ ...
37
+
38
+ Added to a template, this will capture the includes from the block and allow them to be yielded into the layout:
39
+
40
+ # app/views/layout.erb
41
+ ...
42
+ <head>
43
+ <title>Example</title>
44
+ <%= stylesheet_link_tag 'style' %>
45
+ <%= yield_content :assets %>
46
+ </head>
47
+ ...
48
+
49
+ This will automatically insert the contents of the block (in this case a stylesheet include) into the
50
+ location the content is yielded within the layout.
51
+
52
+ The capture_html and the concat_content methods allow content to be manipulated and stored for use in building
53
+ additional helpers accepting blocks or displaying information in a template. One example is the use of
54
+ these in constructing a simplified 'form_tag' helper which accepts a block.
55
+
56
+ # form_tag '/register' do ... end
57
+ def form_tag(url, options={}, &block)
58
+ # ... truncated ...
59
+ inner_form_html = capture_html(&block)
60
+ concat_content '<form>' + inner_form_html + '</form>'
61
+ end
62
+
63
+ This will capture the template body passed into the form_tag block and then append the content
64
+ to the template through the use of <tt>concat_content</tt>. Note have been built to work for both haml and erb
65
+ templates using the same syntax.
66
+
67
+ The list of defined helpers in the 'output helpers' category:
68
+
24
69
  * <tt>content_for(key, &block)</tt>
25
70
  * Capture a block of content to be rendered at a later time.
26
71
  * <tt>content_for(:head) { ...content... }</tt>
@@ -40,6 +85,24 @@ You can also install only the padrino-helpers gem for more fine-grained use:
40
85
 
41
86
  === Tag Helpers
42
87
 
88
+ Tag helpers are the basic building blocks used to construct html 'tags' within a view template. There
89
+ are three major functions for this category: <tt>tag</tt>, <tt>content_tag</tt> and <tt>input_tag</tt>.
90
+
91
+ The tag and content_tag are for building arbitrary html tags with a name and specified options. If
92
+ the tag contains 'content' within then <tt>content_tag</tt> is used. For example:
93
+
94
+ tag(:br, :style => ‘clear:both’) => <br style="clear:both" />
95
+ content_tag(:p, "demo", :class => ‘light’) => <p class="light">demo</p>
96
+
97
+ The input_tag is used to build tags that are related to accepting input from the user:
98
+
99
+ input_tag :text, :class => "demo" => <input type='text' class='demo' />
100
+ input_tag :password, :value => "secret", :class => "demo"
101
+
102
+ Note that all of these accept html options and result in returning a string containing html tags.
103
+
104
+ The list of defined helpers in the 'tag helpers' category:
105
+
43
106
  * <tt>tag(name, options={})</tt>
44
107
  * Creates an html tag with the given name and options
45
108
  * <tt>tag(:br, :style => 'clear:both')</tt> => <br style="clear:both" />
@@ -55,6 +118,24 @@ You can also install only the padrino-helpers gem for more fine-grained use:
55
118
 
56
119
  === Asset Helpers
57
120
 
121
+ Asset helpers are intended to help insert useful html onto a view template such as 'flash' notices,
122
+ hyperlinks, mail_to links, images, stylesheets and javascript. An example of their uses would be on a
123
+ simple view template:
124
+
125
+ # app/views/example.haml
126
+ ...
127
+ %head
128
+ = stylesheet_link_tag 'layout'
129
+ = javascript_include_tag 'application'
130
+ %body
131
+ ...
132
+ = flash_tag :notice
133
+ %p= link_to 'Blog', '/blog', :class => 'example'
134
+ %p Mail me at #{mail_to 'fake@faker.com', "Fake Email Link", :cc => "test@demo.com"}
135
+ %p= image_tag 'padrino.png', :width => '35', :class => 'logo'
136
+
137
+ The list of defined helpers in the 'asset helpers' category:
138
+
58
139
  * <tt>flash_tag(kind, options={})</tt>
59
140
  * Creates a div to display the flash of given type if it exists
60
141
  * <tt>flash_tag(:notice, :class => 'flash', :id => 'flash-notice')</tt>
@@ -78,6 +159,28 @@ You can also install only the padrino-helpers gem for more fine-grained use:
78
159
 
79
160
  === Form Helpers
80
161
 
162
+ Form helpers are the 'standard' form tag helpers you would come to expect when building forms. A simple
163
+ example of constructing a non-object form would be:
164
+
165
+ - form_tag '/destroy', :class => 'destroy-form', :method => 'delete' do
166
+ = flash_tag(:notice)
167
+ - field_set_tag do
168
+ %p
169
+ = label_tag :username, :class => 'first'
170
+ = text_field_tag :username, :value => params[:username]
171
+ %p
172
+ = label_tag :password, :class => 'first'
173
+ = password_field_tag :password, :value => params[:password]
174
+ %p
175
+ = label_tag :strategy
176
+ = select_tag :strategy, :options => ['delete', 'destroy'], :selected => 'delete'
177
+ %p
178
+ = check_box_tag :confirm_delete
179
+ - field_set_tag(:class => 'buttons') do
180
+ = submit_tag "Remove"
181
+
182
+ The list of defined helpers in the 'form helpers' category:
183
+
81
184
  * <tt>form_tag(url, options={}, &block)</tt>
82
185
  * Constructs a form without object based on options
83
186
  * Supports form methods 'put' and 'delete' through hidden field
@@ -128,28 +231,40 @@ You can also install only the padrino-helpers gem for more fine-grained use:
128
231
  * <tt>image_submit_tag(source, options={})</tt>
129
232
  * Constructs an image submit button from the given options
130
233
  * <tt>image_submit_tag "submit.png", :class => 'success'</tt>
131
-
132
- A form_tag might look like:
133
-
134
- - form_tag '/destroy', :class => 'destroy-form', :method => 'delete' do
135
- = flash_tag(:notice)
136
- - field_set_tag do
137
- %p
138
- = label_tag :username, :class => 'first'
139
- = text_field_tag :username, :value => params[:username]
140
- %p
141
- = label_tag :password, :class => 'first'
142
- = password_field_tag :password, :value => params[:password]
143
- %p
144
- = label_tag :strategy
145
- = select_tag :strategy, :options => ['delete', 'destroy'], :selected => 'delete'
146
- %p
147
- = check_box_tag :confirm_delete
148
- - field_set_tag(:class => 'buttons') do
149
- = submit_tag "Remove"
150
234
 
151
235
  === FormBuilders
152
236
 
237
+ Form builders are full-featured objects allowing the construction of complex object-based forms
238
+ using a simple, intuitive syntax.
239
+
240
+ A form_for using these basic fields might look like:
241
+
242
+ - form_for @user, '/register', :id => 'register' do |f|
243
+ = f.error_messages
244
+ %p
245
+ = f.label :username, :caption => "Nickname"
246
+ = f.text_field :username
247
+ %p
248
+ = f.label :email
249
+ = f.text_field :email
250
+ %p
251
+ = f.label :password
252
+ = f.password_field :password
253
+ %p
254
+ = f.label :is_admin, :caption => "Admin User?"
255
+ = f.check_box :is_admin
256
+ %p
257
+ = f.label :color, :caption => "Favorite Color?"
258
+ = f.select :color, :options => ['red', 'black']
259
+ %p
260
+ - fields_for @user.location do |location|
261
+ = location.text_field :street
262
+ = location.text_field :city
263
+ %p
264
+ = f.submit "Create", :class => 'button'
265
+
266
+ The list of defined helpers in the 'form builders' category:
267
+
153
268
  * <tt>form_for(object, url, settings={}, &block)</tt>
154
269
  * Constructs a form using given or default form_builder
155
270
  * Supports form methods 'put' and 'delete' through hidden field
@@ -193,33 +308,28 @@ The following are fields provided by AbstractFormBuilder that can be used within
193
308
  * <tt>image_submit(source, options={})</tt>
194
309
  * <tt>f.image_submit "submit.png", :class => 'long'</tt>
195
310
 
196
- A form_for using these basic fields might look like:
311
+ There is also an additional StandardFormBuilder which builds on the abstract fields that can be used within a form_for.
312
+
313
+ A form_for using these standard fields might be:
197
314
 
198
315
  - form_for @user, '/register', :id => 'register' do |f|
199
316
  = f.error_messages
200
- %p
201
- = f.label :username, :caption => "Nickname"
202
- = f.text_field :username
203
- %p
204
- = f.label :email
205
- = f.text_field :email
206
- %p
207
- = f.label :password
208
- = f.password_field :password
209
- %p
210
- = f.label :is_admin, :caption => "Admin User?"
211
- = f.check_box :is_admin
212
- %p
213
- = f.label :color, :caption => "Favorite Color?"
214
- = f.select :color, :options => ['red', 'black']
215
- %p
216
- - fields_for @user.location do |location|
217
- = location.text_field :street
218
- = location.text_field :city
219
- %p
220
- = f.submit "Create", :class => 'button'
221
-
222
- There is also a StandardFormBuilder which builds on the abstract fields that can be used within a form_for:
317
+ = f.text_field_block :name, :caption => "Full name"
318
+ = f.text_field_block :email
319
+ = f.check_box_block :remember_me
320
+ = f.select_block :fav_color, :options => ['red', 'blue']
321
+ = f.password_field_block :password
322
+ = f.submit_block "Create", :class => 'button'
323
+
324
+ and would generate this html (with each input contained in a paragraph and containing a label):
325
+
326
+ <form id="register" action="/register" method="post">
327
+ <p><label for="user_name">Full name: </label><input type="text" id="user_name" name="user[name]"></p>
328
+ ...omitted...
329
+ <p><input type="submit" value="Create" class="button"></p>
330
+ </form>
331
+
332
+ The following are fields provided by StandardFormBuilder that can be used within a form_for or fields_for:
223
333
 
224
334
  * <tt>text_field_block(field, options={}, label_options={})</tt>
225
335
  * <tt>text_field_block(:nickname, :class => 'big', :caption => "Username")</tt>
@@ -237,27 +347,8 @@ There is also a StandardFormBuilder which builds on the abstract fields that can
237
347
  * <tt>submit_block(:username, :class => 'big')</tt>
238
348
  * <tt>image_submit_block(source, options={})</tt>
239
349
  * <tt>image_submit_block('submit.png', :class => 'big')</tt>
240
-
241
- A form_for using these standard fields might look like:
242
-
243
- - form_for @user, '/register', :id => 'register' do |f|
244
- = f.error_messages
245
- = f.text_field_block :name, :caption => "Full name"
246
- = f.text_field_block :email
247
- = f.check_box_block :remember_me
248
- = f.select_block :fav_color, :options => ['red', 'blue']
249
- = f.password_field_block :password
250
- = f.submit_block "Create", :class => 'button'
251
350
 
252
- and would generate this html:
253
-
254
- <form id="register" action="/register" method="post">
255
- <p><label for="user_name">Full name: </label><input type="text" id="user_name" name="user[name]"></p>
256
- ...omitted...
257
- <p><input type="submit" value="Create" class="button"></p>
258
- </form>
259
-
260
- You can also easily build your own FormBuilder which allows for customized fields:
351
+ You can also easily build your own FormBuilder which allows for customized fields and behavior:
261
352
 
262
353
  class MyCustomFormBuilder < AbstractFormBuilder
263
354
  # Here we have access to a number of useful variables
@@ -277,14 +368,29 @@ Once a custom builder is defined, any call to form_for can use the new builder:
277
368
 
278
369
  The form builder can even be made into the default builder when form_for is invoked:
279
370
 
280
- # anywhere in the sinatra application
371
+ # anywhere in the Padrino or Sinatra application
281
372
  set :default_builder, 'MyCustomFormBuilder'
282
373
 
283
- And there you have it, a fairly complete form builder solution for sinatra.
374
+ And there you have it, a fairly complete form builder solution for Padrino (and Sinatra).
284
375
  I hope to create or merge in an even better 'default' form_builder in the near future.
285
376
 
286
377
  === Format Helpers
287
378
 
379
+ Format helpers are several useful utilities for manipulating the format of text to achieve a goal.
380
+ The four format helpers are <tt>escape_html</tt>, <tt>relative_time_ago</tt>, <tt>time_in_words</tt>,
381
+ and <tt>js_escape_html</tt>.
382
+
383
+ The escape_html and js_escape_html function are for taking an html string and escaping certain characters.
384
+ <tt>escape_html</tt> will escape ampersands, brackets and quotes to their HTML/XML entities. This is useful
385
+ to sanitize user content before displaying this on a template. <tt>js_escape_html</tt> is used for
386
+ passing javascript information from a js template to a javascript function.
387
+
388
+ escape_html('<hello>&<goodbye>') # => &lt;hello&gt;&amp;&lt;goodbye&gt;
389
+
390
+ There is also an alias for escape_html called <tt>h</tt> for even easier usage within templates.
391
+
392
+ The list of defined helpers in the 'format helpers' category:
393
+
288
394
  * <tt>escape_html</tt> (alias <tt>h</tt> and <tt>h!</tt>)
289
395
  * (from RackUtils) Escape ampersands, brackets and quotes to their HTML/XML entities.
290
396
  * <tt>relative_time_ago(date)</tt>
@@ -297,32 +403,16 @@ I hope to create or merge in an even better 'default' form_builder in the near f
297
403
  * <tt>time_in_words(2.days.ago)</tt> => "2 days ago"
298
404
  * <tt>time_in_words(100.days.ago)</tt> => "Tuesday, July 21"
299
405
  * <tt>time_in_words(1.day.from_now)</tt> => "tomorrow"
300
- * <tt>escape_javascript(html_content)</tt>
406
+ * <tt>js_escape_html(html_content)</tt>
301
407
  * Escapes html to allow passing information to javascript. Used for passing data inside an ajax .js.erb template
302
- * <tt>escape_javascript("<h1>Hey</h1>")</tt>
408
+ * <tt>js_escape_html("<h1>Hey</h1>")</tt>
303
409
 
304
410
  See the wiki article for additional information: <...WIKI...>
305
411
 
306
412
  === Render Helpers
307
413
 
308
- This component provides a number of rendering helpers for sinatra, making the process
309
- of displaying templates far smoother. This plugin also has support for useful additions
310
- such as partials (with support for :collection) into the templating system.
311
-
312
- * <tt>erb_template(template_path, options={})</tt>
313
- * Renders a erb template based on the given path
314
- * <tt>erb_template 'users/new'</tt>
315
- * <tt>haml_template(template_path, options={})</tt>
316
- * Renders a haml template based on the given path
317
- * <tt>haml_template 'users/new'</tt>
318
- * <tt>render_template(template_path, options={})</tt>
319
- * Renders the first detected template based on the given path
320
- * <tt>render_template 'users/new'</tt>
321
- * <tt>render_template 'users/index', :template_engine => 'haml'</tt>
322
- * <tt>partial(template, *args)</tt>
323
- * Renders the html related to the partial template for object or collection
324
- * <tt>partial 'photo/_item', :object => @photo, :locals => { :foo => 'bar' }</tt>
325
- * <tt>partial 'photo/_item', :collection => @photos</tt>
414
+ This component provides a number of rendering helpers making the process of displaying templates a bit easier.
415
+ This plugin also has support for useful additions such as partials (with support for :collection) for the templating system.
326
416
 
327
417
  Using render plugin helpers is extremely simple. If you want to render an erb template in your view path:
328
418
 
@@ -336,7 +426,7 @@ There is also a method which renders the first view matching the path and remove
336
426
 
337
427
  render_template 'path/to/any/template'
338
428
 
339
- It is worth noting these are mostly for convenience. When I had more complex view files in sinatra, I got tired of writing:
429
+ It is worth noting these are mostly for convenience. With nested view file paths in Sinatra, this becomes tiresome:
340
430
 
341
431
  haml :"the/path/to/file"
342
432
  erb "/path/to/file".to_sym
@@ -352,7 +442,22 @@ This works as you would expect and also supports the collection counter inside t
352
442
  # Access to collection counter with <partial_name>_counter i.e item_counter
353
443
  # Access the object with the partial_name i.e item
354
444
 
355
- And that concludes the render plugin for now but I am open to adding more methods as time progresses.
445
+ The list of defined helpers in the 'render helpers' category:
446
+
447
+ * <tt>erb_template(template_path, options={})</tt>
448
+ * Renders a erb template based on the given path
449
+ * <tt>erb_template 'users/new'</tt>
450
+ * <tt>haml_template(template_path, options={})</tt>
451
+ * Renders a haml template based on the given path
452
+ * <tt>haml_template 'users/new'</tt>
453
+ * <tt>render_template(template_path, options={})</tt>
454
+ * Renders the first detected template based on the given path
455
+ * <tt>render_template 'users/new'</tt>
456
+ * <tt>render_template 'users/index', :template_engine => 'haml'</tt>
457
+ * <tt>partial(template, *args)</tt>
458
+ * Renders the html related to the partial template for object or collection
459
+ * <tt>partial 'photo/_item', :object => @photo, :locals => { :foo => 'bar' }</tt>
460
+ * <tt>partial 'photo/_item', :collection => @photos</tt>
356
461
 
357
462
  See the wiki article for additional information: <...WIKI...>
358
463
 
data/Rakefile CHANGED
@@ -8,12 +8,12 @@ begin
8
8
  gem.summary = "Helpers for padrino"
9
9
  gem.description = "Tag helpers, asset helpers, form helpers, form builders and many more helpers for padrino"
10
10
  gem.email = "nesquena@gmail.com"
11
- gem.homepage = "http://github.com/padrino/padrino-helpers"
11
+ gem.homepage = "http://github.com/padrino/padrino-framework/tree/master/padrino-helpers"
12
12
  gem.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
13
13
  gem.add_runtime_dependency "sinatra", ">= 0.9.2"
14
14
  gem.add_runtime_dependency "padrino-core", ">= 0.1.1"
15
15
  gem.add_development_dependency "haml", ">= 2.2.1"
16
- gem.add_development_dependency "shoulda", ">= 0"
16
+ gem.add_development_dependency "shoulda", ">= 0"
17
17
  gem.add_development_dependency "mocha", ">= 0.9.7"
18
18
  gem.add_development_dependency "rack-test", ">= 0.5.0"
19
19
  gem.add_development_dependency "webrat", ">= 0.5.1"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.1.4
@@ -55,9 +55,9 @@ module Padrino
55
55
  end
56
56
  end
57
57
 
58
- # Used in xxxx.js.erb files to escape html so that it can be passed to javascript from sinatra
59
- # escape_javascript("<h1>Hey</h1>")
60
- def escape_javascript(html_content)
58
+ # Used in xxxx.js.erb files to escape html so that it can be passed to javascript from Padrino
59
+ # js_escape_html("<h1>Hey</h1>")
60
+ def js_escape_html(html_content)
61
61
  return '' unless html_content
62
62
  javascript_mapping = { '\\' => '\\\\', '</' => '<\/', "\r\n" => '\n', "\n" => '\n' }
63
63
  javascript_mapping.merge("\r" => '\n', '"' => '\\"', "'" => "\\'")
@@ -65,9 +65,8 @@ module Padrino
65
65
  "\"#{escaped_string}\""
66
66
  end
67
67
 
68
- alias js_escape escape_javascript
69
- alias js_escape_html escape_javascript
70
- alias escape_for_javascript escape_javascript
68
+ alias escape_javascript js_escape_html
69
+ alias escape_for_javascript js_escape_html
71
70
 
72
71
  end
73
72
  end
@@ -5,24 +5,21 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{padrino-helpers}
8
- s.version = "0.1.3"
8
+ s.version = "0.1.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Padrino Team", "Nathan Esquenazi", "Davide D'Agostino", "Arthur Chiu"]
12
- s.date = %q{2009-11-20}
12
+ s.date = %q{2009-11-23}
13
13
  s.description = %q{Tag helpers, asset helpers, form helpers, form builders and many more helpers for padrino}
14
14
  s.email = %q{nesquena@gmail.com}
15
15
  s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
16
+ "README.rdoc"
18
17
  ]
19
18
  s.files = [
20
19
  ".document",
21
20
  ".gitignore",
22
21
  "LICENSE",
23
22
  "README.rdoc",
24
- "README.rdoc",
25
- "Rakefile",
26
23
  "Rakefile",
27
24
  "VERSION",
28
25
  "lib/padrino-helpers.rb",
@@ -35,7 +32,6 @@ Gem::Specification.new do |s|
35
32
  "lib/padrino-helpers/render_helpers.rb",
36
33
  "lib/padrino-helpers/tag_helpers.rb",
37
34
  "padrino-helpers.gemspec",
38
- "test/active_support_helpers.rb",
39
35
  "test/fixtures/markup_app/app.rb",
40
36
  "test/fixtures/markup_app/views/capture_concat.erb",
41
37
  "test/fixtures/markup_app/views/capture_concat.haml",
@@ -60,6 +56,7 @@ Gem::Specification.new do |s|
60
56
  "test/fixtures/render_app/views/template/haml_template.haml",
61
57
  "test/fixtures/render_app/views/template/some_template.haml",
62
58
  "test/helper.rb",
59
+ "test/support_helpers.rb",
63
60
  "test/test_asset_tag_helpers.rb",
64
61
  "test/test_form_builder.rb",
65
62
  "test/test_form_helpers.rb",
@@ -68,7 +65,7 @@ Gem::Specification.new do |s|
68
65
  "test/test_render_helpers.rb",
69
66
  "test/test_tag_helpers.rb"
70
67
  ]
71
- s.homepage = %q{http://github.com/padrino/padrino-helpers}
68
+ s.homepage = %q{http://github.com/padrino/padrino-framework/tree/master/padrino-helpers}
72
69
  s.rdoc_options = ["--charset=UTF-8"]
73
70
  s.require_paths = ["lib"]
74
71
  s.rubygems_version = %q{1.3.5}
data/test/helper.rb CHANGED
@@ -7,7 +7,7 @@ require 'webrat'
7
7
 
8
8
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
9
  $LOAD_PATH.unshift(File.dirname(__FILE__))
10
- require 'active_support_helpers'
10
+ require 'support_helpers'
11
11
  require 'padrino-helpers'
12
12
 
13
13
  class Test::Unit::TestCase
@@ -82,15 +82,15 @@ class TestFormatHelpers < Test::Unit::TestCase
82
82
  end
83
83
  end
84
84
 
85
- context 'for #escape_javascript method' do
85
+ context 'for #js_escape_html method' do
86
86
  should "escape double quotes" do
87
- assert_equal "\"hello\"", escape_javascript('"hello"')
87
+ assert_equal "\"hello\"", js_escape_html('"hello"')
88
88
  end
89
89
  should "escape single quotes" do
90
- assert_equal "\"hello\"", escape_javascript("'hello'")
90
+ assert_equal "\"hello\"", js_escape_html("'hello'")
91
91
  end
92
92
  should "escape html tags and breaks" do
93
- assert_equal "\"\\n<p>hello<\\/p>\\n\"", escape_javascript("\n\r<p>hello</p>\r\n")
93
+ assert_equal "\"\\n<p>hello<\\/p>\\n\"", js_escape_html("\n\r<p>hello</p>\r\n")
94
94
  end
95
95
  end
96
96
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: padrino-helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Padrino Team
@@ -12,7 +12,7 @@ autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
14
 
15
- date: 2009-11-20 00:00:00 -08:00
15
+ date: 2009-11-23 00:00:00 -08:00
16
16
  default_executable:
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
@@ -92,7 +92,6 @@ executables: []
92
92
  extensions: []
93
93
 
94
94
  extra_rdoc_files:
95
- - LICENSE
96
95
  - README.rdoc
97
96
  files:
98
97
  - .document
@@ -111,7 +110,6 @@ files:
111
110
  - lib/padrino-helpers/render_helpers.rb
112
111
  - lib/padrino-helpers/tag_helpers.rb
113
112
  - padrino-helpers.gemspec
114
- - test/active_support_helpers.rb
115
113
  - test/fixtures/markup_app/app.rb
116
114
  - test/fixtures/markup_app/views/capture_concat.erb
117
115
  - test/fixtures/markup_app/views/capture_concat.haml
@@ -136,6 +134,7 @@ files:
136
134
  - test/fixtures/render_app/views/template/haml_template.haml
137
135
  - test/fixtures/render_app/views/template/some_template.haml
138
136
  - test/helper.rb
137
+ - test/support_helpers.rb
139
138
  - test/test_asset_tag_helpers.rb
140
139
  - test/test_form_builder.rb
141
140
  - test/test_form_helpers.rb
@@ -144,7 +143,7 @@ files:
144
143
  - test/test_render_helpers.rb
145
144
  - test/test_tag_helpers.rb
146
145
  has_rdoc: true
147
- homepage: http://github.com/padrino/padrino-helpers
146
+ homepage: http://github.com/padrino/padrino-framework/tree/master/padrino-helpers
148
147
  licenses: []
149
148
 
150
149
  post_install_message: