kelredd-useful 0.1.9 → 0.1.10

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.
@@ -1,17 +1,19 @@
1
1
  require 'sinatra/base'
2
2
 
3
- module Sinatra
3
+ module Useful
4
4
  module SinatraHelpers
5
5
  module EnvironmentTests
6
+
6
7
  def production?
7
8
  Sinatra::Application.environment.to_s == 'production'
8
9
  end
9
10
  def development?
10
11
  Sinatra::Application.environment.to_s == 'development'
11
12
  end
13
+
12
14
  end
13
- end
14
-
15
- Sinatra::Application.helpers Sinatra::SinatraHelpers::EnvironmentTests
16
- Sinatra::Application.register Sinatra::SinatraHelpers::EnvironmentTests
15
+ end
17
16
  end
17
+
18
+ Sinatra::Application.helpers Useful::SinatraHelpers::EnvironmentTests
19
+ Sinatra::Application.register Useful::SinatraHelpers::EnvironmentTests
@@ -1,3 +1,3 @@
1
- $:.unshift File.dirname(__FILE__)
2
- require 'erb/error_pages'
3
- require 'erb/partials'
1
+ Dir[File.join(File.dirname(__FILE__), "erb" ,"*.rb")].each do |file|
2
+ require file
3
+ end
@@ -1,9 +1,10 @@
1
1
  require 'sinatra/base'
2
2
 
3
- module Sinatra
3
+ module Useful
4
4
  module SinatraHelpers
5
5
  module Erb
6
6
  module ErrorPages
7
+
7
8
  def self.registered(app)
8
9
  app.configure :production do
9
10
  app.not_found do
@@ -15,9 +16,10 @@ module Sinatra
15
16
  end
16
17
  end
17
18
  end
19
+
18
20
  end
19
21
  end
20
22
  end
21
-
22
- Sinatra::Application.register Sinatra::SinatraHelpers::Erb::ErrorPages
23
23
  end
24
+
25
+ Sinatra::Application.register Useful::SinatraHelpers::Erb::ErrorPages
@@ -1,6 +1,6 @@
1
1
  require 'sinatra/base'
2
2
 
3
- module Sinatra
3
+ module Useful
4
4
  module SinatraHelpers
5
5
  module Erb
6
6
  module Partials
@@ -36,6 +36,6 @@ module Sinatra
36
36
  end
37
37
  end
38
38
  end
39
-
40
- Sinatra::Application.helpers Sinatra::SinatraHelpers::Erb::Partials
41
39
  end
