RubyApp 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. data/.gitignore +3 -3
  2. data/Gemfile.lock +1 -1
  3. data/features/default.feature +2 -2
  4. data/features/elements/button.feature +9 -0
  5. data/features/{dialog.feature → elements/dialog.feature} +19 -13
  6. data/features/elements/input.feature +20 -0
  7. data/features/elements/link.feature +9 -0
  8. data/features/elements/list.feature +19 -0
  9. data/features/elements/markdown.feature +9 -0
  10. data/features/elements/page.feature +10 -0
  11. data/features/elements/pages/exception_page.feature +10 -0
  12. data/features/step_definitions/default_macros.rb +1 -1
  13. data/features/step_definitions/default_steps.rb +7 -3
  14. data/features/support/env.rb +1 -1
  15. data/lib/ruby_app/application.rb +16 -41
  16. data/lib/ruby_app/configuration.rb +9 -17
  17. data/lib/ruby_app/element.rb +27 -23
  18. data/lib/ruby_app/elements/base/base_page.js.haml +1 -1
  19. data/lib/ruby_app/elements/base/base_page.rb +5 -5
  20. data/lib/ruby_app/elements/list.js.haml +1 -1
  21. data/lib/ruby_app/elements/list.rb +5 -5
  22. data/lib/ruby_app/elements/lists/select.js.haml +1 -1
  23. data/lib/ruby_app/elements/lists/select.rb +1 -3
  24. data/lib/ruby_app/elements/markdown.js.haml +1 -1
  25. data/lib/ruby_app/elements/markdown.rb +5 -5
  26. data/lib/ruby_app/elements/navigation/base/base_breadcrumbs.js.haml +1 -1
  27. data/lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb +3 -3
  28. data/lib/ruby_app/elements/navigation/page_link.js.haml +1 -1
  29. data/lib/ruby_app/elements/navigation/page_link.rb +3 -3
  30. data/lib/ruby_app/elements/navigation/page_menu.js.haml +1 -1
  31. data/lib/ruby_app/elements/navigation/page_menu.rb +3 -3
  32. data/lib/ruby_app/elements/pages/authentication/open_id/authentication_page.rb +2 -2
  33. data/lib/ruby_app/elements/pages/authentication/open_id/ax_authentication_page.rb +2 -2
  34. data/lib/ruby_app/elements/pages/authentication/open_id/google_authentication_page.rb +1 -1
  35. data/lib/ruby_app/elements/pages/authentication/open_id/my_open_id_authentication_page.rb +1 -1
  36. data/lib/ruby_app/elements/pages/authentication/open_id/yahoo_authentication_page.rb +1 -1
  37. data/lib/ruby_app/elements/pages/default_page.rb +1 -1
  38. data/lib/ruby_app/elements/pages/exception_page.html.haml +0 -2
  39. data/lib/ruby_app/elements/pages/settings_page.rb +2 -2
  40. data/lib/ruby_app/elements/pages/test_pages/button_test_page.css.haml +3 -0
  41. data/lib/ruby_app/elements/pages/test_pages/button_test_page.html.haml +7 -0
  42. data/lib/ruby_app/elements/pages/test_pages/button_test_page.js.haml +3 -0
  43. data/lib/ruby_app/elements/pages/test_pages/button_test_page.rb +39 -0
  44. data/lib/ruby_app/elements/pages/test_pages/default_test_page.rb +8 -15
  45. data/lib/ruby_app/elements/pages/test_pages/dialog_test_page.rb +1 -1
  46. data/lib/ruby_app/elements/pages/test_pages/exception_test_page.html.haml +5 -0
  47. data/lib/ruby_app/elements/pages/test_pages/exception_test_page.rb +33 -0
  48. data/lib/ruby_app/elements/pages/test_pages/input_test_page.css.haml +1 -0
  49. data/lib/ruby_app/elements/pages/test_pages/input_test_page.html.haml +3 -0
  50. data/lib/ruby_app/elements/pages/test_pages/input_test_page.js.haml +1 -0
  51. data/lib/ruby_app/elements/pages/test_pages/input_test_page.rb +2 -0
  52. data/lib/ruby_app/elements/pages/test_pages/link_test_page.css.haml +3 -0
  53. data/lib/ruby_app/elements/pages/test_pages/link_test_page.html.haml +7 -0
  54. data/lib/ruby_app/elements/pages/test_pages/link_test_page.js.haml +3 -0
  55. data/lib/ruby_app/elements/pages/test_pages/link_test_page.rb +39 -0
  56. data/lib/ruby_app/elements/pages/test_pages/linked_test_page.css.haml +2 -0
  57. data/lib/ruby_app/elements/pages/test_pages/linked_test_page.html.haml +5 -0
  58. data/lib/ruby_app/elements/pages/test_pages/linked_test_page.js.haml +2 -0
  59. data/lib/ruby_app/elements/pages/test_pages/linked_test_page.rb +30 -0
  60. data/lib/ruby_app/elements/pages/test_pages/list_test_page.css.haml +1 -0
  61. data/lib/ruby_app/elements/pages/test_pages/list_test_page.html.haml +2 -1
  62. data/lib/ruby_app/elements/pages/test_pages/list_test_page.js.haml +1 -0
  63. data/lib/ruby_app/elements/pages/test_pages/list_test_page.rb +16 -11
  64. data/lib/ruby_app/elements/pages/test_pages/markdown_test_page.css.haml +2 -0
  65. data/lib/ruby_app/elements/pages/test_pages/markdown_test_page.html.haml +5 -0
  66. data/lib/ruby_app/elements/pages/test_pages/markdown_test_page.js.haml +2 -0
  67. data/lib/ruby_app/elements/pages/test_pages/markdown_test_page.rb +38 -0
  68. data/lib/ruby_app/elements/pages/test_pages/select_test_page.rb +44 -0
  69. data/lib/ruby_app/elements/pages/test_pages/test_page.html.haml +14 -0
  70. data/lib/ruby_app/elements/pages/test_pages/test_page.rb +42 -0
  71. data/lib/ruby_app/language.rb +9 -12
  72. data/lib/ruby_app/log.rb +19 -9
  73. data/lib/ruby_app/mixins/{configuration.rb → configure_mixin.rb} +2 -2
  74. data/lib/ruby_app/mixins/{delegate.rb → delegate_mixin.rb} +1 -1
  75. data/lib/ruby_app/mixins/{hash.rb → hash_mixin.rb} +5 -1
  76. data/lib/ruby_app/mixins/{render.rb → render_mixin.rb} +2 -2
  77. data/lib/ruby_app/mixins/{route.rb → route_mixin.rb} +5 -5
  78. data/lib/ruby_app/mixins/{template.rb → template_mixin.rb} +11 -11
  79. data/lib/ruby_app/mixins/{translate.rb → translate_mixin.rb} +1 -1
  80. data/lib/ruby_app/rack/application.rb +3 -3
  81. data/lib/ruby_app/rack/route.rb +14 -30
  82. data/lib/ruby_app/request.rb +36 -13
  83. data/lib/ruby_app/session.rb +17 -23
  84. data/lib/ruby_app/translations/en.yml +77 -15
  85. data/lib/ruby_app/version.rb +1 -1
  86. data/rakefile +1 -12
  87. data/spec/application_spec.rb +25 -0
  88. data/spec/configuration_spec.rb +25 -0
  89. data/spec/element_spec.rb +54 -5
  90. data/spec/elements/navigation/breadcrumbs_spec.rb +17 -25
  91. data/spec/elements/page_spec.rb +2 -13
  92. data/spec/language_spec.rb +25 -0
  93. data/spec/log_spec.rb +25 -0
  94. data/spec/mixins/configure_mixin_spec.rb +24 -0
  95. data/spec/mixins/delegate_mixin_spec.rb +28 -0
  96. data/spec/mixins/hash_mixin_spec.rb +39 -0
  97. data/spec/mixins/render_mixin_spec.rb +127 -0
  98. data/spec/mixins/route_mixin_spec.rb +60 -0
  99. data/spec/mixins/{template_spec.rb → template_mixin_spec.rb} +3 -3
  100. data/spec/mixins/test_a.css.haml +4 -3
  101. data/spec/mixins/test_a.html.haml +0 -1
  102. data/spec/mixins/test_a.js.haml +4 -3
  103. data/spec/mixins/test_b.css.haml +4 -4
  104. data/spec/mixins/test_b.js.haml +2 -2
  105. data/spec/mixins/test_c.css.haml +4 -4
  106. data/spec/mixins/test_c.js.haml +2 -2
  107. data/spec/mixins/translate_mixin_spec.rb +25 -0
  108. data/spec/request_spec.rb +25 -0
  109. data/spec/session_spec.rb +39 -0
  110. data/spec/spec_helper.rb +7 -0
  111. data/spec/support/shared.rb +19 -5
  112. metadata +75 -38
  113. data/features/breadcrumbs.feature +0 -11
  114. data/features/content.feature +0 -16
  115. data/features/exception.feature +0 -53
  116. data/features/input.feature +0 -13
  117. data/features/list.feature +0 -12
  118. data/features/month.feature +0 -14
  119. data/spec/mixins/render_spec.rb +0 -191
  120. data/spec/mixins/route_spec.rb +0 -60
  121. data/spec/mixins/test_e.html.haml +0 -2
  122. data/spec/mixins/test_f.html.haml +0 -2
  123. data/spec/mixins/test_g.css.haml +0 -4
