Changeset 263
- Timestamp:
- 06/06/07 18:03:03 (1 year ago)
- Files:
-
- trunk/Rakefile (modified) (1 diff)
- trunk/lib/merb/core_ext/merb_array.rb (added)
- trunk/lib/merb/core_ext/merb_enumerable.rb (modified) (1 diff)
- trunk/lib/merb/core_ext/merb_hash.rb (modified) (2 diffs)
- trunk/lib/merb/generators/merb_app/merb_app.rb (modified) (1 diff)
- trunk/lib/merb/merb_abstract_controller.rb (modified) (1 diff)
- trunk/lib/merb/merb_controller.rb (modified) (1 diff)
- trunk/lib/merb/merb_mail_controller.rb (added)
- trunk/lib/merb/merb_mailer.rb (modified) (1 diff)
- trunk/lib/merb/mixins/render_mixin.rb (modified) (1 diff)
- trunk/tools/allison/cache/BODY (modified) (3 diffs)
- trunk/tools/allison/cache/INDEX (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/Rakefile
r258 r263 16 16 17 17 NAME = "merb" 18 VERS = "0.3. 4"18 VERS = "0.3.5" 19 19 CLEAN.include ['**/.*.sw?', '*.gem', '.config'] 20 20 trunk/lib/merb/core_ext/merb_enumerable.rb
r107 r263 5 5 end 6 6 end 7 8 def include_any? *args 9 args.any? {|arg| self.include?(arg) } 10 end 7 11 end trunk/lib/merb/core_ext/merb_hash.rb
r253 r263 130 130 def []=(key, value) 131 131 regular_writer(convert_key(key), convert_value(value)) 132 (meta_def key do; value; end) unless MerbHash.method_defined?(key) 133 (meta_def "#{key}=" do |val|; self[key] = val; end) unless MerbHash.method_defined?("#{key}=") 132 134 end 133 135 … … 167 169 end 168 170 169 # allow merbhash.key to work the same as merbhash[key]170 171 def method_missing(m,*a) 171 172 m.to_s =~ /=$/ ? self[$`]=a[0] : a==[] ? self[m] : raise(NoMethodError,"#{m}") trunk/lib/merb/generators/merb_app/merb_app.rb
r258 r263 20 20 Find.find(@path) do |f| 21 21 FileUtils.rm_rf(f) if /\.svn$/ =~ f 22 end 22 end 23 mailer_path = File.expand_path(File.join(@path, "dist", "app", "mailers")) 24 FileUtils.mkdir_p(["#{mailer_path}/helpers", "#{mailer_path}/views", "#{@path}/log"]) 23 25 puts 'Done' 24 26 end trunk/lib/merb/merb_abstract_controller.rb
r256 r263 12 12 start = Time.now 13 13 setup_session if respond_to?:setup_session 14 c ought = catch(:halt) { call_filters(before_filters) }15 @body = case c ought14 caught = catch(:halt) { call_filters(before_filters) } 15 @body = case caught 16 16 when :filter_chain_completed 17 17 send(action) 18 18 when String 19 c ought19 caught 20 20 when nil 21 21 filters_halted 22 22 when Symbol 23 send(c ought)23 send(caught) 24 24 when Proc 25 c ought.call(self)25 caught.call(self) 26 26 else 27 27 raise MerbControllerError, "The before filter chain is broken dude. wtf?" trunk/lib/merb/merb_controller.rb
r257 r263 98 98 end 99 99 100 # Sends a mail from a MailController 101 # 102 # send_mail FooMailer, :bar, :from => "foo@bar.com", :to => "baz@bat.com" 103 # 104 # would send an email via the FooMailer's bar method. 105 # 106 # mail_params, a hash, would be sent to the mailer, and includes items like from, to 107 # subject, and cc. See Merb::MailController#dispatch_and_deliver for more details. 108 # 109 # send_params, a hash, would be sent to the MailController, and is available to methods 110 # in the MailController as <tt>params</tt>. If you do not send any send_params, this 111 # controller's params will be available to the MailController as <tt>params</tt> 112 def send_mail klass, method, mail_params, send_params = nil 113 klass.new(send_params || params, self).dispatch_and_deliver(method, mail_params) 114 end 115 100 116 end 101 117 trunk/lib/merb/merb_mailer.rb
r260 r263 6 6 MERB_LOGGER.warn "You need to install the mailfactory gem to use Merb::Mailer" 7 7 end 8 9 class MailFactory 10 attr_reader :html, :text 11 end 8 12 9 13 module Merb trunk/lib/merb/mixins/render_mixin.rb
r251 r263 198 198 else 199 199 raise "called find_template without an :action or :layout" 200 end 200 end 201 201 extensions = [@@template_extensions.keys].flatten.uniq 202 202 glob = "#{path}.{#{opts[:ext] || extensions.join(',')}}" trunk/tools/allison/cache/BODY
r246 r263 1 <html xml ns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" media="screen" href="%style_url%" rel="stylesheet"/><script type="text/javascript">1 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" rel="stylesheet" media="screen" href="%style_url%"/><script type="text/javascript"> 2 2 // Javascript for Allison RDoc template 3 3 // Copyright 2006 Cloudburst LLC … … 402 402 </div> 403 403 ENDIF:methods 404 <div id="spacer"></div><div class="navigation dark index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a href="#" id="class_link" onclick="toggle('class'); toggleText('class_link'); return false;">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter: </label><input type="text" onKeyUp="return filterList('class', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_class"></input></form></div></div><div class="navigation dark index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a href="#" id="file_link" onclick="toggle('file'); toggleText('file_link'); return false;">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter: </label><input type="text" onKeyUp="return filterList('file', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_file"></input></form></div></div><div class="navigation dark index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a href="#" id="method_link" onclick="toggle('method'); toggleText('method_link'); return false;">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter: </label><input type="text" onKeyUp="return filterList('method', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_method"></input></form></div></div><div class="curve" id="left_curve_0"></div><div class="curve" id="left_curve_1"></div><div class="curve" id="left_curve_2"></div><div class="curve" id="left_curve_3"></div><div class="curve" id="left_curve_4"></div><div class="curve" id="left_curve_5"></div><div class="curve" id="left_curve_6"></div><div class="curve" id="left_curve_7"></div><div class="curve" id="left_curve_8"></div><div class="curve" id="left_curve_9"></div></div><div id="content">404 <div id="spacer"></div><div class="navigation dark index" id="class_wrapper"><div class="list_header"><h3>All classes</h3></div><div class="list_header_link"><a onclick="toggle('class'); toggleText('class_link'); return false;" href="#" id="class_link">Hide...</a></div><div class="clear"></div><div id="class"><form><label for="filter_class">Filter: </label><input type="text" onKeyUp="return filterList('class', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_class"></input></form></div></div><div class="navigation dark index" id="file_wrapper"><div class="list_header"><h3>All files</h3></div><div class="list_header_link"><a onclick="toggle('file'); toggleText('file_link'); return false;" href="#" id="file_link">Hide...</a></div><div class="clear"></div><div id="file"><form><label for="filter_file">Filter: </label><input type="text" onKeyUp="return filterList('file', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_file"></input></form></div></div><div class="navigation dark index" id="method_wrapper"><div class="list_header"><h3>All methods</h3></div><div class="list_header_link"><a onclick="toggle('method'); toggleText('method_link'); return false;" href="#" id="method_link">Show...</a></div><div class="clear"></div><div id="method"><form><label for="filter_method">Filter: </label><input type="text" onKeyUp="return filterList('method', this.value, event);" onKeyPress="return disableSubmit(event);" id="filter_method"></input></form></div></div><div class="curve" id="left_curve_0"></div><div class="curve" id="left_curve_1"></div><div class="curve" id="left_curve_2"></div><div class="curve" id="left_curve_3"></div><div class="curve" id="left_curve_4"></div><div class="curve" id="left_curve_5"></div><div class="curve" id="left_curve_6"></div><div class="curve" id="left_curve_7"></div><div class="curve" id="left_curve_8"></div><div class="curve" id="left_curve_9"></div></div><div id="content"> 405 405 IF:title 406 406 <h1 id="item_name">%title%</h1> … … 572 572 573 573 IF:sourcecode 574 <p class="source_link" id="%aref%-show-link"><a href="#" id="%aref%-link" onclick="toggle('%aref%-source'); toggleText('%aref%-link'); return false;">Show source...</a></p><div class="source" id="%aref%-source"><pre>%sourcecode%</pre></div>574 <p class="source_link" id="%aref%-show-link"><a onclick="toggle('%aref%-source'); toggleText('%aref%-link'); return false;" href="#" id="%aref%-link">Show source...</a></p><div class="source" id="%aref%-source"><pre>%sourcecode%</pre></div> 575 575 ENDIF:sourcecode 576 576 </div></div> trunk/tools/allison/cache/INDEX
r246 r263 1 <html xml ns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" media="screen" href="rdoc-style.css" rel="stylesheet"/><meta content="0;url=%initial_page%" http-equiv="refresh"/></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div class="curve" id="preheader_curve_6"></div><div class="curve" id="preheader_curve_7"></div><div class="curve" id="preheader_curve_8"></div><div class="curve" id="preheader_curve_9"></div><div id="header"><span id="title"><p> </p><h1>Ruby Documentation</h1></span></div><div class="clear"></div><div id="redirect"><a href="%initial_page%"><h1>Redirect</h1></a></div></div></body></html>1 <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"/><title>%title%</title><link type="text/css" rel="stylesheet" media="screen" href="rdoc-style.css"/><meta content="0;url=%initial_page%" http-equiv="refresh"/></head><body><div id="container"><div class="curve" id="preheader_curve_0"></div><div class="curve" id="preheader_curve_1"></div><div class="curve" id="preheader_curve_2"></div><div class="curve" id="preheader_curve_3"></div><div class="curve" id="preheader_curve_4"></div><div class="curve" id="preheader_curve_5"></div><div class="curve" id="preheader_curve_6"></div><div class="curve" id="preheader_curve_7"></div><div class="curve" id="preheader_curve_8"></div><div class="curve" id="preheader_curve_9"></div><div id="header"><span id="title"><p> </p><h1>Ruby Documentation</h1></span></div><div class="clear"></div><div id="redirect"><a href="%initial_page%"><h1>Redirect</h1></a></div></div></body></html>
