RubyApp 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. data/.gitignore +13 -0
  2. data/.rvmrc +1 -0
  3. data/Gemfile +4 -0
  4. data/README.md +0 -0
  5. data/bin/console.rb +8 -0
  6. data/bin/ruby_app +168 -0
  7. data/features/breadcrumbs.feature +11 -0
  8. data/features/content.feature +16 -0
  9. data/features/default.feature +5 -0
  10. data/features/dialog.feature +56 -0
  11. data/features/exception.feature +53 -0
  12. data/features/input.feature +13 -0
  13. data/features/list.feature +12 -0
  14. data/features/month.feature +14 -0
  15. data/features/step_definitions/default_macros.rb +16 -0
  16. data/features/step_definitions/default_steps.rb +36 -0
  17. data/features/support/env.rb +12 -0
  18. data/lib/ruby_app.rb +1 -0
  19. data/lib/ruby_app/application.rb +72 -0
  20. data/lib/ruby_app/config.ru +27 -0
  21. data/lib/ruby_app/config.yml +15 -0
  22. data/lib/ruby_app/configuration.rb +44 -0
  23. data/lib/ruby_app/element.rb +120 -0
  24. data/lib/ruby_app/elements/base/base_dialog.css.haml +9 -0
  25. data/lib/ruby_app/elements/base/base_dialog.html.haml +4 -0
  26. data/lib/ruby_app/elements/base/base_dialog.rb +64 -0
  27. data/lib/ruby_app/elements/base/base_page.css.haml +13 -0
  28. data/lib/ruby_app/elements/base/base_page.html.haml +20 -0
  29. data/lib/ruby_app/elements/base/base_page.js.haml +97 -0
  30. data/lib/ruby_app/elements/base/base_page.rb +80 -0
  31. data/lib/ruby_app/elements/button.html.haml +4 -0
  32. data/lib/ruby_app/elements/button.rb +19 -0
  33. data/lib/ruby_app/elements/calendars/base/base_month.css.haml +10 -0
  34. data/lib/ruby_app/elements/calendars/base/base_month.html.haml +42 -0
  35. data/lib/ruby_app/elements/calendars/base/base_month.js.haml +18 -0
  36. data/lib/ruby_app/elements/calendars/base/base_month.rb +101 -0
  37. data/lib/ruby_app/elements/calendars/month.rb +27 -0
  38. data/lib/ruby_app/elements/click.js.haml +10 -0
  39. data/lib/ruby_app/elements/click.rb +44 -0
  40. data/lib/ruby_app/elements/dialog.rb +23 -0
  41. data/lib/ruby_app/elements/dialogs/base/base_busy_dialog.css.haml +9 -0
  42. data/lib/ruby_app/elements/dialogs/base/base_busy_dialog.html.haml +7 -0
  43. data/lib/ruby_app/elements/dialogs/base/base_busy_dialog.rb +27 -0
  44. data/lib/ruby_app/elements/dialogs/base/base_close_dialog.css.haml +11 -0
  45. data/lib/ruby_app/elements/dialogs/base/base_close_dialog.html.haml +6 -0
  46. data/lib/ruby_app/elements/dialogs/base/base_close_dialog.js.haml +2 -0
  47. data/lib/ruby_app/elements/dialogs/base/base_close_dialog.rb +33 -0
  48. data/lib/ruby_app/elements/dialogs/base/base_yes_no_dialog.css.haml +15 -0
  49. data/lib/ruby_app/elements/dialogs/base/base_yes_no_dialog.html.haml +8 -0
  50. data/lib/ruby_app/elements/dialogs/base/base_yes_no_dialog.js.haml +2 -0
  51. data/lib/ruby_app/elements/dialogs/base/base_yes_no_dialog.rb +40 -0
  52. data/lib/ruby_app/elements/dialogs/blank_dialog.html.haml +9 -0
  53. data/lib/ruby_app/elements/dialogs/blank_dialog.rb +22 -0
  54. data/lib/ruby_app/elements/dialogs/busy_dialog.rb +22 -0
  55. data/lib/ruby_app/elements/dialogs/calendars/month_dialog.css.haml +19 -0
  56. data/lib/ruby_app/elements/dialogs/calendars/month_dialog.html.haml +18 -0
  57. data/lib/ruby_app/elements/dialogs/calendars/month_dialog.js.haml +3 -0
  58. data/lib/ruby_app/elements/dialogs/calendars/month_dialog.rb +52 -0
  59. data/lib/ruby_app/elements/dialogs/close_dialog.rb +22 -0
  60. data/lib/ruby_app/elements/dialogs/confirmation_dialog.html.haml +8 -0
  61. data/lib/ruby_app/elements/dialogs/confirmation_dialog.rb +26 -0
  62. data/lib/ruby_app/elements/dialogs/exception_dialog.html.haml +8 -0
  63. data/lib/ruby_app/elements/dialogs/exception_dialog.rb +23 -0
  64. data/lib/ruby_app/elements/dialogs/message_dialog.html.haml +8 -0
  65. data/lib/ruby_app/elements/dialogs/message_dialog.rb +26 -0
  66. data/lib/ruby_app/elements/dialogs/yes_no_dialog.rb +22 -0
  67. data/lib/ruby_app/elements/exception_element.html.haml +7 -0
  68. data/lib/ruby_app/elements/exception_element.rb +19 -0
  69. data/lib/ruby_app/elements/input.html.haml +3 -0
  70. data/lib/ruby_app/elements/input.js.haml +9 -0
  71. data/lib/ruby_app/elements/input.rb +54 -0
  72. data/lib/ruby_app/elements/inputs/duration_input.rb +46 -0
  73. data/lib/ruby_app/elements/link.html.haml +4 -0
  74. data/lib/ruby_app/elements/link.rb +19 -0
  75. data/lib/ruby_app/elements/list.html.haml +9 -0
  76. data/lib/ruby_app/elements/list.js.haml +10 -0
  77. data/lib/ruby_app/elements/list.rb +55 -0
  78. data/lib/ruby_app/elements/lists/select.html.haml +14 -0
  79. data/lib/ruby_app/elements/lists/select.js.haml +10 -0
  80. data/lib/ruby_app/elements/lists/select.rb +47 -0
  81. data/lib/ruby_app/elements/markdown.html.haml +5 -0
  82. data/lib/ruby_app/elements/markdown.js.haml +10 -0
  83. data/lib/ruby_app/elements/markdown.rb +51 -0
  84. data/lib/ruby_app/elements/navigation/back_button.html.haml +2 -0
  85. data/lib/ruby_app/elements/navigation/back_button.rb +29 -0
  86. data/lib/ruby_app/elements/navigation/base/base_breadcrumbs.html.haml +17 -0
  87. data/lib/ruby_app/elements/navigation/base/base_breadcrumbs.js.haml +10 -0
  88. data/lib/ruby_app/elements/navigation/base/base_breadcrumbs.rb +58 -0
  89. data/lib/ruby_app/elements/navigation/breadcrumbs.rb +22 -0
  90. data/lib/ruby_app/elements/navigation/page_link.html.haml +9 -0
  91. data/lib/ruby_app/elements/navigation/page_link.js.haml +10 -0
  92. data/lib/ruby_app/elements/navigation/page_link.rb +56 -0
  93. data/lib/ruby_app/elements/navigation/page_menu.html.haml +12 -0
  94. data/lib/ruby_app/elements/navigation/page_menu.js.haml +10 -0
  95. data/lib/ruby_app/elements/navigation/page_menu.rb +57 -0
  96. data/lib/ruby_app/elements/page.rb +21 -0
  97. data/lib/ruby_app/elements/pages/authentication/open_id/authentication_page.css.haml +2 -0
  98. data/lib/ruby_app/elements/pages/authentication/open_id/authentication_page.js.haml +2 -0
  99. data/lib/ruby_app/elements/pages/authentication/open_id/authentication_page.rb +77 -0
  100. data/lib/ruby_app/elements/pages/authentication/open_id/ax_authentication_page.rb +52 -0
  101. data/lib/ruby_app/elements/pages/authentication/open_id/google_authentication_page.rb +30 -0
  102. data/lib/ruby_app/elements/pages/authentication/open_id/my_open_id_authentication_page.rb +30 -0
  103. data/lib/ruby_app/elements/pages/authentication/open_id/sreg_authentication_page.rb +52 -0
  104. data/lib/ruby_app/elements/pages/authentication/open_id/yahoo_authentication_page.rb +30 -0
  105. data/lib/ruby_app/elements/pages/base/base_blank_page.css.haml +18 -0
  106. data/lib/ruby_app/elements/pages/base/base_blank_page.html.haml +11 -0
  107. data/lib/ruby_app/elements/pages/base/base_blank_page.js.haml +3 -0
  108. data/lib/ruby_app/elements/pages/base/base_blank_page.rb +36 -0
  109. data/lib/ruby_app/elements/pages/blank_page.rb +22 -0
  110. data/lib/ruby_app/elements/pages/default_page.css.haml +2 -0
  111. data/lib/ruby_app/elements/pages/default_page.html.haml +5 -0
  112. data/lib/ruby_app/elements/pages/default_page.js.haml +2 -0
  113. data/lib/ruby_app/elements/pages/default_page.rb +34 -0
  114. data/lib/ruby_app/elements/pages/exception_page.html.haml +8 -0
  115. data/lib/ruby_app/elements/pages/exception_page.rb +23 -0
  116. data/lib/ruby_app/elements/pages/quit_page.html.haml +5 -0
  117. data/lib/ruby_app/elements/pages/quit_page.rb +24 -0
  118. data/lib/ruby_app/elements/pages/settings_page.css.haml +2 -0
  119. data/lib/ruby_app/elements/pages/settings_page.html.haml +5 -0
  120. data/lib/ruby_app/elements/pages/settings_page.js.haml +2 -0
  121. data/lib/ruby_app/elements/pages/settings_page.rb +37 -0
  122. data/lib/ruby_app/elements/pages/test_pages/default_test_page.css.haml +4 -0
  123. data/lib/ruby_app/elements/pages/test_pages/default_test_page.html.haml +5 -0
  124. data/lib/ruby_app/elements/pages/test_pages/default_test_page.js.haml +4 -0
  125. data/lib/ruby_app/elements/pages/test_pages/default_test_page.rb +55 -0
  126. data/lib/ruby_app/elements/pages/test_pages/dialog_test_page.css.haml +7 -0
  127. data/lib/ruby_app/elements/pages/test_pages/dialog_test_page.html.haml +5 -0
  128. data/lib/ruby_app/elements/pages/test_pages/dialog_test_page.js.haml +7 -0
  129. data/lib/ruby_app/elements/pages/test_pages/dialog_test_page.rb +66 -0
  130. data/lib/ruby_app/elements/pages/test_pages/input_test_page.css.haml +4 -0
  131. data/lib/ruby_app/elements/pages/test_pages/input_test_page.html.haml +9 -0
  132. data/lib/ruby_app/elements/pages/test_pages/input_test_page.js.haml +4 -0
  133. data/lib/ruby_app/elements/pages/test_pages/input_test_page.rb +44 -0
  134. data/lib/ruby_app/elements/pages/test_pages/list_test_page.css.haml +4 -0
  135. data/lib/ruby_app/elements/pages/test_pages/list_test_page.html.haml +6 -0
  136. data/lib/ruby_app/elements/pages/test_pages/list_test_page.js.haml +4 -0
  137. data/lib/ruby_app/elements/pages/test_pages/list_test_page.rb +51 -0
  138. data/lib/ruby_app/language.rb +44 -0
  139. data/lib/ruby_app/log.rb +33 -0
  140. data/lib/ruby_app/mixins/configuration.rb +31 -0
  141. data/lib/ruby_app/mixins/delegate.rb +15 -0
  142. data/lib/ruby_app/mixins/hash.rb +19 -0
  143. data/lib/ruby_app/mixins/render.rb +76 -0
  144. data/lib/ruby_app/mixins/route.rb +39 -0
  145. data/lib/ruby_app/mixins/template.rb +38 -0
  146. data/lib/ruby_app/mixins/translate.rb +35 -0
  147. data/lib/ruby_app/rack/application.rb +24 -0
  148. data/lib/ruby_app/rack/route.rb +128 -0
  149. data/lib/ruby_app/request.rb +54 -0
  150. data/lib/ruby_app/resources/elements/dialogs/base/base_busy_dialog.gif +0 -0
  151. data/lib/ruby_app/resources/favicon.ico +0 -0
  152. data/lib/ruby_app/resources/themes/mobile/base/base_page/icon.png +0 -0
  153. data/lib/ruby_app/resources/themes/mobile/base/base_page/icon.psd +0 -0
  154. data/lib/ruby_app/resources/themes/mobile/base/base_page/manifest +0 -0
  155. data/lib/ruby_app/resources/themes/mobile/base/base_page/start.png +0 -0
  156. data/lib/ruby_app/resources/themes/mobile/base/base_page/start.psd +0 -0
  157. data/lib/ruby_app/resources/themes/mobile/lists/select.png +0 -0
  158. data/lib/ruby_app/resources/themes/mobile/lists/select.psd +0 -0
  159. data/lib/ruby_app/session.rb +101 -0
  160. data/lib/ruby_app/templates/application/Gemfile +3 -0
  161. data/lib/ruby_app/templates/application/config.ru +42 -0
  162. data/lib/ruby_app/templates/application/config.yml +1 -0
  163. data/lib/ruby_app/templates/application/console.rb +16 -0
  164. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/application.rb +16 -0
  165. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/elements/pages/default_page.css.haml +9 -0
  166. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/elements/pages/default_page.html.haml +7 -0
  167. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/elements/pages/default_page.rb +26 -0
  168. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/session.rb +17 -0
  169. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/version.rb +4 -0
  170. data/lib/ruby_app/templates/application/spec/spec_helper.rb +1 -0
  171. data/lib/ruby_app/templates/application/spec/support/shared.rb +18 -0
  172. data/lib/ruby_app/templates/application/translations/en.yml +5 -0
  173. data/lib/ruby_app/templates/page/_PAGE_DOWNCODE_.css.haml +3 -0
  174. data/lib/ruby_app/templates/page/_PAGE_DOWNCODE_.html.haml +4 -0
  175. data/lib/ruby_app/templates/page/_PAGE_DOWNCODE_.js.haml +3 -0
  176. data/lib/ruby_app/templates/page/_PAGE_DOWNCODE_.rb +14 -0
  177. data/lib/ruby_app/themes/mobile.rb +37 -0
  178. data/lib/ruby_app/themes/mobile/base/base_page.html.haml +30 -0
  179. data/lib/ruby_app/themes/mobile/calendars/month.css.haml +21 -0
  180. data/lib/ruby_app/themes/mobile/colors.sass +24 -0
  181. data/lib/ruby_app/themes/mobile/dialog.css.haml +17 -0
  182. data/lib/ruby_app/themes/mobile/dialogs/blank_dialog.css.haml +12 -0
  183. data/lib/ruby_app/themes/mobile/dialogs/busy_dialog.css.haml +9 -0
  184. data/lib/ruby_app/themes/mobile/dialogs/close_dialog.css.haml +12 -0
  185. data/lib/ruby_app/themes/mobile/dialogs/yes_no_dialog.css.haml +14 -0
  186. data/lib/ruby_app/themes/mobile/list.css.haml +25 -0
  187. data/lib/ruby_app/themes/mobile/lists/select.css.haml +27 -0
  188. data/lib/ruby_app/themes/mobile/markdown.css.haml +11 -0
  189. data/lib/ruby_app/themes/mobile/navigation/base/base_breadcrumbs.html.haml +7 -0
  190. data/lib/ruby_app/themes/mobile/page.css.haml +18 -0
  191. data/lib/ruby_app/themes/mobile/pages/base/base_blank_page.css.haml +18 -0
  192. data/lib/ruby_app/themes/mobile/pages/base/base_blank_page.html.haml +13 -0
  193. data/lib/ruby_app/themes/mobile/pages/blank_page.css.haml +19 -0
  194. data/lib/ruby_app/translations/en.yml +125 -0
  195. data/lib/ruby_app/version.rb +4 -0
  196. data/rakefile +62 -0
  197. data/ruby_app.gemspec +40 -0
  198. data/spec/element_spec.rb +22 -0
  199. data/spec/elements/navigation/breadcrumbs_spec.rb +69 -0
  200. data/spec/elements/page_spec.rb +31 -0
  201. data/spec/mixins/render_spec.rb +182 -0
  202. data/spec/mixins/route_spec.rb +60 -0
  203. data/spec/mixins/template_spec.rb +78 -0
  204. data/spec/mixins/test_a.css.haml +3 -0
  205. data/spec/mixins/test_a.html.haml +3 -0
  206. data/spec/mixins/test_a.js.haml +3 -0
  207. data/spec/mixins/test_b.css.haml +4 -0
  208. data/spec/mixins/test_b.html.haml +3 -0
  209. data/spec/mixins/test_b.js.haml +4 -0
  210. data/spec/mixins/test_c.css.haml +4 -0
  211. data/spec/mixins/test_c.html.haml +2 -0
  212. data/spec/mixins/test_c.js.haml +4 -0
  213. data/spec/mixins/test_e.html.haml +2 -0
  214. data/spec/mixins/test_f.html.haml +2 -0
  215. data/spec/mixins/test_g.css.haml +4 -0
  216. data/spec/spec_helper.rb +1 -0
  217. data/spec/support/shared.rb +15 -0
  218. metadata +654 -0
