rocketeer 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/COPYING ADDED
@@ -0,0 +1,24 @@
1
+ Copyright (c) 2011, Jack Polgar
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions are met:
6
+ * Redistributions of source code must retain the above copyright
7
+ notice, this list of conditions and the following disclaimer.
8
+ * Redistributions in binary form must reproduce the above copyright
9
+ notice, this list of conditions and the following disclaimer in the
10
+ documentation and/or other materials provided with the distribution.
11
+ * Neither the name of the Rockets or Rocketeer nor the
12
+ names of its contributors may be used to endorse or promote products
13
+ derived from this software without specific prior written permission.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
+ DISCLAIMED. IN NO EVENT SHALL JACK POLGAR BE LIABLE FOR ANY
19
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,90 @@
1
+ #
2
+ # Rocketeer
3
+ # Copyright (C) 2011 Jack Polgar
4
+ # All Rights Reserved
5
+ # http://github.com/nirix/rockets
6
+ #
7
+ # Relased under the BSD 3-clause / New BSD License
8
+ # Please see the COPYING file for details.
9
+ #
10
+
11
+ module Sinatra
12
+ module FormHelper
13
+ def input_field(name, options = {})
14
+ if name.class == Array
15
+ name = "#{name[0]}[#{name[1]}]"
16
+ end
17
+ defaults = {
18
+ :id => name.to_s,
19
+ :name => name.to_s
20
+ }
21
+
22
+ html_options = []
23
+ options = defaults.merge(options)
24
+ options.each do |k, v|
25
+ html_options.push "#{k}=\"#{v}\""
26
+ end
27
+
28
+ "<input #{html_options.join(' ')}>"
29
+ end
30
+
31
+ def text_field(name, options = {})
32
+ input_field name, options.merge({:type => 'text'})
33
+ end
34
+
35
+ def password_field(name, options = {})
36
+ input_field name, options.merge({:type => 'password'})
37
+ end
38
+
39
+ def email_field(name, options = {})
40
+ input_field name, options.merge({:type => 'email'})
41
+ end
42
+
43
+ def select_box(name, options, selected = nil)
44
+ if name.class == Array
45
+ name = "#{name[0]}[#{name[1]}]"
46
+ end
47
+
48
+ html = ["<select name=\"#{name.to_s}\" id=\"#{name.to_s}\">"]
49
+
50
+ options.each do |option|
51
+ if option[1] == selected
52
+ selected_html = ' selected'
53
+ else
54
+ selected_html = ''
55
+ end
56
+ html.push " <option value=\"#{option[1]}\" #{selected_html}>#{option[0]}</option>"
57
+ end
58
+
59
+ html.push "</select>\n"
60
+ return html.join("\n")
61
+ end
62
+
63
+ def textarea(name, options = {})
64
+ if name.class == Array
65
+ name = "#{name[0]}[#{name[1]}]"
66
+ end
67
+ defaults = {
68
+ :id => name.to_s,
69
+ :name => name.to_s
70
+ }
71
+ if options[:value]
72
+ value = options[:value]
73
+ options[:value] = nil
74
+ else
75
+ value = ''
76
+ end
77
+
78
+ html_options = []
79
+ options = defaults.merge(options)
80
+ options.each do |k, v|
81
+ next if v == nil
82
+ html_options.push "#{k}=\"#{v}\""
83
+ end
84
+
85
+ "<textarea #{html_options.join(' ')}>#{value}</textarea>"
86
+ end
87
+ end
88
+
89
+ helpers FormHelper
90
+ end
@@ -0,0 +1,52 @@
1
+ #
2
+ # Rocketeer
3
+ # Copyright (C) 2011 Jack Polgar
4
+ # All Rights Reserved
5
+ # http://github.com/nirix/rockets
6
+ #
7
+ # Relased under the BSD 3-clause / New BSD License
8
+ # Please see the COPYING file for details.
9
+ #
10
+
11
+ module Sinatra
12
+ module HTMLHelper
13
+ def link_to(text, the_url, options = {})
14
+ options = options.merge({
15
+ :href => the_url ? url(the_url) : request.path_info
16
+ })
17
+ if options[:confirm]
18
+ options[:"data-confirm"] = options[:confirm]
19
+ options[:confirm] = nil
20
+ end
21
+ if options[:remote]
22
+ options[:"data-remote"] = options[:remote]
23
+ options[:remote] = nil
24
+ end
25
+
26
+ html_options = []
27
+ options.each do |k, v|
28
+ html_options.push "#{k.to_s}=\"#{v.to_s}\""
29
+ end
30
+
31
+ "<a #{html_options.join(' ')}>#{text}</a>"
32
+ end
33
+
34
+ def link_to_unless_current(text, the_url, options = {})
35
+ if request.path_info == the_url
36
+ text
37
+ else
38
+ link_to text, the_url, options
39
+ end
40
+ end
41
+
42
+ def css_inc_tag(url, media = "screen")
43
+ "<link rel=\"stylesheet\" href=\"#{url}?#{Time.now.to_i}\" media=\"#{media}\" />"
44
+ end
45
+
46
+ def js_inc_tag(url)
47
+ "<script src=\"#{url}\" type=\"text/javascript\"></script>"
48
+ end
49
+ end
50
+
51
+ helpers HTMLHelper
52
+ end
@@ -0,0 +1,25 @@
1
+ #
2
+ # Rocketeer
3
+ # Copyright (C) 2011 Jack Polgar
4
+ # All Rights Reserved
5
+ # http://github.com/nirix/rockets
6
+ #
7
+ # Relased under the BSD 3-clause / New BSD License
8
+ # Please see the COPYING file for details.
9
+ #
10
+
11
+ module Sinatra
12
+ module TextHelper
13
+ def pluralize(count, singular, plural = nil)
14
+ "#{count || 0} " + ((count == 1 || count =~ /^1(\.0+)?$/) ? singular : (plural || singular.pluralize))
15
+ end
16
+
17
+ def short_text(text, length = 30, truncate_string = "...")
18
+ return if text.nil?
19
+ l = length - truncate_string.mb_chars.length
20
+ text.mb_chars.length > length ? text[/\A.{#{l}}\w*\;?/m][/.*[\w\;]/m] + truncate_string : text
21
+ end
22
+ end
23
+
24
+ helpers TextHelper
25
+ end
data/lib/rocketeer.rb CHANGED
@@ -1,44 +1,15 @@
1
- require 'sinatra/base'
2
-
3
- module Sinatra
4
- module HTMLHelper
5
- def link_to(text, the_url, options = {})
6
- options = options.merge({
7
- :href => the_url ? url(the_url) : request.path_info
8
- })
9
- if options[:confirm]
10
- options[:"data-confirm"] = options[:confirm]
11
- options[:confirm] = nil
12
- end
13
- if options[:remote]
14
- options[:"data-remote"] = options[:remote]
15
- options[:remote] = nil
16
- end
17
-
18
- html_options = []
19
- options.each do |k, v|
20
- html_options.push "#{k.to_s}=\"#{v.to_s}\""
21
- end
22
-
23
- "<a #{html_options.join(' ')}>#{text}</a>"
24
- end
25
-
26
- def link_to_unless_current(text, the_url, options = {})
27
- if request.path_info == the_url
28
- text
29
- else
30
- link_to text, the_url, options
31
- end
32
- end
33
-
34
- def css_inc_tag(url, media = "screen")
35
- "<link rel=\"stylesheet\" href=\"#{url}?#{Time.now.to_i}\" media=\"#{media}\" />"
36
- end
37
-
38
- def js_inc_tag(url)
39
- "<script src=\"#{url}\" type=\"text/javascript\"></script>"
40
- end
41
- end
42
-
43
- helpers HTMLHelper
44
- end
1
+ #
2
+ # Rocketeer
3
+ # Copyright (C) 2011 Jack Polgar
4
+ # All Rights Reserved
5
+ # http://github.com/nirix/rockets
6
+ #
7
+ # Relased under the BSD 3-clause / New BSD License
8
+ # Please see the COPYING file for details.
9
+ #
10
+
11
+ require 'sinatra/base'
12
+
13
+ require 'rocketeer/helpers/html'
14
+ require 'rocketeer/helpers/form'
15
+ require 'rocketeer/helpers/text'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocketeer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -18,7 +18,11 @@ executables: []
18
18
  extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
+ - COPYING
21
22
  - lib/rocketeer.rb
23
+ - lib/rocketeer/helpers/html.rb
24
+ - lib/rocketeer/helpers/form.rb
25
+ - lib/rocketeer/helpers/text.rb
22
26
  has_rdoc: true
23
27
  homepage: http://rubygems.org/gems/rocketeer
24
28
  licenses: []