Module: SimpleWorkflow::Helper
- Included in:
- ActionController::Base, ApplicationHelper
- Defined in:
- lib/simple_workflow/helper.rb
Instance Method Summary collapse
- #back_or_link_to(title, options = nil, html_options = nil) ⇒ Object
- #detour? ⇒ Boolean
- #detour_to(title, options, html_options = nil, &block) ⇒ Object
- #image_button_to(image_source, title, options, html_options = {}) ⇒ Object
- #image_detour_to(image_source, title, url_options, image_options = nil, link_options = nil) ⇒ Object
- #image_link_to(image_source, title, url_options, image_options = nil, link_options = nil) ⇒ Object
- #image_link_to_remote(image_source, title, link_options, image_options = nil, html_options = {}) ⇒ Object
- #with_detour(options, back_options = nil) ⇒ Object
Instance Method Details
#back_or_link_to(title, options = nil, html_options = nil) ⇒ Object
64 65 66 67 68 69 70 71 |
# File 'lib/simple_workflow/helper.rb', line 64 def back_or_link_to(title, = nil, = nil) if session[:detours] = {:return_from_detour => true}.update(session[:detours].last) [:id] ||= nil logger.debug "linked return from detour: #{.inspect}" end link_to(title, , ) if end |
#detour? ⇒ Boolean
60 61 62 |
# File 'lib/simple_workflow/helper.rb', line 60 def detour? not session[:detours].nil? end |
#detour_to(title, options, html_options = nil, &block) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/simple_workflow/helper.rb', line 8 def detour_to(title, , = nil, &block) if block = = title link_with_detour = link_to(with_detour(), , &block) else link_with_detour = link_to title, with_detour(), end if link_with_detour.size > 4096 # URL maximum size overflow if block link_with_detour = link_to(, , &block) else link_with_detour = link_to title, with_detour(), end end link_with_detour end |
#image_button_to(image_source, title, options, html_options = {}) ⇒ Object
2 3 4 5 6 |
# File 'lib/simple_workflow/helper.rb', line 2 def (image_source, title, , = {}) image_submit_tag image_source, {:class => 'image-submit', :alt => title, :title => title, :id => "#{title}_#{[:id]}", :name => title, :onclick => "form.action='#{url_for()}'"}.update() end |
#image_detour_to(image_source, title, url_options, image_options = nil, link_options = nil) ⇒ Object
32 33 34 35 36 |
# File 'lib/simple_workflow/helper.rb', line 32 def image_detour_to(image_source, title, , = nil, = nil) ||= {:class => 'image-submit'} .update :alt => title, :title => title detour_to image_tag(image_source, ), , end |
#image_link_to(image_source, title, url_options, image_options = nil, link_options = nil) ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/simple_workflow/helper.rb', line 38 def image_link_to(image_source, title, , = nil, = nil) if == true = {:method => :post} elsif == false = nil end ||= {:class => 'image-submit'} .update :alt => title, :title => title link_to image_tag(image_source, ), , end |
#image_link_to_remote(image_source, title, link_options, image_options = nil, html_options = {}) ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/simple_workflow/helper.rb', line 49 def image_link_to_remote(image_source, title, , = nil, = {}) if == true = {:method => :post} elsif == false = {} end ||= {:class => 'image-submit'} .update :alt => title, :title => title link_to image_tag(image_source, ), , .merge(:remote => true) end |
#with_detour(options, back_options = nil) ⇒ Object
26 27 28 29 30 |
# File 'lib/simple_workflow/helper.rb', line 26 def with_detour(, = nil) detour = || params.reject { |k, v| [:detour, :return_from_detour].include? k.to_sym } url = url_for() return url + (url =~ /\?/ ? '&' : '?') + detour.to_param('detour') end |