@@ -0,0 +1,17 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'ruby_app/session'
5
+
6
+ module _APPLICATION_UPCODE_
7
+
8
+ class Session < RubyApp::Session
9
+
10
+ def initialize(page = nil)
11
+ require '_APPLICATION_DOWNCODE_/elements/pages/default_page'
12
+ super(page || _APPLICATION_UPCODE_::Elements::Pages::DefaultPage.new)
13
+ end
14
+
15
+ end
16
+
17
+ end
@@ -0,0 +1,4 @@
1
+ module _APPLICATION_UPCODE_
2
+ VERSION = "0.0.1"
3
+ ROOT = File.expand_path(File.join(File.dirname(__FILE__), %w[.. ..]))
4
+ end
@@ -0,0 +1 @@
1
+ require File.join(File.dirname(__FILE__), %w[support shared])
@@ -0,0 +1,18 @@
1
+ require File.join(File.dirname(__FILE__), %w[.. .. application])
2
+ require File.join(File.dirname(__FILE__), %w[.. .. session])
3
+
4
+ shared_context '_APPLICATION_UPCODE_::Application' do
5
+
6
+ before(:all) do
7
+ options = {:application_class => _APPLICATION_UPCODE_::Application,
8
+ :session_class => _APPLICATION_UPCODE_::Session,
9
+ :log_path => File.join(File.dirname(__FILE__), %w[.. .. log application.log]),
10
+ :configuration_paths => File.join(File.dirname(__FILE__), %w[.. .. config.yml])}
11
+ _APPLICATION_UPCODE_::Application.create(options)
12
+ end
13
+
14
+ after(:all) do
15
+ Pike::Application.destroy
16
+ end
17
+
18
+ end
@@ -0,0 +1,5 @@
1
+ _APPLICATION_DOWNCODE_:
2
+ elements:
3
+ pages:
4
+ default_page:
5
+ title: Home
@@ -0,0 +1,3 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ = yield
@@ -0,0 +1,4 @@
1
+ - self.content_for(:body) do
2
+ /
3
+ #{__FILE__}
4
+ Hello world!
@@ -0,0 +1,3 @@
1
+ - self.rendered?(__FILE__) do
2
+ :plain
3
+ = yield
@@ -0,0 +1,14 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'ruby_app/elements/page'
5
+
6
+ class _PAGE_UPCODE_ < RubyApp::Elements::Page
7
+
8
+ template_path(:all, File.dirname(__FILE__))
9
+
10
+ def initialize
11
+ super
12
+ end
13
+
14
+ end
@@ -0,0 +1,37 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ require 'sass/plugin'
5
+
6
+ Sass::Plugin.options[:load_paths] = [File.expand_path(File.join(File.dirname(__FILE__), %w[mobile]))]
7
+
8
+ require 'ruby_app/elements/base/base_page'
9
+ require 'ruby_app/elements/calendars/month'
10
+ require 'ruby_app/elements/dialog'
11
+ require 'ruby_app/elements/dialogs/blank_dialog'
12
+ require 'ruby_app/elements/dialogs/busy_dialog'
13
+ require 'ruby_app/elements/dialogs/close_dialog'
14
+ require 'ruby_app/elements/dialogs/yes_no_dialog'
15
+ require 'ruby_app/elements/list'
16
+ require 'ruby_app/elements/lists/select'
17
+ require 'ruby_app/elements/markdown'
18
+ require 'ruby_app/elements/navigation/base/base_breadcrumbs'
19
+ require 'ruby_app/elements/page'
20
+ require 'ruby_app/elements/pages/base/base_blank_page'
21
+ require 'ruby_app/elements/pages/blank_page'
22
+
23
+ RubyApp::Elements::Base::BasePage.template_path(:html, File.join(File.dirname(__FILE__), %w[mobile base]))
24
+ RubyApp::Elements::Calendars::Month.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile calendars]))
25
+ RubyApp::Elements::Dialog.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile]))
26
+ RubyApp::Elements::Dialogs::BlankDialog.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile dialogs]))
27
+ RubyApp::Elements::Dialogs::BusyDialog.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile dialogs]))
28
+ RubyApp::Elements::Dialogs::CloseDialog.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile dialogs]))
29
+ RubyApp::Elements::Dialogs::YesNoDialog.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile dialogs]))
30
+ RubyApp::Elements::List.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile]))
31
+ RubyApp::Elements::Lists::Select.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile lists]))
32
+ RubyApp::Elements::Markdown.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile]))
33
+ RubyApp::Elements::Navigation::Base::BaseBreadcrumbs.template_path(:html, File.join(File.dirname(__FILE__), %w[mobile navigation base]))
34
+ RubyApp::Elements::Page.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile]))
35
+ RubyApp::Elements::Pages::Base::BaseBlankPage.template_path(:html, File.join(File.dirname(__FILE__), %w[mobile pages base]))
36
+ RubyApp::Elements::Pages::Base::BaseBlankPage.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile pages base]))
37
+ RubyApp::Elements::Pages::BlankPage.template_path(:css, File.join(File.dirname(__FILE__), %w[mobile pages]))
@@ -0,0 +1,30 @@
1
+ /
2
+ #{__FILE__}
3
+ !!! 5
4
+ %html{attributes.merge(:manifest => '/ruby_app/resources/themes/mobile/base/manifest')}
5
+ %head
6
+ %meta{:name => 'viewport',
7
+ :content => 'user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0'}
8
+ %meta{:name => 'apple-mobile-web-app-capable',
9
+ :content => 'yes'}
10
+ %meta{:name => 'apple-mobile-web-app-status-bar-style',
11
+ :content => 'black'}
12
+ %link{:rel => 'apple-touch-icon',
13
+ :href => '/ruby_app/resources/themes/mobile/base/base_page/icon.png'}
14
+ %link{:rel => 'apple-touch-startup-image',
15
+ :href => '/ruby_app/resources/themes/mobile/base/base_page/start.png'}
16
+ %link{:rel => 'stylesheet',
17
+ :href => "/#{RubyApp::Language.locale.code}/application.css",
18
+ :type => 'text/css',
19
+ :media => 'screen, mobile',
20
+ :title => 'main', :charset=>'utf-8'}
21
+ %script{:src => 'http://code.jquery.com/jquery-1.6.1.js',
22
+ :type => 'text/javascript'}
23
+ %script{:src => "/#{RubyApp::Language.locale.code}/application.js",
24
+ :type => 'text/javascript'}
25
+ %title
26
+ = yield(:title) || self.translate.title
27
+ %body
28
+ %div.body
29
+ = yield :body
30
+ %div.overlay
@@ -0,0 +1,21 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[.. colors.sass])}'
5
+ div.month
6
+ > table
7
+ > tbody
8
+ > tr
9
+ > td
10
+ width: 30px
11
+ height: 20px
12
+ > td.current
13
+ background-color: $highlight_background
14
+ border: 2px solid $highlight_background
15
+ border-radius: 10px
16
+ color: $highlight_foreground
17
+ > td.today
18
+ border: 2px solid $highlight_background
19
+ border-radius: 10px
20
+ color: $highlight_background
21
+ = yield
@@ -0,0 +1,24 @@
1
+ $page_background: rgba( 0, 0, 0, 1.0)
2
+ $page_foreground: rgba(255, 255, 255, 1.0)
3
+ $page_link: rgba( 25, 101, 115, 1.0)
4
+
5
+ $overlay_background: rgba( 0, 0, 0, 0.5)
6
+
7
+ $dialog_background: rgba(255, 255, 255, 1.0)
8
+ $dialog_foreground: rgba( 0, 0, 0, 1.0)
9
+ $dialog_link: rgba( 25, 101, 115, 1.0)
10
+
11
+ $header_background: rgba( 0, 0, 0, 1.0)
12
+ $header_foreground: rgba(255, 255, 255, 1.0)
13
+ $header_link: rgba(255, 255, 255, 1.0)
14
+
15
+ $highlight_background: rgba( 25, 101, 115, 1.0)
16
+ $highlight_foreground: rgba(255, 255, 255, 1.0)
17
+
18
+ $even_background: rgba( 40, 40, 40, 1.0)
19
+ $even_foreground: rgba(255, 255, 255, 1.0)
20
+ $odd_background: inherit
21
+ $odd_foreground: rgba(255, 255, 255, 1.0)
22
+
23
+ $select_background: rgba( 40, 40, 40, 1.0)
24
+ $select_foreground: rgba(255, 255, 255, 1.0)
@@ -0,0 +1,17 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[colors.sass])}'
5
+ body
6
+ > div.overlay
7
+ > div.dialog
8
+ background-color: $dialog_background
9
+ color: $dialog_foreground
10
+ border-radius: 10px
11
+ padding: 10px 15px
12
+ width: 80%
13
+ a
14
+ color: $dialog_link
15
+ font-weight: bold
16
+ text-decoration: inherit
17
+ = yield
@@ -0,0 +1,12 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ body
5
+ > div.overlay
6
+ > div.dialog
7
+ > div.title
8
+ font-weight: bold
9
+ padding-bottom: 10px
10
+ > div.footer
11
+ padding-top: 10px
12
+ = yield
@@ -0,0 +1,9 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ body
5
+ > div.overlay
6
+ > div.dialog
7
+ > div.image
8
+ padding-right: 10px
9
+ = yield
@@ -0,0 +1,12 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ body
5
+ > div.overlay
6
+ > div.dialog
7
+ > div.title
8
+ font-weight: bold
9
+ padding-bottom: 10px
10
+ > div.footer
11
+ padding-top: 10px
12
+ = yield
@@ -0,0 +1,14 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ body
5
+ > div.overlay
6
+ > div.dialog
7
+ > div.title
8
+ font-weight: bold
9
+ padding-bottom: 10px
10
+ > div.footer
11
+ padding-top: 10px
12
+ a
13
+ padding-left: 10px
14
+ = yield
@@ -0,0 +1,25 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[colors.sass])}'
5
+ ul.list
6
+ list-style-type: none
7
+ margin: 0px
8
+ padding-left: 0px
9
+ > li
10
+ margin-bottom: 2px
11
+ > li.item
12
+ > a.item
13
+ color: inherit
14
+ display: block
15
+ font-weight: inherit
16
+ width: 100%
17
+ > li.even
18
+ background-color: $even_background
19
+ border-radius: 5px
20
+ color: $even_foreground
21
+ > li.odd
22
+ background-color: $odd_background
23
+ border-radius: 5px
24
+ color: $odd_foreground
25
+ = yield
@@ -0,0 +1,27 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[.. colors.sass])}'
5
+ ul.select
6
+ background-color: $select_background
7
+ border-radius: 5px
8
+ color: $select_foreground
9
+ list-style-type: none
10
+ margin: 0px
11
+ padding-left: 0px
12
+ > li
13
+ border-bottom: 2px solid $page_background
14
+ > li.item
15
+ > a.item
16
+ color: inherit
17
+ display: block
18
+ font-weight: inherit
19
+ width: 100%
20
+ > li:last-child
21
+ border-bottom: inherit
22
+ > li.selected
23
+ > a.selected
24
+ background-image: url('/ruby_app/resources/themes/mobile/lists/select.png')
25
+ background-position: right center
26
+ background-repeat: no-repeat
27
+ = yield
@@ -0,0 +1,11 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ div.markdown
5
+ h1
6
+ margin-top: 0px
7
+ li
8
+ margin-bottom: 5px
9
+ p
10
+ margin-top: 0px
11
+ = yield
@@ -0,0 +1,7 @@
1
+ /
2
+ #{__FILE__}
3
+ %div.breadcrumbs{attributes}
4
+ - if RubyApp::Session.pages.length > 1
5
+ - page = RubyApp::Session.pages[-2]
6
+ %a.breadcrumb{:href => '', :page_id => page.element_id}
7
+ = RubyApp::Elements::Navigation::Base::BaseBreadcrumbs.translate.back
@@ -0,0 +1,18 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[colors.sass])}'
5
+ body
6
+ background-color: $page_background
7
+ color: $page_foreground
8
+ font:
9
+ family: Verdana
10
+ size: 12pt
11
+ margin: 0px
12
+ > div.overlay
13
+ background-color: $overlay_background
14
+ a
15
+ color: $page_link
16
+ font-weight: bold
17
+ text-decoration: inherit
18
+ = yield
@@ -0,0 +1,18 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ body
5
+ > div.body
6
+ > div.header
7
+ display: table
8
+ width: 100%
9
+ > div
10
+ display: table-cell
11
+ width: 33%
12
+ > div.center
13
+ text-align: center
14
+ > div.right
15
+ text-align: right
16
+ = RubyApp::Elements::Navigation::Breadcrumbs.render(:css)
17
+ = RubyApp::Elements::Navigation::PageLink.render(:css)
18
+ = yield
@@ -0,0 +1,13 @@
1
+ - self.content_for(:body) do
2
+ /
3
+ #{__FILE__}
4
+ %div.header
5
+ %div.left
6
+ = @breadcrumbs.render(:html)
7
+ %div.center
8
+ = self.translate.title
9
+ %div.right
10
+ - unless RubyApp::Session.pages.last.class == @settings.page
11
+ = @settings.render(:html)
12
+ %div.content
13
+ = yield :content
@@ -0,0 +1,19 @@
1
+ - self.rendered?(__FILE__) do
2
+ :sass
3
+ /* #{__FILE__}
4
+ @import '#{File.join(File.dirname(__FILE__), %w[.. colors.sass])}'
5
+ body
6
+ > div.body
7
+ > div.header
8
+ background-color: $header_background
9
+ color: $header_foreground
10
+ padding: 12px 8px
11
+ > div
12
+ width: 25%
13
+ > div.center
14
+ font-weight: bold
15
+ text-align: center
16
+ width: 50%
17
+ > div.content
18
+ padding: 5px 10px
19
+ = yield
@@ -0,0 +1,125 @@
1
+ ruby_app:
2
+ elements:
3
+ dialogs:
4
+ base:
5
+ base_close_dialog:
6
+ close:
7
+ body: Close
8
+ base_yes_no_dialog:
9
+ _yes:
10
+ body: 'Yes'
11
+ _no:
12
+ body: 'No'
13
+ calendars:
14
+ month_dialog:
15
+ today:
16
+ body: Today
17
+ cancel:
18
+ body: Cancel
19
+ navigation:
20
+ base:
21
+ base_breadcrumbs:
22
+ back: Back
23
+ back_button:
24
+ body: Back
25
+ page:
26
+ quit: Quit
27
+ pages:
28
+ base:
29
+ base_blank_page:
30
+ settings:
31
+ body: Settings
32
+ test_pages:
33
+ default_test_page:
34
+ title: Test Pages
35
+ content:
36
+ body: |
37
+ [`DialogTestPage`](RubyApp::Elements::Pages::TestPages::DialogTestPage) ... show a variety of dialogs (e.g. busy dialog, exception dialog, message dialog, month dialog, etc.)
38
+
39
+ [`ListTestPage`](RubyApp::Elements::Pages::TestPages::ListTestPage) ... pick from a list of items
40
+
41
+ [`GoogleAuthenticationPage`](go_google_authentication) ... re/authenticate using Google
42
+
43
+ [`MyOpenIDAuthenticationPage`](go_my_open_id_authentication) ... re/authenticate using myOpenID
44
+
45
+ [`YahooAuthenticationPage`](go_yahoo_authentication) ... re/authenticate using Yahoo!
46
+
47
+ [`InputTestPage`](RubyApp::Elements::Pages::TestPages::InputTestPage) ... show a variety of input controls (e.g. simple input, duration input, etc.)
48
+
49
+ busy_dialog:
50
+ message: Retrieving authentication information ...
51
+ dialog_test_page:
52
+ title: Dialog Test Page
53
+ content:
54
+ body: |
55
+ [`BusyDialog`](do_busy_dialog) ... show and then hide a 'busy' dialog for 30 seconds.
56
+
57
+ [`ConfirmationDialog`](do_confirmation_dialog) ... ask for confirmation.
58
+
59
+ [`ExceptionDialog`](do_exception_dialog) ... raise an exception and show the `class` and `message` properties.
60
+
61
+ [`MessageDialog`](do_message_dialog) ... show a sample message dialog.
62
+
63
+ [`MonthDialog`](do_month_dialog) ... show a calendar month dialog, hide it when a date is selected, and then show the selected date (the last date you selected was <span id='last_value'>(nothing)</span>).
64
+ busy_dialog:
65
+ message: Busy dialog ...
66
+ confirmation_dialog:
67
+ title: Confirmation Dialog
68
+ message: Are you sure?
69
+ message_dialog:
70
+ title: You selected ...
71
+ message: %1
72
+ exception: Exception dialog
73
+ message_dialog:
74
+ message:
75
+ title: Message Dialog
76
+ message: This is a Message Dialog
77
+ month_dialog:
78
+ title: Month Dialog
79
+ message_dialog:
80
+ title: You selected ...
81
+ message: %1
82
+ input_test_page:
83
+ title: Input Test Page
84
+ label:
85
+ input: Input
86
+ duration_input: DurationInput
87
+ message_dialog:
88
+ message:
89
+ title: Input Test
90
+ message: You input '%1'.
91
+ list_test_page:
92
+ title: List Test Page
93
+ message_dialog:
94
+ message:
95
+ title: List Test
96
+ message: You selected the item '%1'.
97
+ default_page:
98
+ title: Home
99
+ content:
100
+ body: |
101
+ This is the default start page for your application. Click [here](go_test) to go to the test pages.
102
+ authentication:
103
+ open_id:
104
+ authentication_page:
105
+ busy_dialog:
106
+ message: Please wait ...
107
+ google_authentication_page:
108
+ title: Google Authentication
109
+ my_open_id_authentication_page:
110
+ title: myOpenID Authentication
111
+ yahoo_authentication_page:
112
+ title: Yahoo! Authentication
113
+ settings_page:
114
+ title: Settings
115
+ content:
116
+ body: |
117
+ You are currently logged in as #{(RubyApp::Session.identity ? RubyApp::Session.identity.url : '(not logged in)')}
118
+
119
+ Load or reload the [Mobile](do_load_theme_mobile) theme.
120
+
121
+ [Refresh](do_reload_translations) the translation file(s).
122
+
123
+ [Quit](do_quit) the session.
124
+ quit_page:
125
+ title: Quit