RubyApp 0.5.38 → 0.5.39

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. data/Gemfile.lock +4 -4
  2. data/lib/ruby_app/configuration.yml +1 -1
  3. data/lib/ruby_app/element.rb +70 -9
  4. data/lib/ruby_app/elements/mobile/calendars/month.js.haml +1 -1
  5. data/lib/ruby_app/elements/mobile/calendars/month.rb +2 -2
  6. data/lib/ruby_app/elements/mobile/click.js.haml +1 -1
  7. data/lib/ruby_app/elements/mobile/default/features/buttons_page.rb +1 -1
  8. data/lib/ruby_app/elements/mobile/default/features/calendars/month_page.rb +1 -1
  9. data/lib/ruby_app/elements/mobile/default/features/default_page.css.haml +2 -1
  10. data/lib/ruby_app/elements/mobile/default/features/default_page.html.haml +2 -0
  11. data/lib/ruby_app/elements/mobile/default/features/default_page.js.haml +2 -1
  12. data/lib/ruby_app/elements/mobile/default/features/default_page.rb +5 -1
  13. data/lib/ruby_app/elements/mobile/default/features/dialogs_page.rb +6 -6
  14. data/lib/ruby_app/elements/mobile/default/features/inputs_page.rb +6 -6
  15. data/lib/ruby_app/elements/mobile/default/features/lists_page.rb +2 -2
  16. data/lib/ruby_app/elements/mobile/default/features/message_page.css.haml +2 -0
  17. data/lib/ruby_app/elements/mobile/default/features/message_page.html.haml +9 -0
  18. data/lib/ruby_app/elements/mobile/default/features/message_page.js.haml +2 -0
  19. data/lib/ruby_app/elements/mobile/default/features/message_page.rb +42 -0
  20. data/lib/ruby_app/elements/mobile/default/features/swipe_page.rb +1 -1
  21. data/lib/ruby_app/elements/mobile/default/features/trigger_page.rb +2 -2
  22. data/lib/ruby_app/elements/mobile/dialog.js.haml +2 -2
  23. data/lib/ruby_app/elements/mobile/dialog.rb +1 -1
  24. data/lib/ruby_app/elements/mobile/dialogs/acknowledgement_dialog.rb +0 -1
  25. data/lib/ruby_app/elements/mobile/dialogs/calendars/month_dialog.rb +7 -8
  26. data/lib/ruby_app/elements/mobile/dialogs/confirmation_dialog.rb +0 -2
  27. data/lib/ruby_app/elements/mobile/dialogs/exception_dialog.rb +0 -3
  28. data/lib/ruby_app/elements/mobile/dialogs/response_dialog.rb +1 -1
  29. data/lib/ruby_app/elements/mobile/document.js.haml +51 -38
  30. data/lib/ruby_app/elements/mobile/documents/mail_document.rb +2 -0
  31. data/lib/ruby_app/elements/mobile/documents/quit_document.html.haml +5 -0
  32. data/lib/ruby_app/elements/mobile/input.js.haml +1 -1
  33. data/lib/ruby_app/elements/mobile/inputs/multiline_input.js.haml +1 -1
  34. data/lib/ruby_app/elements/mobile/inputs/toggle_input.js.haml +1 -1
  35. data/lib/ruby_app/elements/mobile/list.js.haml +2 -2
  36. data/lib/ruby_app/elements/mobile/navigation/navigation_link.rb +1 -1
  37. data/lib/ruby_app/elements/mobile/page.html.haml +1 -1
  38. data/lib/ruby_app/elements/mobile/page.js.haml +4 -7
  39. data/lib/ruby_app/elements/mobile/page.rb +5 -19
  40. data/lib/ruby_app/elements/mobile/pages/information/scripts_list.css.haml +9 -0
  41. data/lib/ruby_app/elements/mobile/pages/information/scripts_list_item.html.haml +6 -2
  42. data/lib/ruby_app/elements/mobile/pages/information/scripts_page.rb +1 -1
  43. data/lib/ruby_app/exception.rb +1 -1
  44. data/lib/ruby_app/rack/application.rb +1 -6
  45. data/lib/ruby_app/rack/route.rb +3 -5
  46. data/lib/ruby_app/response.rb +7 -1
  47. data/lib/ruby_app/scripts/all_once.rb +1 -0
  48. data/lib/ruby_app/scripts/default.rb +2 -1
  49. data/lib/ruby_app/scripts/elements/dialogs.rb +4 -0
  50. data/lib/ruby_app/scripts/elements/message.rb +7 -0
  51. data/lib/ruby_app/session.rb +10 -5
  52. data/lib/ruby_app/templates/application/Gemfile +3 -2
  53. data/lib/ruby_app/templates/application/Rakefile +11 -12
  54. data/lib/ruby_app/templates/application/configuration.yml +1 -1
  55. data/lib/ruby_app/templates/application/lib/_APPLICATION_DOWNCODE_/elements/pages/default_page.rb +1 -1
  56. data/lib/ruby_app/templates/application/scripts/default.rb +1 -1
  57. data/lib/ruby_app/translations/en.yml +0 -1
  58. data/lib/ruby_app/version.rb +1 -1
  59. metadata +62 -56
