RubyApp 0.5.29 → 0.5.30

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- RubyApp (0.5.29)
4
+ RubyApp (0.5.30)
5
5
  BlueCloth
6
6
  chronic
7
7
  chronic_duration
@@ -135,6 +135,10 @@ module RubyApp
135
135
  self.execute("RubyApp.tap(#{_selector.to_json});")
136
136
  end
137
137
 
138
+ def swipe(direction)
139
+ self.execute("RubyApp.swipe#{direction == :left ? 'Left' : 'Right'}();")
140
+ end
141
+
138
142
  def assert_exists_text(text)
139
143
  self.assert_exists_selector("*:contains('#{text}')")
140
144
  end
@@ -12,6 +12,7 @@ require 'ruby_app/elements/mobile/documents/authentication/open_id/google_authen
12
12
  require 'ruby_app/elements/mobile/documents/authentication/open_id/my_open_id_authentication_document'
13
13
  require 'ruby_app/elements/mobile/documents/authentication/open_id/yahoo_authentication_document'
14
14
  require 'ruby_app/elements/mobile/input'
15
+ require 'ruby_app/elements/mobile/inputs/date_input'
15
16
  require 'ruby_app/elements/mobile/inputs/duration_input'
16
17
  require 'ruby_app/elements/mobile/inputs/email_input'
17
18
  require 'ruby_app/elements/mobile/inputs/multiline_input'
@@ -23,7 +23,7 @@ module RubyApp
23
23
 
24
24
  @button_link = RubyApp::Elements::Mobile::Button.new
25
25
  @button_link.clicked do |element, event|
26
- RubyApp::Elements::Mobile::Default::Features::NavigatedPage.new.show(event)
26
+ RubyApp::Elements::Mobile::Default::Features::NavigatedPage.new.show(event, :transition => 'slide')
27
27
  end
28
28
 
29
29
  end
@@ -2,6 +2,7 @@
2
2
  = RubyApp::Elements::Mobile::Default::Features::ButtonsPage.render(:css)
3
3
  = RubyApp::Elements::Mobile::Default::Features::DialogsPage.render(:css)
4
4
  = RubyApp::Elements::Mobile::Default::Features::InputsPage.render(:css)
5
+ = RubyApp::Elements::Mobile::Default::Features::SwipePage.render(:css)
5
6
  = RubyApp::Elements::Mobile::Default::Features::TriggerPage.render(:css)
6
7
  = RubyApp::Elements::Mobile::Default::Features::ListsPage.render(:css)
7
8
  = RubyApp::Elements::Mobile::Navigation::PageButton.render(:css)
@@ -17,5 +17,7 @@
17
17
  - element.content_for(:html, :link, 'Inputs')
18
18
  = @lists_link.render(:html) do |element|
19
19
  - element.content_for(:html, :link, 'Lists')
20
+ = @swipe_link.render(:html) do |element|
21
+ - element.content_for(:html, :link, 'Swipe')
20
22
  = @trigger_link.render(:html) do |element|
21
23
  - element.content_for(:html, :link, 'Trigger')
@@ -2,6 +2,7 @@
2
2
  = RubyApp::Elements::Mobile::Default::Features::ButtonsPage.render(:js)
3
3
  = RubyApp::Elements::Mobile::Default::Features::DialogsPage.render(:js)
4
4
  = RubyApp::Elements::Mobile::Default::Features::InputsPage.render(:js)
5
+ = RubyApp::Elements::Mobile::Default::Features::SwipePage.render(:js)
5
6
  = RubyApp::Elements::Mobile::Default::Features::TriggerPage.render(:js)
6
7
  = RubyApp::Elements::Mobile::Default::Features::ListsPage.render(:js)
7
8
  = RubyApp::Elements::Mobile::Navigation::PageButton.render(:js)
@@ -11,6 +11,7 @@ module RubyApp
11
11
  require 'ruby_app/elements/mobile/default/features/buttons_page'
12
12
  require 'ruby_app/elements/mobile/default/features/dialogs_page'
13
13
  require 'ruby_app/elements/mobile/default/features/inputs_page'
14
+ require 'ruby_app/elements/mobile/default/features/swipe_page'
14
15
  require 'ruby_app/elements/mobile/default/features/trigger_page'
