public
Description: A Ruby web application framework
Homepage: http://www.mackframework.com
Clone URL: git://github.com/markbates/mack.git
Click here to lend your support to: mack and make a donation at www.pledgie.com !
Added alias_deprecated_method. More rdoc for form helpers. [#19]
markbates (author)
Thu Aug 14 14:33:21 -0700 2008
commit  da506c7eae535567f53b14254a8449e796d956f1
tree    fca91476393fdee62cc14354c41bd94afe0a35c2
parent  7201f443900acb6f7e010d1aa6df4766416a5fd5
...
5
6
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
9
...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
0
@@ -5,4 +5,23 @@ module Kernel
0
     yield Mack::Utils::GemManager.instance
0
   end
0
   
0
+  def alias_deprecated_method(deprecated_method, new_method, version_deprecrated = nil, version_to_be_removed = nil) # :nodoc:
0
+    message = "DEPRECATED: '#{deprecated_method}'. Please use '#{new_method}' instead."
0
+    if version_deprecrated
0
+      message << " Deprecated in version: '#{version_deprecrated}'."
0
+      if version_to_be_removed.nil?
0
+        version_to_be_removed = ">=#{version_deprecrated.succ}"
0
+      end
0
+    end
0
+    if version_to_be_removed
0
+      message << " To be removed in version: '#{version_to_be_removed}'."
0
+    end
0
+    eval %{
0
+      def #{deprecated_method}(*args)
0
+        Mack.logger.warn("#{message}")
0
+        #{new_method}(*args)
0
+      end
0
+    }
0
+  end
0
+  
0
 end
0
\ No newline at end of file
...
5
6
7
8
 
9
10
11
...
5
6
7
 
8
9
10
11
0
@@ -5,7 +5,7 @@ class Symbol
0
   # Examples:
0
   #   @user = User.new(:accepted_tos => true)
0
   #   <%= :user.check_box :accepted_tos %> # => <input checked="checked" id="user_accepted_tos" name="user[accepted_tos]" type="checkbox" />
0
-  #   <%= :i_dont_exist.checkbox %> # => <input id="i_dont_exist" name="i_dont_exist" type="checkbox" />
0
+  #   <%= :i_dont_exist.check_box %> # => <input id="i_dont_exist" name="i_dont_exist" type="checkbox" />
0
   def check_box(*args)
0
     Thread.current[:view_template].check_box(self, *args)
0
   end
...
2
3
4
 
 
 
 
 
 
 
 
 
 
 
 
5
6
7
...
23
24
25
26
27
28
29
 
30
31
32
...
35
36
37
 
 
 
 
38
39
40
...
43
44
45
46
 
 
 
 
 
47
48
49
50
 
 
 
 
51
52
53
54
 
 
 
55
56
57
58
 
 
 
 
 
59
60
61
...
69
70
71
 
 
 
 
 
72
73
74
...
103
104
105
106
 
 
 
 
 
 
107
108
109
...
126
127
128
129
 
 
 
 
 
130
131
132
133
 
 
 
 
134
135
136
137
 
 
 
 
 
138
139
140
...
148
149
150
151
 
152
153
154
...
166
167
168
169
 
170
171
172
...
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
...
35
36
37
 
 
 
 
38
39
40
41
...
44
45
46
47
48
49
50
51
52
53
...
56
57
58
 
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
...
97
98
99
100
101
102
103
104
105
106
107
...
136
137
138
 
139
140
141
142
143
144
145
146
147
...
164
165
166
 
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
...
199
200
201
 
202
203
204
205
...
217
218
219
 
220
221
222
223
0
@@ -2,6 +2,18 @@ module Mack
0
   module ViewHelpers # :nodoc:
0
     module FormHelpers
0
       
0
+      # Examples:
0
+      #   <% form(users_create_url) do -%>
0
+      #     # form stuff here...
0
+      #   <% end -%>
0
+      # 
0
+      #   <% form(users_update_url, :method => :put) do -%>
0
+      #     # form stuff here...
0
+      #   <% end -%>
0
+      # 
0
+      #   <% form(photos_create_url, :multipart => true) do -%>
0
+      #     # form stuff here...
0
+      #   <% end -%>
0
       def form(action, options = {}, &block)
0
         options = {:method => :post, :action => action}.merge(options)
0
         if options[:id]
0
@@ -23,10 +35,7 @@ module Mack
0
         # content_tag(:form, options, &block)
0
       end
0
       
0
-      def submit_tag(value = "Submit", options = {}, *original_args)
0
-        Mack.logger.warn("DEPRECATED: 'submit_tag'. Please use 'submit_button' instead")
0
-        submit_button(value, options, *original_args)
0
-      end
0
+      alias_deprecated_method :submit_tag, :submit_button, '0.7.0'
0
       
0
       # Examples:
0
       #   <%= submit_button %> # => <input type="submit" value="Submit" />
0
@@ -35,6 +44,10 @@ module Mack
0
         non_content_tag(:input, {:type => :submit, :value => value}.merge(options))
0
       end
0
       
0
+      # Examples:
0
+      #   @user = User.new(:accepted_tos => true)
0
+      #   <%= check_box :user, :accepted_tos %> # => <input checked="checked" id="user_accepted_tos" name="user[accepted_tos]" type="checkbox" />
0
+      #   <%= check_box :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="checkbox" />
0
       def check_box(name, *args)
0
         build_form_element(name, {:type => :checkbox}, *args) do |var, fe, options|
0
           if options[:value]
0
@@ -43,19 +56,34 @@ module Mack
0
           options.delete(:value)
0
         end
0
       end
0
-
0
+      
0
+      # Examples:
0
+      #   @user = User.new(:bio_file => "~/bio.doc")
0
+      #   <%= file_field :user, :bio_file %> # => <input id="user_bio_field" name="user[bio_field]" type="file" value="~/bio.doc" />
0
+      #   <%= file_field :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="file" value="" />
0
       def file_field(name, *args)
0
         build_form_element(name, {:type => :file}, *args)
0
       end
0
 
0
+      # Examples:
0
+      #   @user = User.new(:email => "mark@mackframework.com")
0
+      #   <%= hidden_field :user, :email %> # => <input id="user_email" name="user[email]" type="hidden" value="mark@mackframework.com" />
0
+      #   <%= hidden_field :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="hidden" />
0
       def hidden_field(name, *args)
0
         build_form_element(name, {:type => :hidden}, *args)
0
       end
0
-
0
+      
0
+      # Examples:
0
+      #   <%= image_submit "logo.png" %> # => <input src="/images/logo.png" type="image" />
0
       def image_submit(src, options = {})
0
         non_content_tag(:input, {:type => :image, :src => "/images/#{src}"}.merge(options))
0
       end
0
 
0
+      # Examples:
0
+      #   @user = User.new
0
+      #   <%= label_tag :user, :email %> # => <label for="user_email">Email</label>
0
+      #   <%= label_tag :i_dont_exist %> # => <label for="i_dont_exist">I don't exist</label>
0
+      #   <%= label_tag :i_dont_exist, :value => "Hello" %> # => <label for="i_dont_exist">Hello</label>
0
       def label_tag(name, *args)
0
         fe = FormElement.new(*args)
0
         unless fe.options[:for]
0
@@ -69,6 +97,11 @@ module Mack
0
         content_tag(:label, fe.options, content)
0
       end
0
 
0
+      # Examples:
0
+      #   @user = User.new(:level => 1)
0
+      #   <%= select_tag :user, :level, :options => [["one", 1], ["two", 2]] %> # => <select id="user_level" name="user[level]"><option value="1" selected>one</option><option value="2" >two</option></select>
0
+      #   <%= select_tag :user :level, :options => {:one => 1, :two => 2} %> # => <select id="user_level" name="user[level]"><option value="1" selected>one</option><option value="2" >two</option></select>
0
+      #   <%= select_tag :i_dont_exist :options => [["one", 1], ["two", 2]], :selected => 1 %> # => <select id="i_dont_exist" name="i_dont_exist"><option value="1" selected>one</option><option value="2" >two</option></select>
0
       def select_tag(name, *args)
0
         var = instance_variable_get("@#{name}")
0
         fe = FormElement.new(*args)
0
@@ -103,7 +136,12 @@ module Mack
0
         
0
         return content_tag(:select, options.merge(fe.options), content)
0
       end
0
-
0
+      
0
+      # Examples:
0
+      #   @user = User.new(:bio => "my bio here")
0
+      #   <%= text_area :user, :bio %> # => <textarea id="user_bio" name="user[bio]">my bio here</textarea>
0
+      #   <%= text_area :i_dont_exist %> # => <textarea id="i_dont_exist" name="i_dont_exist"></textarea>
0
+      #   <%= text_area :i_dont_exist :value => "hi there" %> # => <textarea id="i_dont_exist" name="i_dont_exist">hi there</textarea>
0
       def text_area(name, *args)
0
         var = instance_variable_get("@#{name}")
0
         fe = FormElement.new(*args)
0
@@ -126,15 +164,28 @@ module Mack
0
           return content_tag(:textarea, options.merge(fe.options), content)
0
         end
0
       end
0
-
0
+      
0
+      # Examples:
0
+      #   @user = User.new(:email => "mark@mackframework.com")
0
+      #   <%= text_field :user, :email %> # => <input id="user_email" name="user[email]" type="text" value="mark@mackframework.com" />
0
+      #   <%= text_field :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="text" />
0
       def text_field(name, *args)
0
         build_form_element(name, {:type => :text}, *args)
0
       end
0
       
0
+      # Examples:
0
+      #   @user = User.new(:email => "mark@mackframework.com")
0
+      #   <%= password_field :user, :email %> # => <input id="user_email" name="user[email]" type="password" value="mark@mackframework.com" />
0
+      #   <%= password_field :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="password" />
0
       def password_field(name, *args)
0
         build_form_element(name, {:type => :password}, *args)
0
       end
0
       
0
+      # Examples:
0
+      #   @user = User.new(:level => 1)
0
+      #   <%= radio_button :user, :level %> # => <input checked="checked" id="user_level" name="user[level]" type="radio" value="1" />
0
+      #   <%= radio_button :user, :level, :value => 2 %> # => <input id="user_level" name="user[level]" type="radio" value="2" />
0
+      #   <%= radio_button :i_dont_exist %> # => <input id="i_dont_exist" name="i_dont_exist" type="radio" value="" />
0
       def radio_button(name, *args)
0
         build_form_element(name, {:type => :radio, :value => ""}, *args) do |var, fe, options|
0
           if fe.options[:value]
0
@@ -148,7 +199,7 @@ module Mack
0
       end
0
       
0
       private
0
-      def build_form_element(name, options, *original_args)
0
+      def build_form_element(name, options, *original_args) # :nodoc:
0
         var = instance_variable_get("@#{name}")
0
         fe = FormElement.new(*original_args)
0
         options = {:name => name, :id => name}.merge(options)
0
@@ -166,7 +217,7 @@ module Mack
0
         end
0
       end
0
       
0
-      class FormElement
0
+      class FormElement # :nodoc:
0
 
0
         attr_accessor :calling_method
0
         attr_accessor :options

Comments