@@ -91,7 +91,7 @@
91
91
  if ( RubyApp.interval > 0 ) {
92
92
  window.clearInterval(RubyApp._interval);
93
93
  }
94
- RubyApp.sendEvent({_class:'RubyApp::Elements::Page::ReleasedEvent', source_id:$('html').attr('id')});
94
+ RubyApp.sendEvent({_class:'RubyApp::Elements::Page::UnloadedEvent', source_id:$('html').attr('id')});
95
95
  });
96
96
 
97
97
  = yield
@@ -29,7 +29,7 @@ module RubyApp
29
29
 
30
30
  end
31
31
 
32
- class ReleasedEvent < RubyApp::Element::Event
32
+ class UnloadedEvent < RubyApp::Element::Event
33
33
 
34
34
  def initialize(data)
35
35
  super(data)
@@ -43,7 +43,7 @@ module RubyApp
43
43
 
44
44
  event :loaded
45
45
  event :triggered
46
- event :released
46
+ event :unloaded
47
47
 
48
48
  def initialize
49
49
  super
@@ -55,7 +55,7 @@ module RubyApp
55
55
  def on_event(event)
56
56
  on_loaded(event) if event.is_a?(RubyApp::Elements::Base::BasePage::LoadedEvent)
57
57
  on_triggered(event) if event.is_a?(RubyApp::Elements::Base::BasePage::TriggeredEvent)