15
16
  require 'ruby_app/elements/mobile/default/features/lists_page'
16
17
  require 'ruby_app/elements/mobile/navigation/back_button'
@@ -41,6 +42,9 @@ module RubyApp
41
42
  @lists_link = RubyApp::Elements::Mobile::Navigation::PageButton.new
42
43
  @lists_link.page = RubyApp::Elements::Mobile::Default::Features::ListsPage
43
44
 
45
+ @swipe_link = RubyApp::Elements::Mobile::Navigation::PageButton.new
46
+ @swipe_link.page = RubyApp::Elements::Mobile::Default::Features::SwipePage
47
+
44
48
  @trigger_link = RubyApp::Elements::Mobile::Navigation::PageButton.new
45
49
  @trigger_link.page = RubyApp::Elements::Mobile::Default::Features::TriggerPage
46
50
 
@@ -1,5 +1,6 @@
1
1
  = RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.render(:css)
2
2
  = RubyApp::Elements::Mobile::Input.render(:css)
3
+ = RubyApp::Elements::Mobile::Inputs::DateInput.render(:css)
3
4
  = RubyApp::Elements::Mobile::Inputs::DurationInput.render(:css)
4
5
  = RubyApp::Elements::Mobile::Inputs::EmailInput.render(:css)
5
6
  = RubyApp::Elements::Mobile::Inputs::MultilineInput.render(:css)
@@ -6,9 +6,9 @@
6
6
  %h1
7
7
  Inputs
8
8
  %div{'data-role' => 'content'}
9
- %label{:for => @simple_input.element_id}
10
- Simple Input
11
- = @simple_input.render(:html)
9
+ %label{:for => @date_input.element_id}
10
+ Date Input
11
+ = @date_input.render(:html)
12
12
  %label{:for => @duration_input.element_id}
13
13
  Duration Input
14
14
  = @duration_input.render(:html)
@@ -18,6 +18,9 @@
18
18
  %label{:for => @multiline_input.element_id}
19
19
  Multiline Input
20
20
  = @multiline_input.render(:html)
21
+ %label{:for => @simple_input.element_id}
22
+ Simple Input
23
+ = @simple_input.render(:html)
21
24
  %label{:for => @toggle_input.element_id}
22
25
  Toggle Input
23
26
  = @toggle_input.render(:html)
@@ -1,5 +1,6 @@
1
1
  = RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.render(:js)
2
2
  = RubyApp::Elements::Mobile::Input.render(:js)
3
+ = RubyApp::Elements::Mobile::Inputs::DateInput.render(:js)
3
4
  = RubyApp::Elements::Mobile::Inputs::DurationInput.render(:js)
4
5
  = RubyApp::Elements::Mobile::Inputs::EmailInput.render(:js)
5
6
  = RubyApp::Elements::Mobile::Inputs::MultilineInput.render(:js)
@@ -30,6 +30,11 @@ module RubyApp
30
30
  RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('Simple Input', "You input #{@simple_input.value}."), :transition => 'pop')
31
31
  end
32
32
 
33
+ @date_input = RubyApp::Elements::Mobile::Inputs::DateInput.new
34
+ @date_input.changed do |element, event|
35
+ RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('Date Input', "You input #{@date_input.value}."), :transition => 'pop')
36
+ end
37
+
33
38
  @duration_input = RubyApp::Elements::Mobile::Inputs::DurationInput.new
34
39
  @duration_input.changed do |element, event|
35
40
  RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('Duration Input', "You input #{@duration_input.duration}."), :transition => 'pop')
