Class: RubyApp::Elements::Mobile::Dialogs::ExceptionDialog

Inherits:
ResponseDialog show all
Defined in:
lib/ruby_app/elements/mobile/dialogs/exception_dialog.rb

Instance Attribute Summary

Attributes inherited from ResponseDialog

#response

Attributes inherited from RubyApp::Element

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RubyApp::Elements::Mobile::Dialog

show

Methods inherited from Page

#hide, #show

Methods inherited from RubyApp::Element

#element_id, get_element

Methods included from Mixins::ConfigurationMixin

#configuration

Methods included from Mixins::TranslateMixin

#localize, #translate

Methods included from Mixins::TemplateMixin

#exclude_parent_template, #exclude_parent_template?, #get_cache, #get_default_template, #get_template, #get_template_name, #get_templates, #template_path

Methods included from Mixins::RenderMixin

#content_for, #get_cache, #get_default_template, #get_templates, #render

Constructor Details

#initialize(exception) ⇒ ExceptionDialog

Returns a new instance of ExceptionDialog.



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ruby_app/elements/mobile/dialogs/exception_dialog.rb', line 14

def initialize(exception)
  super()

  @exception = exception

  @close_link = RubyApp::Elements::Mobile::Dialogs::ResponseDialog::CloseLink.new
  @close_link.clicked do |element, event|
    self.hide(event, element.options)
  end

end

Class Method Details

.show_on_exception(event, options = {}) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/ruby_app/elements/mobile/dialogs/exception_dialog.rb', line 26

def self.show_on_exception(event, options = {})
  begin
    yield
  rescue => exception
    RubyApp::Log.exception(RubyApp::Log::ERROR, exception)
    self.show(event, RubyApp::Elements::Mobile::Dialogs::ExceptionDialog.new(exception), options)
  end
end