40
+
41
+ Sinatra::Application.helpers Useful::SinatraHelpers::Erb::Partials
@@ -1,93 +1,3 @@
1
- require 'sinatra/base'
2
-
3
- module Sinatra
4
- module SinatraHelpers
5
- module Tags
6
-
7
- # helper to emulate action view's 'link_to'
8
- # => inspired from vanntastic-sinatra-gen gem, http://github.com/vanntastic/sinatra-gen/tree/master
9
- # EX : link_to "google", "http://google.com"
10
- # => <a href="http://google.com">google</a>
11
- def link_to(content,href,options={})
12
- options.update :href => href
13
- tag(:a, options) { content }
14
- end
15
-
16
- def mail_link_to(email)
17
- link_to email, "mailto: #{email}"
18
- end
19
-
20
- # helper to emulate 'image_tag'
21
- # => inspired from vanntastic-sinatra-gen gem, http://github.com/vanntastic/sinatra-gen/tree/master
22
- # helper for image_tags
23
- # EX : image_tag 'logo.jpg'
24
- # => <img src="images/logo.jpg" />
25
- def image_tag(src,options={})
26
- options[:src] = ['/'].include?(src[0..0]) ? src : "/images/#{src}"
27
- tag(:img, options)
28
- end
29
-
30
- def clear_tag(options={})
31
- options[:tag] ||= :div
32
- options[:style] ||= ''
33
- options[:style] = "clear: both;#{options[:style]}"
34
- tag(options.delete(:tag), options) { '' }
35
- end
36
-
37
- include Rack::Utils
38
- alias_method :h, :escape_html
39
-
40
- # helper to emulate 'stylesheet_link_tag'
41
- # => inspired from vanntastic-sinatra-gen gem, http://github.com/vanntastic/sinatra-gen/tree/master
42
- # EX : stylesheet_link_tag 'default'
43
- # => <link rel="stylesheet" href="/stylesheets/default.css" type="text/css" media="all" title="no title" charset="utf-8">
44
- def stylesheet_link_tag(srcs,options={})
45
- options[:media] ||= "screen"
46
- options[:type] ||= "text/css"
47
- options[:rel] ||= "stylesheet"
48
- srcs.to_a.collect do |src|
49
- options[:href] = "/stylesheets/#{src}.css#{"?#{Time.now.to_i}" if Sinatra::Application.environment.to_s == 'development'}"
50
- tag(:link, options)
51
- end.join("\n")
52
- end
53
-
54
- # helper to emulate 'javascript_include_tag'
55
- # => inspired from vanntastic-sinatra-gen gem, http://github.com/vanntastic/sinatra-gen/tree/master
56
- # EX : javascript_include_tag 'app'
57
- # => <script src="/js/app.js" type="text/javascript" />
58
- # EX : javascript_include_tag ['app', 'jquery']
59
- # => <script src="/js/app.js" type="text/javascript" />
60
- # => <script src="/js/jquery.js" type="text/javascript" />
61
- def javascript_include_tag(srcs,options={})
62
- options[:type] ||= "text/javascript"
63
- srcs.to_a.collect do |src|
64
- options[:src] = "/javascripts/#{src}.js#{"?#{Time.now.to_i}" if Sinatra::Application.environment.to_s == 'development'}"
65
- tag(:script, options) { '' }
66
- end.join("\n")
67
- end
68
-
69
- # helper to emulate 'javascript_tag'
70
- def javascript_tag(options={})
71
- options[:type] ||= "text/javascript"
72
- tag(:script, options) { yield }
73
- end
74
-
75
- # emulator for 'tag'
76
- # => inspired from vanntastic-sinatra-gen gem, http://github.com/vanntastic/sinatra-gen/tree/master
77
- # EX : tag :h1, "shizam", :title => "shizam"
78
- # => <h1 title="shizam">shizam</h1>
79
- def tag(name,options={})
80
- "<#{name.to_s} #{hash_to_html_attrs(options)} #{block_given? ? ">#{yield}</#{name}" : "/"}>"
81
- end
82
-
83
- private
84
-
85
- def hash_to_html_attrs(a_hash)
86
- a_hash.collect{|key, val| "#{key}=\"#{val}\""}.join(' ')
87
- end
88
-
89
- end
90
- end
91
-
92
- Sinatra::Application.helpers Sinatra::SinatraHelpers::Tags
1
+ Dir[File.join(File.dirname(__FILE__), "tags" ,"*.rb")].each do |file|
2
+ require file
93
3
  end