@@ -0,0 +1,9 @@
1
+ :sass
2
+ /* #{__FILE__}
3
+ ul
4
+ li
5
+ div.script
6
+ div.url
7
+ font-size: 85%
8
+ = RubyApp::Elements::Mobile::Pages::Information::ScriptsList::ScriptsListItem.render(:css)
9
+ = yield
@@ -1,5 +1,9 @@
1
1
  - self.content_for(:html, :item) do
2
2
  /
3
3
  #{__FILE__}
4
- %code
5
- = self.script.name
4
+ %div.script
5
+ %div.name
6
+ %code
7
+ = self.script.name
8
+ /
9
+ #{self.script.url}
@@ -26,7 +26,7 @@ module RubyApp
26
26
  if RubyApp::Session.configuration.scripts.enabled
27
27
  event.go(event.item.script.url)
28
28
  else
29
- RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('Scripts', 'Scripts are currently disabled.'), :transition => 'pop')
29
+ RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('Scripts', 'Scripts are currently disabled.'))
30
30
  end
31
31
  end
32
32
 
@@ -1,7 +1,7 @@
1
1
  module RubyApp
2
2
  require 'ruby_app/mixins'
3
3
 
4
- class Exception < ::Exception
4
+ class Exception < ::RuntimeError
5
5
  extend RubyApp::Mixins::TranslateMixin
6
6
 
7
7
  def initialize(message)
@@ -14,12 +14,7 @@ module RubyApp
14
14
  end
15
15
 
16
16
  def call(environment)
17
- begin
18
- return @application.call(environment)
19
- rescue => exception
20
- RubyApp::Log.exception(RubyApp::Log::ERROR, exception)
21
- raise exception
22
- end
17
+ return @application.call(environment)
23
18
  end
24
19
 
25
20
  end
@@ -35,17 +35,18 @@ module RubyApp
35
35
  end
36
36
 
37
37
  route(RubyApp::Mixins::RouteMixin::GET, /\/elements\/([^\.]+)\.([^\.\?]+)/) do |method, path, element_id, format|
38
+ #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} --> #{method} #{path} #{element_id} #{format}")
38
39
  begin
39
40
  element = RubyApp::Element.get_element(element_id)
40
41
  RubyApp::Log.duration(RubyApp::Log::INFO, "GET #{element.class} #{format}") do
41
42
  RubyApp::Response['Content-Type'] = RubyApp::Response.get_content_type(format)
42
43
  RubyApp::Response.write_from_cache(element, format.to_sym)
43
- #RubyApp::Response.write(element.render(format.to_sym))
44
44
  end
45
45
  rescue => exception
46
46
  RubyApp::Log.exception(RubyApp::Log::ERROR, exception)
47
47
  raise
48
48
  end
49
+ #RubyApp::Log.debug("#{RubyApp::Log.prefix(self, __method__)} <-- #{method} #{path} #{element_id} #{format}")
49
50
  end
50
51
 
51
52
  route(RubyApp::Mixins::RouteMixin::GET, /\.([^\.\?]+)/) do |method, path, format|
@@ -54,7 +55,6 @@ module RubyApp
54
55
  RubyApp::Log.duration(RubyApp::Log::INFO, "GET #{document.class} #{format}") do
55
56
  RubyApp::Response['Content-Type'] = RubyApp::Response.get_content_type(format)
56
57
  RubyApp::Response.write_from_cache(document, format.to_sym)
57
- #RubyApp::Response.write(document.render(format.to_sym))
58
58
  end
59
59
  rescue => exception
60
60
  RubyApp::Log.exception(RubyApp::Log::ERROR, exception)
@@ -69,9 +69,7 @@ module RubyApp
69
69
  route(RubyApp::Mixins::RouteMixin::POST, /.*/) do |method, path|