58
- on_released(event) if event.is_a?(RubyApp::Elements::Base::BasePage::ReleasedEvent)
58
+ on_unloaded(event) if event.is_a?(RubyApp::Elements::Base::BasePage::UnloadedEvent)
59
59
  super(event)
60
60
  end
61
61
 
@@ -67,8 +67,8 @@ module RubyApp
67
67
  triggered(event)
68
68
  end
69
69
 
70
- def on_released(event)
71
- released(event)
70
+ def on_unloaded(event)
71
+ unloaded(event)
72
72
  end
73
73
 
74
74
  end
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $("ul.list > li.item > a.item").live('click', function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::List::SelectedEvent', source_id:$(this).parent().parent().attr('id'), index:$(this).attr('index')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::List::ClickedEvent', source_id:$(this).parent().parent().attr('id'), index:$(this).attr('index')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -10,7 +10,7 @@ module RubyApp
10
10
 
11
11
  class List < RubyApp::Element
12
12
 
13
- class SelectedEvent < RubyApp::Element::Event
13
+ class ClickedEvent < RubyApp::Element::Event
14
14
 
15
15
  attr_reader :index, :item
16
16
 
@@ -30,7 +30,7 @@ module RubyApp
30
30
 
31
31
  attr_accessor :items
32
32
 
33
- event :selected
33
+ event :clicked
34
34
 
35
35
  def initialize
36
36
  super
@@ -40,12 +40,12 @@ module RubyApp
40
40
  protected
41
41
 
42
42
  def on_event(event)
43
- on_selected(event) if event.is_a?(RubyApp::Elements::List::SelectedEvent)
43
+ on_clicked(event) if event.is_a?(RubyApp::Elements::List::ClickedEvent)
44
44
  super(event)
45
45
  end
46
46
 
47
- def on_selected(event)
48
- selected(event)
47
+ def on_clicked(event)
48
+ clicked(event)
49
49
  end
50
50
 
51
51
  end
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $("ul.select > li.item > a.item").live('click', function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::List::SelectedEvent', source_id:$(this).parent().parent().attr('id'), index:$(this).attr('index')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::List::ClickedEvent', source_id:$(this).parent().parent().attr('id'), index:$(this).attr('index')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -13,8 +13,6 @@ module RubyApp
13
13
 
14
14
  attr_accessor :selected_index, :selected_item
15
15
 
16
- event :selected
17
-
18
16
  def initialize
19
17
  super
20
18
  end
@@ -31,7 +29,7 @@ module RubyApp
31
29
 
32
30
  protected
33
31
 
34
- def on_selected(event)
32
+ def on_clicked(event)
35
33
  @selected_index = event.index
36
34
  @selected_item = event.item
37
35
  event.update_element(self)
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $('div.markdown a').live('click', function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::Markdown::NavigatedEvent', source_id:$(this).parents('div.markdown').attr('id'), name:$(this).attr('href')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::Markdown::ClickedEvent', source_id:$(this).parents('div.markdown').attr('id'), name:$(this).attr('href')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -10,7 +10,7 @@ module RubyApp
10
10
 
11
11
  class Markdown < RubyApp::Element
12
12
 
13
- class NavigatedEvent < RubyApp::Element::Event
13
+ class ClickedEvent < RubyApp::Element::Event
14
14
 
15
15
  attr_reader :name
16
16
 
@@ -27,7 +27,7 @@ module RubyApp
27
27
 
28
28
  template_path(:all, File.dirname(__FILE__))
29
29
 
30
- event :navigated
30
+ event :clicked
31
31
 
32
32
  def initialize
33
33
  super
@@ -36,12 +36,12 @@ module RubyApp
36
36
  protected
37
37
 
38
38
  def on_event(event)
39
- on_navigated(event) if event.is_a?(RubyApp::Elements::Markdown::NavigatedEvent)
39
+ on_clicked(event) if event.is_a?(RubyApp::Elements::Markdown::ClickedEvent)
40
40
  super(event)
41
41
  end
42
42
 
43
- def on_navigated(event)
44
- navigated(event)
43
+ def on_clicked(event)
44
+ clicked(event)
45
45
  end
46
46
 
47
47
  end
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $("div.breadcrumbs a").click(function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::Breadcrumbs::NavigatedEvent', source_id:$(this).parent().attr('id'), page_id:$(this).attr('page_id')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::Breadcrumbs::ClickedEvent', source_id:$(this).parent().attr('id'), page_id:$(this).attr('page_id')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -14,7 +14,7 @@ module RubyApp
14
14
 
15
15
  class BaseBreadcrumbs < RubyApp::Element
16
16
 
17
- class NavigatedEvent < RubyApp::Element::Event
17
+ class ClickedEvent < RubyApp::Element::Event
18
18
 
19
19
  attr_reader :page
20
20
 
@@ -38,11 +38,11 @@ module RubyApp
38
38
  protected
39
39
 
40
40
  def on_event(event)
41
- on_navigated(event) if event.is_a?(RubyApp::Elements::Navigation::Base::BaseBreadcrumbs::NavigatedEvent)
41
+ on_clicked(event) if event.is_a?(RubyApp::Elements::Navigation::Base::BaseBreadcrumbs::ClickedEvent)
42
42
  super(event)
43
43
  end
44
44
 
45
- def on_navigated(event)
45
+ def on_clicked(event)
46
46
  RubyApp::Session.pages.slice!(RubyApp::Session.pages.index(event.page) + 1, RubyApp::Session.pages.length - ( RubyApp::Session.pages.index(event.page) + 1 ))
47
47
  event.refresh
48
48
  end
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $("span.link a.page").click(function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::PageLink::NavigatedEvent', source_id:$(this).parent().attr('id'), page:$(this).attr('page')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::PageLink::ClickedEvent', source_id:$(this).parent().attr('id'), page:$(this).attr('page')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -7,7 +7,7 @@ module RubyApp
7
7
 
8
8
  class PageLink < RubyApp::Element
9
9
 
10
- class NavigatedEvent < RubyApp::Element::Event
10
+ class ClickedEvent < RubyApp::Element::Event
11
11
 
12
12
  attr_reader :page
13
13
 
@@ -38,11 +38,11 @@ module RubyApp
38
38
  protected
39
39
 
40
40
  def on_event(event)
41
- on_navigated(event) if event.is_a?(RubyApp::Elements::Navigation::PageLink::NavigatedEvent)
41
+ on_clicked(event) if event.is_a?(RubyApp::Elements::Navigation::PageLink::ClickedEvent)
42
42
  super(event)
43
43
  end
44
44
 
45
- def on_navigated(event)
45
+ def on_clicked(event)
46
46
  RubyApp::Session.pages.push(event.page.new)
47
47
  event.refresh
48
48
  end
@@ -4,7 +4,7 @@
4
4
  $(document).ready(function() {
5
5
  $("div.menu a.page").click(function(event) {
6
6
  event.preventDefault();
7
- RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::PageMenu::NavigatedEvent', source_id:$(this).parent().parent().attr('id'), page:$(this).attr('page')});
7
+ RubyApp.sendEvent({_class:'RubyApp::Elements::Navigation::PageMenu::ClickedEvent', source_id:$(this).parent().parent().attr('id'), page:$(this).attr('page')});
8
8
  });
9
9
  });
10
10
  = yield
@@ -7,7 +7,7 @@ module RubyApp
7
7
 
8
8
  class PageMenu < RubyApp::Element
9
9
 
10
- class NavigatedEvent < RubyApp::Element::Event
10
+ class ClickedEvent < RubyApp::Element::Event
11
11
 
12
12
  attr_reader :page
13
13
 
@@ -38,11 +38,11 @@ module RubyApp
38
38
  protected
39
39
 
40
40
  def on_event(event)
41
- on_navigated(event) if event.is_a?(RubyApp::Elements::Navigation::PageMenu::NavigatedEvent)
41
+ on_clicked(event) if event.is_a?(RubyApp::Elements::Navigation::PageMenu::ClickedEvent)
42
42
  super(event)
43
43
  end
44
44
 
45
- def on_navigated(event)
45
+ def on_clicked(event)
46
46
  RubyApp::Session.pages.pop
47
47
  RubyApp::Session.pages.push(event.page.new)
48
48
  event.refresh
@@ -2,7 +2,6 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
 
4
4
  require 'openid'
5
- require 'openid/store/filesystem'
6
5
 
7
6
  module RubyApp
8
7
 
@@ -28,7 +27,8 @@ module RubyApp
28
27
  self.loaded do |element, event|
29
28
  RubyApp::Session.show(event, RubyApp::Elements::Dialogs::BusyDialog.new(RubyApp::Elements::Pages::Authentication::OpenID::AuthenticationPage.translate.busy_dialog.message)) do |_event|
30
29
  if RubyApp::Request.query.empty?
31
- @consumer = ::OpenID::Consumer.new(RubyApp::Session.data, ::OpenID::Store::Filesystem.new(File.dirname(__FILE__)))
30
+ @consumer = ::OpenID::Consumer.new(RubyApp::Session.data, nil)
31
+ RubyApp::Log.debug("#{self.class}#loaded identifier=#{identifier.inspect}")
32
32
  request = @consumer.begin(identifier)
33
33
  self.process_request(request)
34
34
  _event.go(request.redirect_url(RubyApp::Request.url, RubyApp::Request.url))
@@ -25,7 +25,7 @@ module RubyApp
25
25
 
26
26
  def process_request(request)
27
27
  ax_request = ::OpenID::AX::FetchRequest.new
28
- ax_request.add(::OpenID::AX::AttrInfo.new(self.configuration.attributes.email, 'Email', true))
28
+ ax_request.add(::OpenID::AX::AttrInfo.new(self.configure.attributes.email, 'Email', true))
29
29
  request.add_extension(ax_request)
30
30
  end
31
31
 
@@ -33,7 +33,7 @@ module RubyApp
33
33
  ax_response = ::OpenID::AX::FetchResponse.from_success_response(response)
34
34
  if ax_response
35
35
  self.create_identity_from_url(response.identity_url,
36
- :email => ax_response.data[self.configuration.attributes.email].first)
36
+ :email => ax_response.data[self.configure.attributes.email].first)
37
37
  else
38
38
  super(response)
39
39
  end
@@ -13,7 +13,7 @@ module RubyApp
13
13
 
14
14
  template_path(:all, File.dirname(__FILE__))
15
15
 
16
- def initialize(identifier = self.configuration.identifier)
16
+ def initialize(identifier = self.configure.identifier)
17
17
  super(identifier)
18
18
  end
19
19
 
@@ -13,7 +13,7 @@ module RubyApp
13
13
 
14
14
  template_path(:all, File.dirname(__FILE__))
15
15
 
16
- def initialize(identifier = self.configuration.identifier)
16
+ def initialize(identifier = self.configure.identifier)
17
17
  super(identifier)
18
18
  end
19
19
 
@@ -13,7 +13,7 @@ module RubyApp
13
13
 
14
14
  template_path(:all, File.dirname(__FILE__))
15
15
 
16
- def initialize(identifier = self.configuration.identifier)
16
+ def initialize(identifier = self.configure.identifier)
17
17
  super(identifier)
18
18
  end
19
19
 
@@ -15,7 +15,7 @@ module RubyApp
15
15
  super
16
16
 
17
17
  @markdown = RubyApp::Elements::Markdown.new
18
- @markdown.navigated do |element, event|
18
+ @markdown.clicked do |element, event|
19
19
  case event.name
20
20
  when 'go_test'
21
21
  RubyApp::Session.pages.push(RubyApp::Elements::Pages::TestPages::DefaultTestPage.new)
@@ -1,6 +1,4 @@
1
1
  - self.content_for(:title) do
2
- /
3
- #{__FILE__}
4
2
  = @exception.class
5
3
  - self.content_for(:body) do
6
4
  /
@@ -14,12 +14,12 @@ module RubyApp
14
14
  super
15
15
 
16
16
  @markdown = RubyApp::Elements::Markdown.new
17
- @markdown.navigated do |element, event|
17
+ @markdown.clicked do |element, event|
18
18
  case event.name
19
19
  when 'do_load_theme_mobile'
20
20
  require 'ruby_app/themes/mobile'
21
21
  when 'do_reload_translations'
22
- RubyApp::Language.reload
22
+ RubyApp::Language.reload!
23
23
  when 'do_quit'
24
24
  RubyApp::Session.quit
25
25
  end
@@ -0,0 +1,3 @@
1
+ = RubyApp::Elements::Button.render(:css)
2
+ = RubyApp::Elements::Markdown.render(:css)
3
+ = yield
@@ -0,0 +1,7 @@
1
+ - self.content_for(:content) do
2
+ /
3
+ #{__FILE__}
4
+ = @markdown.render(:html) do |element|
5
+ - element.content_for(:body, self.translate.content.body)
6
+ = @button.render(:html) do |element|
7
+ - element.content_for(:body, self.translate.button.body)
@@ -0,0 +1,3 @@
1
+ = RubyApp::Elements::Button.render(:js)
2
+ = RubyApp::Elements::Markdown.render(:js)
3
+ = yield
@@ -0,0 +1,39 @@
1
+ module RubyApp
2
+
3
+ module Elements
4
+
5
+ module Pages
6
+
7
+ module TestPages
8
+ require 'ruby_app/elements/button'
9
+ require 'ruby_app/elements/markdown'
10
+ require 'ruby_app/elements/pages/blank_page'
11
+ require 'ruby_app/elements/pages/test_pages/linked_test_page'
12
+ require 'ruby_app/session'
13
+
14
+ class ButtonTestPage < RubyApp::Elements::Pages::BlankPage
15
+
16
+ template_path(:all, File.dirname(__FILE__))
17
+
18
+ def initialize
19
+ super
20
+
21
+ @markdown = RubyApp::Elements::Markdown.new
22
+
23
+ @button = RubyApp::Elements::Button.new
24
+ @button.clicked do |element, event|
25
+ RubyApp::Session.pages.push(RubyApp::Elements::Pages::TestPages::LinkedTestPage.new)
26
+ event.refresh
27
+ end
28
+
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+
35
+ end
36
+
37
+ end
38
+
39
+ end
@@ -12,9 +12,14 @@ module RubyApp
12
12
  require 'ruby_app/elements/pages/authentication/open_id/my_open_id_authentication_page'
13
13
  require 'ruby_app/elements/pages/authentication/open_id/yahoo_authentication_page'
14
14
  require 'ruby_app/elements/pages/blank_page'
15
+ require 'ruby_app/elements/pages/test_pages/button_test_page'
15
16
  require 'ruby_app/elements/pages/test_pages/dialog_test_page'
17
+ require 'ruby_app/elements/pages/test_pages/exception_test_page'
16
18
  require 'ruby_app/elements/pages/test_pages/input_test_page'
19
+ require 'ruby_app/elements/pages/test_pages/link_test_page'
17
20
  require 'ruby_app/elements/pages/test_pages/list_test_page'
21
+ require 'ruby_app/elements/pages/test_pages/markdown_test_page'
22
+ require 'ruby_app/elements/pages/test_pages/test_page'
18
23
  require 'ruby_app/session'
19
24
 
20
25
  class DefaultTestPage < RubyApp::Elements::Pages::BlankPage
@@ -25,21 +30,9 @@ module RubyApp
25
30
  super
26
31
 
27
32
  @markdown = RubyApp::Elements::Markdown.new
28
- @markdown.navigated do |element, event|
29
- case event.name
30
- when 'go_google_authentication'
31
- RubyApp::Session.pages.push(RubyApp::Elements::Pages::Authentication::OpenID::GoogleAuthenticationPage.new()) #'https://www.google.com/accounts/o8/id')) #'http://pip.verisignlabs.com'
32
- event.refresh
33
- when 'go_my_open_id_authentication'
34
- RubyApp::Session.pages.push(RubyApp::Elements::Pages::Authentication::OpenID::MyOpenIDAuthenticationPage.new()) #'https://www.google.com/accounts/o8/id'))
35
- event.refresh
36
- when 'go_yahoo_authentication'
37
- RubyApp::Session.pages.push(RubyApp::Elements::Pages::Authentication::OpenID::YahooAuthenticationPage.new()) #'https://www.google.com/accounts/o8/id'))
38
- event.refresh
39
- else
40
- RubyApp::Session.pages.push(eval(event.name).new)
41
- event.refresh
42
- end
33
+ @markdown.clicked do |element, event|
34
+ RubyApp::Session.pages.push(eval(event.name).new)
35
+ event.refresh
43
36
  end
44
37
 
45
38
  end