Sha256: 4a2533e25f8d95ac741a6465dec1480388c8085d831210c2c571e148a103e3e8
Contents?: true
Size: 1.59 KB
Versions: 4
Compression:
Stored size: 1.59 KB
Contents
if defined? RHO_ME require 'rho/renderME' else require 'rho/render' end require 'rho/rhosupport' module Rho class RhoController def default_action return Hash['GET','show','PUT','update','POST','update', 'DELETE','delete'][@request['request-method']] unless @request['id'].nil? return Hash['GET','index','POST','create'][@request['request-method']] end def serve(object_mapping,req,res) @request, @response = req, res; @object_mapping = object_mapping @params = RhoSupport::query_params req send req['action'].nil? ? default_action : req['action'] end def link_to(name,action,id=nil,confirm=nil) action = action.to_s if (action != 'delete') "<a href=\"#{url_for(action,id)}\">#{name}</a>" else "<a href=\"#{url_for(action,id)}\" onclick=\""+ #if (confirm('#{confirm}')) { "var f = document.createElement('form'); f.style.display = 'none';" + "this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;f.submit();"+ "return false;\">#{name}</a>" end end def url_for(action,id=nil) action = action.to_s amurl = '/'+@request['application']+'/'+@request['model'] return amurl if action == 'create' or action == 'index' return amurl +'/'+ (id.nil? ? action.to_s : id.to_s + '/' + action.to_s) end def redirect(action,id=nil) @response['status'] = 302 @response['headers']['Location'] = url_for(action,id) @response['message'] = 'Moved temporarily' return '' end end # RhoController end # Rho
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rhodes-0.1.0 | lib/rho/rhocontroller.rb |
rhodes-0.1.1 | lib/rho/rhocontroller.rb |
rhodes-0.1.2 | lib/rho/rhocontroller.rb |
rhodes-0.1.3 | lib/rho/rhocontroller.rb |