@@ -0,0 +1,3 @@
1
+ = RubyApp::Elements::Mobile::Default::Features::NavigatedPage.render(:css)
2
+ = RubyApp::Elements::Mobile::Navigation::BackButton.render(:css)
3
+ = yield
@@ -0,0 +1,9 @@
1
+ - self.content_for(:html, :page) do
2
+ /
3
+ #{__FILE__}
4
+ %div{'data-role' => 'header'}
5
+ = @back_button.render(:html)
6
+ %h1
7
+ Swipe
8
+ %div{'data-role' => 'content'}
9
+ Swipe left or right.
@@ -0,0 +1,3 @@
1
+ = RubyApp::Elements::Mobile::Default::Features::NavigatedPage.render(:js)
2
+ = RubyApp::Elements::Mobile::Navigation::BackButton.render(:js)
3
+ = yield
@@ -0,0 +1,40 @@
1
+ module RubyApp
2
+
3
+ module Elements
4
+
5
+ module Mobile
6
+
7
+ module Default
8
+
9
+ module Features
10
+ require 'ruby_app/elements/mobile/button'
11
+ require 'ruby_app/elements/mobile/default/features/navigated_page'
12
+ require 'ruby_app/elements/mobile/navigation/back_button'
13
+ require 'ruby_app/elements/mobile/page'
14
+
15
+ class SwipePage < RubyApp::Elements::Mobile::Page
16
+
17
+ template_path(:all, File.dirname(__FILE__))
18
+
19
+ def initialize
20
+ super
21
+
22
+ @back_button = RubyApp::Elements::Mobile::Navigation::BackButton.new
23
+
24
+ self.swiped do |element, event|
25
+ RubyApp::Elements::Mobile::Default::Features::NavigatedPage.new.show(event, :transition => 'slide', :reverse => event.is_a?(RubyApp::Elements::Mobile::Page::SwipedRightEvent) ? true : false)
26
+ end
27
+
28
+ end
29
+
30
+ end
31
+
32
+ end
33
+
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+
40
+ end
@@ -116,6 +116,12 @@
116
116
  this.tap = function(selector) {
117
117
  $(selector).tap();
118
118
  },
119
+ this.swipeLeft = function() {
120
+ $('.ui-page-active').swipeleft();
121
+ },
122
+ this.swipeRight = function() {
123
+ $('.ui-page-active').swiperight();
124
+ },
119
125
  this.change = function(selector) {
120
126
  $(selector).change();
121
127
  },
@@ -0,0 +1,27 @@
1
+ module RubyApp
2
+
3
+ module Elements
4
+
5
+ module Mobile
6
+
7
+ module Inputs
8
+ require 'ruby_app/elements/mobile/input'
9
+
10
+ class DateInput < RubyApp::Elements::Mobile::Input
11
+
12
+ template_path(:all, File.dirname(__FILE__))
13
+
14
+ def initialize
15
+ super
16
+ self.attributes.merge!(:type => :date)
17
+ end
18
+
19
+ end
20
+
21
+ end
22
+
23
+ end
24
+
25
+ end
26
+
27
+ end
@@ -10,5 +10,11 @@
10
10
  $(document).on('pagehide', 'div[data-role="page"]', function(event) {
11
11
  RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::Page::HiddenEvent', source:$(this).attr('id')});
12
12
  });
13
+ $(document).on('swipeleft', 'div[data-role="page"]', function(event) {
14
+ RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::Page::SwipedLeftEvent', source:$(this).attr('id')});
15
+ });
16
+ $(document).on('swiperight', 'div[data-role="page"]', function(event) {
17
+ RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::Page::SwipedRightEvent', source:$(this).attr('id')});
18
+ });
13
19
  });
14
20
  = yield
@@ -44,12 +44,37 @@ module RubyApp
44
44
 
45
45
  end
46
46
 
47
+ class SwipedEvent < RubyApp::Element::Event
48
+
49
+ def initialize(data)
50
+ super(data)
51
+ end
52
+
53
+ end
54
+
55
+ class SwipedLeftEvent < RubyApp::Elements::Mobile::Page::SwipedEvent
56
+
57
+ def initialize(data)
58
+ super(data)
59
+ end
60
+
61
+ end
62
+
63
+ class SwipedRightEvent < RubyApp::Elements::Mobile::Page::SwipedEvent
64
+
65
+ def initialize(data)
66
+ super(data)
67
+ end
68
+
69
+ end
70
+
47
71
  template_path(:all, File.dirname(__FILE__))
48
72
 
49
73
  event :loaded
50
74
  event :shown
51
75
  event :before_hidden
52
76
  event :hidden
77
+ event :swiped
53
78
 
54
79
  def initialize
55
80
  super
@@ -73,6 +98,7 @@ module RubyApp
73
98
  on_shown(event) if event.is_a?(RubyApp::Elements::Mobile::Page::ShownEvent)