70
70
  begin
71
71
  #RubyApp::Request.POST.each do |name, value|
72
- # unless ['_class'].include?(name)
73
- # RubyApp::Log.debug("POST #{name.to_sym.inspect}=#{value.inspect}")
74
- # end
72
+ # RubyApp::Log.debug("POST #{name.to_sym.inspect}=#{value.inspect}")
75
73
  #end
76
74
  event = RubyApp::Element::Event.from_hash(RubyApp::Request.POST)
77
75
  RubyApp::Log.duration(RubyApp::Log::INFO, "POST #{event.class}") do
@@ -73,9 +73,15 @@ module RubyApp
73
73
 
74
74
  def initialize
75
75
  super
76
- self['Cache-Control'] = 'no-cache'
76
+
77
+ self['Expires'] = Time.now.getutc.strftime('%a, %d %b %Y %H:%M:%S GMT')
78
+ self['Last-Modified'] = Time.now.getutc.strftime('%a, %d %b %Y %H:%M:%S GMT')
79
+ self['Cache-Control'] = 'no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0'
80
+ self['Pragma'] = 'no-cache'
81
+
77
82
  @templates = []
78
83
  @content = {}
84
+
79
85
  end
80
86
 
81
87
  end
@@ -4,6 +4,7 @@ load_script! 'elements/calendars/month'
4
4
  load_script! 'elements/dialogs'
5
5
  load_script! 'elements/inputs'
6
6
  load_script! 'elements/lists'
7
+ load_script! 'elements/message'
7
8
  load_script! 'elements/navigation/navigation_list'
8
9
  load_script! 'elements/swipe'
9
10
  load_script! 'elements/trigger'
@@ -1,3 +1,4 @@
1
- add_step! (RubyApp::Elements::Mobile::Page::LoadedEvent) { |event| event.assert_exists_link('Features') }
1
+ add_step! (RubyApp::Elements::Mobile::Page::LoadedEvent) { |event| event.execute { RubyApp::Log.info("STEP Running steps in #{__FILE__}")} }
2
+ add_step! (RubyApp::Element::ExecutedEvent) { |event| event.assert_exists_link('Features') }
2
3
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('Information') }
3
4
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.refresh_browser }
@@ -19,6 +19,7 @@ add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_e
19
19
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('No') }
20
20
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('Yes') }
21
21
 
22
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent)
22
23
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text('You responded true.') }
23
24
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('OK') }
24
25
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('OK') }
@@ -29,6 +30,7 @@ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link
29
30
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text('Do you confirm this?') }
30
31
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('No') }
31
32
 
33
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent)
32
34
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text('You responded false.') }
33
35
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('OK') }
34
36
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('OK') }
@@ -47,6 +49,7 @@ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link
47
49
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_link(Date.today.day == 15 ? 14 : 15) }
48
50
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link(Date.today.day == 15 ? 14 : 15) }
49
51
 
52
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent)
50
53
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text("You responded day #{Date.today.day == 15 ? 14 : 15}.") }
51
54
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('OK') }
52
55
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('OK') }
@@ -57,6 +60,7 @@ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link
57
60
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_link('Today') }
58
61
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('Today') }
59
62
 
63
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent)
60
64
  add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text("You responded day #{Date.today.day}.") }
61
65
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.assert_exists_link('OK') }
62
66
  add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('OK') }
@@ -0,0 +1,7 @@
1
+ load_script! 'common/features'
2
+
3
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_link('Message') }
4
+ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('Message') }
5
+ add_step! (RubyApp::Element::MessagedEvent) { |event| event.tap_link('Back') }
6
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.tap_link('Back') }
7
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.refresh_browser }
@@ -90,11 +90,16 @@ module RubyApp
90
90
  begin
91
91
  if event.is_a?(step._class)
92
92
  @steps_index += 1