@@ -0,0 +1,110 @@
1
+ require 'sinatra/base'
2
+ require File.join(File.dirname(__FILE__), 'helpers.rb')
3
+ require File.join(File.dirname(__FILE__), 'globals.rb')
4
+
5
+ module Useful
6
+ module SinatraHelpers
7
+ module Tags
8
+ module Forms
9
+
10
+ include Useful::SinatraHelpers::Tags::Helpers
11
+
12
+ def form_tag(url, options={}, &block)
13
+ options.update :action => url
14
+ tag(:form, options, &block)
15
+ end
16
+
17
+ def field_set_tag(legend=nil, options=nil, &block)
18
+ content = "#{tag(:legend) { lengend.to_s } unless legend.nil?}#{sinatra_tag_helper_capture(&block)}"
19
+ tag(:fieldset, options) { content }
20
+ end
21
+
22
+ def label_tag(name, value=nil, options={})
23
+ value ||= name.to_s.capitalize
24
+ options.update :for => name.to_s
25
+ tag(:label, options) { value }
26
+ end
27
+
28
+ def hidden_field_tag(name, value=nil, options={})
29
+ input_tag('hidden', name, value, options)
30
+ end
31
+
32
+ def password_field_tag(name="password", value=nil, options={})
33
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
34
+ input_tag('password', name, value, options)
35
+ end
36
+
37
+ def file_field_tag(name, options={})
38
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
39
+ input_tag('file', name, nil, options)
40
+ end
41
+
42
+ def check_box_tag(name, label=nil, value='1', checked=false, options={})
43
+ options[:tag] ||= :div
44
+ if options.has_key?(:class)
45
+ options[:class] += ' checkbox'
46
+ else
47
+ options[:class] = 'checkbox'
48
+ end
49
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
50
+ options[:checked] = sinatra_tag_helper_checked_option if checked
51
+ input_str = input_tag('checkbox', name, value, options)
52
+ if label.nil?
53
+ input_str
54
+ else
55
+ tag(options.delete(:tag), :class => 'checkbox') { input_str + label_tag(options[:id], label) }
56
+ end
57
+ end
58
+
59
+ def radio_button_tag(name, value, label, checked=false, options={})
60
+ options[:tag] ||= :span
61
+ if options.has_key?(:class)
62
+ options[:class] += ' radiobutton'
63
+ else
64
+ options[:class] = 'radiobutton'
65
+ end
66
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
67
+ options[:checked] = sinatra_tag_helper_checked_option if checked
68
+ input_str = input_tag('radio', name, value, options)
69
+ if label.nil?
70
+ input_str
71
+ else
72
+ label_tag(name, input_str + tag(options.delete(:tag)) { label }, :class => options.delete(:class))
73
+ end
74
+ end
75
+
76
+ def select_tag(name, option_tags=nil, options={})
77
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
78
+ html_name = (options[:multiple] == true && !name.to_s[(name.to_s.length-2)..-1] == "[]") ? "#{name}[]" : name
79
+ options[:multiple] = sinatra_tag_helper_multiple_option if options[:multiple] == true
80
+ input_tag('select', name, nil, options) { option_tags || '' }
81
+ end
82
+
83
+ def text_area_tag(name, content=nil, options={})
84
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
85
+ options[:tag] = 'textarea'
86
+ input_tag(nil, name, nil, options) { content || '' }
87
+ end
88
+
89
+ def text_field_tag(name, value=nil, options={})
90
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
91
+ input_tag('text', name, value, options)
92
+ end
93
+
94
+ def submit_tag(value="Save", options={})
95
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
96
+ input_tag('submit', 'commit', value, options)
97
+ end
98
+
99
+ def image_submit_tag(source, options={})
100
+ options[:disabled] = sinatra_tag_helper_disabled_option if options[:disabled]
101
+ options[:src] = source
102
+ input_tag('image', nil, nil, options)
103
+ end
104
+
105
+ end
106
+ end
107
+ end
108
+ end
109
+
110
+ Sinatra::Application.helpers Useful::SinatraHelpers::Tags::Forms
@@ -0,0 +1,45 @@
1
+ require 'sinatra/base'
2
+ require File.join(File.dirname(__FILE__), 'helpers.rb')
3
+
4
+ module Useful
5
+ module SinatraHelpers
6
+ module Tags
7
+ module Globals
8
+
9
+ include Useful::SinatraHelpers::Tags::Helpers
10
+
11
+ def input_tag(type, name, value, options={}, &block)
12
+ options[:tag] ||= :input
13
+ options[:type] = type unless type.nil?
14
+ unless name.nil?
15
+ options[:name] = name
16
+ options[:id] ||= sinatra_tag_helper_safe_id(name)
17
+ end
18
+ options[:value] = value unless value.nil?
19
+ tag(options.delete(:tag), options, &block)
20
+ end
21
+
22
+ def clear_tag(options={})
23
+ options[:tag] ||= :div
24
+ options[:style] ||= ''
25
+ options[:style] = "clear: both;#{options[:style]}"
26
+ tag(options.delete(:tag), options) { '' }
27
+ end
28
+
29
+ include Rack::Utils
30
+ alias_method :h, :escape_html
31
+
32
+ # emulator for 'tag'
33
+ # EX : tag :h1, "shizam", :title => "shizam"
34
+ # => <h1 title="shizam">shizam</h1>
35
+ def tag(name,options={})
36
+ "<#{name.to_s} #{sinatra_tag_helper_hash_to_html_attrs(options)} #{block_given? ? ">#{yield}</#{name}" : "/"}>"
37
+ end
38
+
39
+ end
40
+ end
41
+ end
42
+ end
43
+
44
+ Sinatra::Application.helpers Useful::SinatraHelpers::Tags::Globals
45
+
@@ -0,0 +1,33 @@
1
+ module Useful
2
+ module SinatraHelpers
3
+ module Tags
4
+ module Helpers
5
+
6
+ def sinatra_tag_helper_safe_id(id)
7
+ id.gsub(/\W/,'')
8
+ end
9
+
10
+ def sinatra_tag_helper_capture(*args, &block)
11
+ block.call(*args)
12
+ end
13
+
14
+ def sinatra_tag_helper_disabled_option
15
+ 'disabled'
16
+ end
17
+
18
+ def sinatra_tag_helper_checked_option
19
+ 'checked'
20
+ end
21
+
22
+ def sinatra_tag_helper_multiple_option
23
+ 'multiple'
24
+ end
25
+
26
+ def sinatra_tag_helper_hash_to_html_attrs(a_hash)
27
+ a_hash.collect{|key, val| "#{key}=\"#{val}\""}.join(' ')
28
+ end
29
+
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,67 @@
1
+ require 'sinatra/base'
2
+ require File.join(File.dirname(__FILE__), 'globals.rb')
3
+
4
+ module Sinatra
5
+ module SinatraHelpers
6
+ module Tags
7
+ module Links
8
+
9
+ # helper to emulate action view's 'link_to'
10
+ # EX : link_to "google", "http://google.com"
11
+ # => <a href="http://google.com">google</a>
12
+ def link_to(content,href,options={})
13
+ options.update :href => href
14
+ tag(:a, options) { content }
15
+ end
16
+
17
+ def mail_link_to(email)
18
+ link_to email, "mailto: #{email}"
19
+ end
20
+
21
+ # helper to emulate 'image_tag'
22
+ # EX : image_tag 'logo.jpg'
23
+ # => <img src="images/logo.jpg" />
24
+ def image_tag(src,options={})
25
+ options[:src] = ['/'].include?(src[0..0]) ? src : "/images/#{src}"
26
+ tag(:img, options)
27
+ end
28
+
29
+ # helper to emulate 'stylesheet_link_tag'
30
+ # EX : stylesheet_link_tag 'default'
31
+ # => <link rel="stylesheet" href="/stylesheets/default.css" type="text/css" media="all" title="no title" charset="utf-8">
32
+ def stylesheet_link_tag(srcs,options={})
33
+ options[:media] ||= "screen"
34
+ options[:type] ||= "text/css"
35
+ options[:rel] ||= "stylesheet"
36
+ srcs.to_a.collect do |src|
37
+ options[:href] = "/stylesheets/#{src}.css#{"?#{Time.now.to_i}" if Sinatra::Application.environment.to_s == 'development'}"
38
+ tag(:link, options)
39
+ end.join("\n")
40
+ end
41
+
42
+ # helper to emulate 'javascript_include_tag'
43
+ # EX : javascript_include_tag 'app'
44
+ # => <script src="/js/app.js" type="text/javascript" />
45
+ # EX : javascript_include_tag ['app', 'jquery']
46
+ # => <script src="/js/app.js" type="text/javascript" />
47
+ # => <script src="/js/jquery.js" type="text/javascript" />
48
+ def javascript_include_tag(srcs,options={})
49
+ options[:type] ||= "text/javascript"
50
+ srcs.to_a.collect do |src|
51
+ options[:src] = "/javascripts/#{src}.js#{"?#{Time.now.to_i}" if Sinatra::Application.environment.to_s == 'development'}"
52
+ tag(:script, options) { '' }
53
+ end.join("\n")
54
+ end
55
+
56
+ # helper to emulate 'javascript_tag'
57
+ def javascript_tag(options={})
58
+ options[:type] ||= "text/javascript"
59
+ tag(:script, options) { yield }
60
+ end
61
+
62
+ end
63
+ end
64
+ end
65
+
66
+ Sinatra::Application.helpers Sinatra::SinatraHelpers::Tags::Links
67
+ end
@@ -3,7 +3,7 @@ module Useful
3
3
 
4
4
  MAJOR = 0
5
5
  MINOR = 1
6
- TINY = 9
6
+ TINY = 10
7
7
 
8
8
  def self.to_s # :nodoc:
9
9
  [MAJOR, MINOR, TINY].join('.')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kelredd-useful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelredd
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-23 00:00:00 -07:00
12
+ date: 2009-06-24 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -63,6 +63,11 @@ files:
63
63
  - lib/useful/sinatra_helpers/erb/error_pages.rb
64
64
  - lib/useful/sinatra_helpers/erb/partials.rb
65
65
  - lib/useful/sinatra_helpers/erb.rb
66
+ - lib/useful/sinatra_helpers/tags
67
+ - lib/useful/sinatra_helpers/tags/forms.rb
68
+ - lib/useful/sinatra_helpers/tags/globals.rb
69
+ - lib/useful/sinatra_helpers/tags/helpers.rb
70
+ - lib/useful/sinatra_helpers/tags/links.rb
66
71
  - lib/useful/sinatra_helpers/tags.rb
67
72
  - lib/useful/sinatra_helpers.rb
68
73
  - lib/useful/version.rb