74
99
  on_before_hidden(event) if event.is_a?(RubyApp::Elements::Mobile::Page::BeforeHiddenEvent)
75
100
  on_hidden(event) if event.is_a?(RubyApp::Elements::Mobile::Page::HiddenEvent)
101
+ on_swiped(event) if event.is_a?(RubyApp::Elements::Mobile::Page::SwipedEvent)
76
102
  super(event)
77
103
  end
78
104
 
@@ -93,6 +119,10 @@ module RubyApp
93
119
  hidden(event)
94
120
  end
95
121
 
122
+ def on_swiped(event)
123
+ swiped(event)
124
+ end
125
+
96
126
  end
97
127
 
98
128
  end
@@ -3,4 +3,5 @@ load_script! 'elements/buttons'
3
3
  load_script! 'elements/dialogs'
4
4
  load_script! 'elements/inputs'
5
5
  load_script! 'elements/lists'
6
+ load_script! 'elements/swipe'
6
7
  load_script! 'elements/trigger'
@@ -0,0 +1,14 @@
1
+ load_script! 'common/features'
2
+
3
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_link('Swipe') }
4
+ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('Swipe') }
5
+
6
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text('Swipe left or right.') }
7
+ add_step! (RubyApp::Element::AssertedEvent) { |event| event.swipe(:left) }
8
+
9
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.assert_exists_text('You are on this page.') }
10
+
11
+ add_step! (RubyApp::Element::AssertedEvent) { |event| event.tap_link('Back') }
12
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.tap_link('Back') }
13
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.tap_link('Back') }
14
+ add_step! (RubyApp::Elements::Mobile::Page::ShownEvent) { |event| event.refresh_browser }
@@ -1,4 +1,4 @@
1
1
  module RubyApp
2
- VERSION = "0.5.29"
2
+ VERSION = "0.5.30"
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: 49
4
+ hash: 55
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 29
10
- version: 0.5.29
9
+ - 30
10
+ version: 0.5.30
11
11
  platform: ruby
12
12
  authors:
13
13
  - Frank G. Ficnar
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-04-18 00:00:00 Z
18
+ date: 2012-04-19 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -318,6 +318,10 @@ files:
318
318
  - lib/ruby_app/elements/mobile/default/features/navigated_page.html.haml
319
319
  - lib/ruby_app/elements/mobile/default/features/navigated_page.js.haml
320
320
  - lib/ruby_app/elements/mobile/default/features/navigated_page.rb
321
+ - lib/ruby_app/elements/mobile/default/features/swipe_page.css.haml
322
+ - lib/ruby_app/elements/mobile/default/features/swipe_page.html.haml
323
+ - lib/ruby_app/elements/mobile/default/features/swipe_page.js.haml
324
+ - lib/ruby_app/elements/mobile/default/features/swipe_page.rb
321
325
  - lib/ruby_app/elements/mobile/default/features/trigger_page.css.haml
322
326
  - lib/ruby_app/elements/mobile/default/features/trigger_page.html.haml
323
327
  - lib/ruby_app/elements/mobile/default/features/trigger_page.js.haml
@@ -351,6 +355,7 @@ files:
351
355
  - lib/ruby_app/elements/mobile/input.html.haml
352
356
  - lib/ruby_app/elements/mobile/input.js.haml
353
357
  - lib/ruby_app/elements/mobile/input.rb
358
+ - lib/ruby_app/elements/mobile/inputs/date_input.rb
354
359
  - lib/ruby_app/elements/mobile/inputs/duration_input.rb
355
360
  - lib/ruby_app/elements/mobile/inputs/email_input.rb
356
361
  - lib/ruby_app/elements/mobile/inputs/multiline_input.html.haml
@@ -467,6 +472,7 @@ files:
467
472
  - lib/ruby_app/scripts/elements/dialogs.rb
468
473
  - lib/ruby_app/scripts/elements/inputs.rb
469
474
  - lib/ruby_app/scripts/elements/lists.rb
475
+ - lib/ruby_app/scripts/elements/swipe.rb
470
476
  - lib/ruby_app/scripts/elements/trigger.rb
471
477
  - lib/ruby_app/session.rb
472
478
  - lib/ruby_app/templates/application/Gemfile