93
- RubyApp::Log.duration(RubyApp::Log::INFO, "STEP #{step.file}:#{step.line}") do
94
- step.block.call(event)
93
+ RubyApp::Log.duration(RubyApp::Log::INFO, "STEP Current #{step._class} #{step.file}:#{step.line}#{step.block ? nil : ' (no block)'}") do
94
+ step.block.call(event) if step.block
95
95
  end
96
96
  if @steps_index == @steps.length
97
+ RubyApp::Log.info('-' * 80)
97
98
  RubyApp::Log.info("STEP Completed #{@steps.length} steps")
99
+ RubyApp::Log.info('-' * 80)
100
+ else
101
+ step = @steps[@steps_index]
102
+ RubyApp::Log.info("STEP Next #{step._class} #{step.file}:#{step.line}#{step.block ? nil : ' (no block)'}")
98
103
  end
99
104
  end
100
105
  rescue => exception
@@ -137,10 +142,10 @@ module RubyApp
137
142
  end
138
143
 
139
144
  def self.generate_session_id(session)
140
- session_id = "id_#{SecureRandom.hex(RubyApp::Session.configuration.length)}"
145
+ session_id = "id_#{SecureRandom.hex(RubyApp::Session.configuration._length)}"
141
146
  RubyApp::Session.lock_sessions do
142
147
  while RubyApp::Session.get_session(session_id)
143
- session_id = "id_#{SecureRandom.hex(RubyApp::Session.configuration.length)}"
148
+ session_id = "id_#{SecureRandom.hex(RubyApp::Session.configuration._length)}"
144
149
  end
145
150
  RubyApp::Session.sessions.store(session_id, session)
146
151
  return session_id
@@ -213,7 +218,7 @@ module RubyApp
213
218
  elsif _path =~ /\.rb/
214
219
  name = _path.gsub(String.interpolate { RubyApp::Session.configuration.scripts.path }, '').gsub(/^\//, '').gsub(/\.rb/, '')
215
220
  scripts.push({:name => name,
216
- :url => "/quit?go=#{CGI.escape("/?script=#{name}")}"})
221
+ :url => "/quit?go=#{CGI.escape("/?script=#{name}")}"})
217
222
  end
218
223
  end
219
224
  end
@@ -1,3 +1,4 @@
1
- source :rubygems
1
+ source 'http://rubygems.org'
2
2
 
3
- gem 'RubyApp', :path => "~/Dropbox/Projects/gems/ruby_app"
3
+ #gem 'RubyApp', :path => File.join(File.dirname(__FILE__), %w[.. gems ruby_app])
4
+ gem 'RubyApp'
@@ -1,22 +1,21 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
-
4
- require 'rake'
5
-
6
1
  $LOAD_PATH.unshift File.expand_path(File.join(File.dirname(__FILE__), %w[lib]))
7
2
 
8
3
  require '_APPLICATION_DOWNCODE_'
9
4
 
10
5
  namespace :_APPLICATION_DOWNCODE_ do
11
6
 
12
- desc 'Create console'
13
- task :console do |task|
14
- system("clear; bundle exec ruby_app console")
15
- end
7
+ namespace :process do
8
+
9
+ desc 'Create console'
10
+ task :console do |task|
11
+ system("clear; bundle exec ruby_app console")
12
+ end
13
+
14
+ desc 'Run'
15
+ task :run => ['_APPLICATION_DOWNCODE_:cache:destroy'] do |task|
16
+ system("clear; bundle exec ruby_app run")
17
+ end
16
18
 
17
- desc 'Run'
18
- task :run => ['_APPLICATION_DOWNCODE_:cache:destroy'] do |task|
19
- system("clear; bundle exec ruby_app run")
20
19
  end
21
20
 
22
21
  namespace :cache do
@@ -24,7 +24,7 @@ default:
24
24
  _class: '_APPLICATION_UPCODE_::Session'
25
25
  expires: 900
26
26
  interval: 15
27
- length: 4
27
+ _length: 10
28
28
  scripts:
29
29
  enabled: false
30
30
  path: '#{_APPLICATION_UPCODE_::ROOT}/scripts'
@@ -17,7 +17,7 @@ module _APPLICATION_UPCODE_
17
17
  super
18
18
 
19
19
  @information_link = RubyApp::Elements::Mobile::Navigation::NavigationLink.new
20
- @information_link.attributes.merge!('class' => 'ui-btn-right',
20
+ @information_link.attributes.merge!('class' => 'ui-btn-right',
21
21
  'data-icon' => 'info')
22
22
  @information_link.clicked do |element, event|
23
23
  RubyApp::Elements::Mobile::Pages::InformationPage.new(event.now).show(event, element.options)
@@ -1 +1 @@
1
- add_step! (RubyApp::Elements::Mobile::Page::LoadedEvent) { |event| event.assert_exists_link('Welcome!') }
1
+ add_step! (RubyApp::Elements::Mobile::Page::LoadedEvent) { |event| event.assert_exists_text('Welcome!') }
@@ -9,7 +9,6 @@ ruby_app:
9
9
  calendars:
10
10
  month_dialog:
11
11
  today: "Today"
12
- close: "Close"
13
12
  acknowledgement_dialog:
14
13
  ok: "OK"
15
14
  confirmation_dialog:
@@ -1,4 +1,4 @@
1
1
  module RubyApp
2
- VERSION = "0.5.38"
2
+ VERSION = "0.5.39"
3
3
  ROOT = File.expand_path(File.dirname(__FILE__))
4
4
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: RubyApp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 71
4
+ hash: 69
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 38
10
- version: 0.5.38
9
+ - 39
10
+ version: 0.5.39
11
11
  platform: ruby
12
12
  authors:
13
13
  - Frank G. Ficnar
@@ -15,11 +15,9 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-09 00:00:00 Z
18
+ date: 2012-05-29 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- name: BlueCloth
23
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
24
22
  none: false
25
23
  requirements:
@@ -29,11 +27,11 @@ dependencies:
29
27
  segments:
30
28
  - 0
31
29
  version: "0"
32
- type: :runtime
33
30
  requirement: *id001
34
- - !ruby/object:Gem::Dependency
31
+ type: :runtime
35
32
  prerelease: false
36
- name: chronic
33
+ name: BlueCloth
34
+ - !ruby/object:Gem::Dependency
37
35
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
36
  none: false
39
37
  requirements:
@@ -43,11 +41,11 @@ dependencies:
43
41
  segments:
44
42
  - 0
45
43
  version: "0"
46
- type: :runtime
47
44
  requirement: *id002
48
- - !ruby/object:Gem::Dependency
45
+ type: :runtime
49
46
  prerelease: false
50
- name: chronic_duration
47
+ name: chronic
48
+ - !ruby/object:Gem::Dependency
51
49
  version_requirements: &id003 !ruby/object:Gem::Requirement
52
50
  none: false
53
51
  requirements:
@@ -57,11 +55,11 @@ dependencies:
57
55
  segments:
58
56
  - 0
59
57
  version: "0"
60
- type: :runtime
61
58
  requirement: *id003
62
- - !ruby/object:Gem::Dependency
59
+ type: :runtime
63
60
  prerelease: false
64
- name: facets
61
+ name: chronic_duration
62
+ - !ruby/object:Gem::Dependency
65
63
  version_requirements: &id004 !ruby/object:Gem::Requirement
66
64
  none: false
67
65
  requirements:
@@ -71,11 +69,11 @@ dependencies:
71
69
  segments:
72
70
  - 0
73
71
  version: "0"
74
- type: :runtime
75
72
  requirement: *id004
76
- - !ruby/object:Gem::Dependency
73
+ type: :runtime
77
74
  prerelease: false
78
- name: fileutils
75
+ name: facets
76
+ - !ruby/object:Gem::Dependency
79
77
  version_requirements: &id005 !ruby/object:Gem::Requirement
80
78
  none: false
81
79
  requirements:
@@ -85,11 +83,11 @@ dependencies:
85
83
  segments:
86
84
  - 0
87
85
  version: "0"
88
- type: :runtime
89
86
  requirement: *id005
90
- - !ruby/object:Gem::Dependency
87
+ type: :runtime
91
88
  prerelease: false
92
- name: haml
89
+ name: fileutils
90
+ - !ruby/object:Gem::Dependency
93
91
  version_requirements: &id006 !ruby/object:Gem::Requirement
94
92
  none: false
95
93
  requirements:
@@ -99,11 +97,11 @@ dependencies:
99
97
  segments:
100
98
  - 0
101
99
  version: "0"
102
- type: :runtime
103
100
  requirement: *id006
104
- - !ruby/object:Gem::Dependency
101
+ type: :runtime
105
102
  prerelease: false
106
- name: json
103
+ name: haml
104
+ - !ruby/object:Gem::Dependency
107
105
  version_requirements: &id007 !ruby/object:Gem::Requirement
108
106
  none: false
109
107
  requirements:
@@ -113,11 +111,11 @@ dependencies:
113
111
  segments:
114
112
  - 0
115
113
  version: "0"
116
- type: :runtime
117
114
  requirement: *id007
118
- - !ruby/object:Gem::Dependency
115
+ type: :runtime
119
116
  prerelease: false
120
- name: mime-types
117
+ name: json
118
+ - !ruby/object:Gem::Dependency
121
119
  version_requirements: &id008 !ruby/object:Gem::Requirement
122
120
  none: false
123
121
  requirements:
@@ -127,11 +125,11 @@ dependencies:
127
125
  segments:
128
126
  - 0
129
127
  version: "0"
130
- type: :runtime
131
128
  requirement: *id008
132
- - !ruby/object:Gem::Dependency
129
+ type: :runtime
133
130
  prerelease: false
134
- name: r18n-core
131
+ name: mime-types
132
+ - !ruby/object:Gem::Dependency
135
133
  version_requirements: &id009 !ruby/object:Gem::Requirement
136
134
  none: false
137
135
  requirements:
@@ -141,11 +139,11 @@ dependencies:
141
139
  segments:
142
140
  - 0
143
141
  version: "0"
144
- type: :runtime
145
142
  requirement: *id009
146
- - !ruby/object:Gem::Dependency
143
+ type: :runtime
147
144
  prerelease: false
148
- name: rack
145
+ name: r18n-core
146
+ - !ruby/object:Gem::Dependency
149
147
  version_requirements: &id010 !ruby/object:Gem::Requirement
150
148
  none: false
151
149
  requirements:
@@ -155,11 +153,11 @@ dependencies:
155
153
  segments:
156
154
  - 0
157
155
  version: "0"
158
- type: :runtime
159
156
  requirement: *id010
160
- - !ruby/object:Gem::Dependency
157
+ type: :runtime
161
158
  prerelease: false
162
- name: ruby-event
159
+ name: rack
160
+ - !ruby/object:Gem::Dependency
163
161
  version_requirements: &id011 !ruby/object:Gem::Requirement
164
162
  none: false
165
163
  requirements:
@@ -169,11 +167,11 @@ dependencies:
169
167
  segments:
170
168
  - 0
171
169
  version: "0"
172
- type: :runtime
173
170
  requirement: *id011
174
- - !ruby/object:Gem::Dependency
171
+ type: :runtime
175
172
  prerelease: false
176
- name: ruby-openid
173
+ name: ruby-event
174
+ - !ruby/object:Gem::Dependency
177
175
  version_requirements: &id012 !ruby/object:Gem::Requirement
178
176
  none: false
179
177
  requirements:
@@ -183,11 +181,11 @@ dependencies:
183
181
  segments:
184
182
  - 0
185
183
  version: "0"
186
- type: :runtime
187
184
  requirement: *id012
188
- - !ruby/object:Gem::Dependency
185
+ type: :runtime
189
186
  prerelease: false
190
- name: sass
187
+ name: ruby-openid
188
+ - !ruby/object:Gem::Dependency
191
189
  version_requirements: &id013 !ruby/object:Gem::Requirement
192
190
  none: false
193
191
  requirements:
@@ -197,11 +195,11 @@ dependencies:
197
195
  segments:
198
196
  - 0
199
197
  version: "0"
200
- type: :runtime
201
198
  requirement: *id013
202
- - !ruby/object:Gem::Dependency
199
+ type: :runtime
203
200
  prerelease: false
204
- name: term-ansicolor
201
+ name: sass
202
+ - !ruby/object:Gem::Dependency
205
203
  version_requirements: &id014 !ruby/object:Gem::Requirement
206
204
  none: false
207
205
  requirements:
@@ -211,11 +209,11 @@ dependencies:
211
209
  segments:
212
210
  - 0
213
211
  version: "0"
214
- type: :runtime
215
212
  requirement: *id014
216
- - !ruby/object:Gem::Dependency
213
+ type: :runtime
217
214
  prerelease: false
218
- name: terminal-table
215
+ name: term-ansicolor
216
+ - !ruby/object:Gem::Dependency
219
217
  version_requirements: &id015 !ruby/object:Gem::Requirement
220
218
  none: false
221
219
  requirements:
@@ -225,11 +223,11 @@ dependencies:
225
223
  segments:
226
224
  - 0
227
225
  version: "0"
228
- type: :runtime
229
226
  requirement: *id015
230
- - !ruby/object:Gem::Dependency
227
+ type: :runtime
231
228
  prerelease: false
232
- name: yajl-ruby
229
+ name: terminal-table
230
+ - !ruby/object:Gem::Dependency
233
231
  version_requirements: &id016 !ruby/object:Gem::Requirement
234
232
  none: false
235
233
  requirements:
@@ -239,11 +237,11 @@ dependencies:
239
237
  segments:
240
238
  - 0
241
239
  version: "0"
242
- type: :runtime
243
240
  requirement: *id016
244
- - !ruby/object:Gem::Dependency
241
+ type: :runtime
245
242
  prerelease: false
246
- name: rake
243
+ name: yajl-ruby
244
+ - !ruby/object:Gem::Dependency
247
245
  version_requirements: &id017 !ruby/object:Gem::Requirement
248
246
  none: false
249
247
  requirements:
@@ -253,8 +251,10 @@ dependencies:
253
251
  segments:
254
252
  - 0
255
253
  version: "0"
256
- type: :development
257
254
  requirement: *id017
255
+ type: :development
256
+ prerelease: false
257
+ name: rake
258
258
  description: A mobile web application framework in Ruby
259
259
  email:
260
260
  - frank.ficnar@gmail.com
@@ -326,6 +326,10 @@ files:
326
326
  - lib/ruby_app/elements/mobile/default/features/lists_page.html.haml
327
327
  - lib/ruby_app/elements/mobile/default/features/lists_page.js.haml
328
328
  - lib/ruby_app/elements/mobile/default/features/lists_page.rb
329
+ - lib/ruby_app/elements/mobile/default/features/message_page.css.haml
330
+ - lib/ruby_app/elements/mobile/default/features/message_page.html.haml
331
+ - lib/ruby_app/elements/mobile/default/features/message_page.js.haml
332
+ - lib/ruby_app/elements/mobile/default/features/message_page.rb
329
333
  - lib/ruby_app/elements/mobile/default/features/navigated_page.css.haml
330
334
  - lib/ruby_app/elements/mobile/default/features/navigated_page.html.haml
331
335
  - lib/ruby_app/elements/mobile/default/features/navigated_page.js.haml
@@ -432,6 +436,7 @@ files:
432
436
  - lib/ruby_app/elements/mobile/pages/information/pages_page.html.haml
433
437
  - lib/ruby_app/elements/mobile/pages/information/pages_page.js.haml
434
438
  - lib/ruby_app/elements/mobile/pages/information/pages_page.rb
439
+ - lib/ruby_app/elements/mobile/pages/information/scripts_list.css.haml
435
440
  - lib/ruby_app/elements/mobile/pages/information/scripts_list.rb
436
441
  - lib/ruby_app/elements/mobile/pages/information/scripts_list_item.html.haml
437
442
  - lib/ruby_app/elements/mobile/pages/information/scripts_page.css.haml
@@ -499,6 +504,7 @@ files:
499
504
  - lib/ruby_app/scripts/elements/dialogs.rb
500
505
  - lib/ruby_app/scripts/elements/inputs.rb
501
506
  - lib/ruby_app/scripts/elements/lists.rb
507
+ - lib/ruby_app/scripts/elements/message.rb
502
508
  - lib/ruby_app/scripts/elements/navigation/navigation_list.rb
503
509
  - lib/ruby_app/scripts/elements/swipe.rb
504
510
  - lib/ruby_app/scripts/elements/trigger.rb
@@ -554,7 +560,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
554
560
  requirements: []
555
561
 
556
562
  rubyforge_project:
557
- rubygems_version: 1.8.13
563
+ rubygems_version: 1.8.10
558
564
  signing_key:
559
565
  specification_version: 3
560
566
  summary: A mobile web application framework in Ruby