RubyApp 0.0.55 → 0.0.56

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- RubyApp (0.0.55)
4
+ RubyApp (0.0.56)
5
5
  BlueCloth
6
6
  chronic
7
7
  chronic_duration
@@ -31,7 +31,7 @@ GEM
31
31
  rack-test (>= 0.5.4)
32
32
  selenium-webdriver (~> 2.0)
33
33
  xpath (~> 0.1.4)
34
- childprocess (0.2.4)
34
+ childprocess (0.2.5)
35
35
  ffi (~> 1.0.6)
36
36
  chronic (0.6.6)
37
37
  chronic_duration (0.9.6)
@@ -47,7 +47,7 @@ GEM
47
47
  ffi (1.0.11)
48
48
  fileutils (0.7)
49
49
  rmagick (>= 2.13.1)
50
- gherkin (2.7.1)
50
+ gherkin (2.7.2)
51
51
  json (>= 1.4.6)
52
52
  haml (3.1.4)
53
53
  json (1.6.4)
@@ -63,20 +63,20 @@ GEM
63
63
  rack (>= 1.0)
64
64
  rake (0.9.2.2)
65
65
  rmagick (2.13.1)
66
- rspec (2.7.0)
67
- rspec-core (~> 2.7.0)
68
- rspec-expectations (~> 2.7.0)
69
- rspec-mocks (~> 2.7.0)
70
- rspec-core (2.7.1)
71
- rspec-expectations (2.7.0)
66
+ rspec (2.8.0)
67
+ rspec-core (~> 2.8.0)
68
+ rspec-expectations (~> 2.8.0)
69
+ rspec-mocks (~> 2.8.0)
70
+ rspec-core (2.8.0)
71
+ rspec-expectations (2.8.0)
72
72
  diff-lcs (~> 1.1.2)
73
- rspec-mocks (2.7.0)
73
+ rspec-mocks (2.8.0)
74
74
  ruby-event (1.0.0)
75
75
  ruby-openid (2.1.8)
76
76
  rubyzip (0.9.5)
77
77
  sass (3.1.12)
78
- selenium-webdriver (2.15.0)
79
- childprocess (>= 0.2.1)
78
+ selenium-webdriver (2.16.0)
79
+ childprocess (>= 0.2.5)
80
80
  ffi (~> 1.0.9)
81
81
  multi_json (~> 1.0.4)
82
82
  rubyzip
@@ -4,10 +4,10 @@ Feature: Input elements
4
4
  Given I go to the test pages
5
5
  When I click "InputTestPage"
6
6
  Then I should see "Input"
7
- And I fill in the "Input" field with "value" and I press enter
7
+ And I fill in the "Input" field with "value" and I change focus
8
8
  Then I should see "You input 'value'."
9
9
  When I click "Close"
10
- And I fill in the "Input" field with "" and I press enter
10
+ And I fill in the "Input" field with "" and I change focus
11
11
  Then I should see "You input '(nil)'."
12
12
  Then I click "Close"
13
13
  Then I quit
@@ -16,8 +16,32 @@ Feature: Input elements
16
16
  Given I go to the test pages
17
17
  When I click "InputTestPage"
18
18
  Then I should see "DurationInput"
19
- When I fill in the "DurationInput" field with "2h 3m" and I press enter
19
+ When I fill in the "DurationInput" field with "2h 3m" and I change focus
20
20
  Then I should see "You input '7,380'."
21
21
  When I click "Close"
22
22
  Then the "DurationInput" field should contain "2 hrs 3 mins"
23
23
  Then I quit
24
+
25
+ Scenario: Render a multiline input element and process its event
26
+ Given I go to the test pages
27
+ When I click "InputTestPage"
28
+ Then I should see "MultilineInput"
29
+ And I fill in the "MultilineInput" field with "value" and I change focus
30
+ Then I should see "You input 'value'."
31
+ When I click "Close"
32
+ And I fill in the "MultilineInput" field with "" and I change focus
33
+ Then I should see "You input '(nil)'."
34
+ Then I click "Close"
35
+ Then I quit
36
+
37
+ Scenario: Render a email input element and process its event
38
+ Given I go to the test pages
39
+ When I click "InputTestPage"
40
+ Then I should see "EmailInput"
41
+ And I fill in the "EmailInput" field with "value" and I change focus
42
+ Then I should see "You input 'value'."
43
+ When I click "Close"
44
+ And I fill in the "EmailInput" field with "" and I change focus
45
+ Then I should see "You input '(nil)'."
46
+ Then I click "Close"
47
+ Then I quit
@@ -13,7 +13,7 @@ Feature: A page
13
13
  Given I go to the test pages
14
14
  When I click "_TestPage"
15
15
  Then I should see "Rendered"
16
- When I fill in the "Enter a new cookie value" field with "value" and I press enter
16
+ When I fill in the "Enter a new cookie value" field with "value" and I change focus
17
17
  Then I should see "The cookie value is 'value'."
18
18
  Then I click "Close"
19
19
  Then I quit
@@ -19,10 +19,10 @@ When /^I click "([^"]*)"$/ do |text|
19
19
  #sleep 1
20
20
  end
21
21
 
22
- When /^I fill in the "([^"]*)" field with "([^"]*)"( and I press enter)?$/ do |field, value, enter|
22
+ When /^I fill in the "([^"]*)" field with "([^"]*)"( and I change focus)?$/ do |field, value, change_focus|
23
23
  fill_in(field, :with => value)
24
- if enter
25
- find_field(field).native.send_key(:enter)
24
+ if change_focus
25
+ find('body').click
26
26
  #sleep 1
27
27
  end
28
28
  end
@@ -9,7 +9,6 @@ module RubyApp
9
9
 
10
10
  def initialize
11
11
  super
12
- attributes.merge!(:type => :button)
13
12
  end
14
13
 
15
14
  end
@@ -2,7 +2,7 @@
2
2
  :plain
3
3
  // #{__FILE__}
4
4
  $(document).ready(function() {
5
- $('input[type="text"]').live('change', function(event) {
5
+ $('input').live('change', function(event) {
6
6
  event.preventDefault();
7
7
  RubyApp.queueEvent({_class:'RubyApp::Elements::Input::ChangedEvent', source_id:$(this).attr('id'), value:$(this).val()}, true);
8
8
  });
@@ -0,0 +1,3 @@
1
+ /
2
+ #{__FILE__}
3
+ %input{attributes.merge(:type => :email, :value => self.value)}
@@ -0,0 +1,24 @@
1
+ module RubyApp
2
+
3
+ module Elements
4
+
5
+ module Inputs
6
+ require 'ruby_app/elements/input'
7
+
8
+ class EmailInput < RubyApp::Elements::Input
9
+
10
+ template_path(:all, File.dirname(__FILE__))
11
+
12
+ exclude_parent_template(:html)
13
+
14
+ def initialize
15
+ super
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,4 @@
1
+ /
2
+ #{__FILE__}
3
+ %textarea{attributes}
4
+ = self.value
@@ -0,0 +1,10 @@
1
+ - self.rendered?(__FILE__) do
2
+ :plain
3
+ // #{__FILE__}
4
+ $(document).ready(function() {
5
+ $('textarea').live('change', function(event) {
6
+ event.preventDefault();
7
+ RubyApp.queueEvent({_class:'RubyApp::Elements::Inputs::MultilineInput::ChangedEvent', source_id:$(this).attr('id'), value:$(this).val()}, true);
8
+ });
9
+ });
10
+ = yield
@@ -0,0 +1,24 @@
1
+ module RubyApp
2
+
3
+ module Elements
4
+
5
+ module Inputs
6
+ require 'ruby_app/elements/input'
7
+
8
+ class MultilineInput < RubyApp::Elements::Input
9
+
10
+ template_path(:all, File.dirname(__FILE__))
11
+
12
+ exclude_parent_template(:html, :js)
13
+
14
+ def initialize
15
+ super
16
+ end
17
+
18
+ end
19
+
20
+ end
21
+
22
+ end
23
+
24
+ end
@@ -1,5 +1,6 @@
1
1
  = RubyApp::Elements::Dialogs::MessageDialog.render(:css)
2
2
  = RubyApp::Elements::Input.render(:css)
3
3
  = RubyApp::Elements::Inputs::DurationInput.render(:css)
4
+ = RubyApp::Elements::Inputs::MultilineInput.render(:css)
4
5
  = RubyApp::Elements::Markdown.render(:css)
5
6
  = yield
@@ -10,3 +10,11 @@
10
10
  %label{:for => @duration_input.element_id}
11
11
  = self.translate.label.duration_input
12
12
  = @duration_input.render(:html)
13
+ %br
14
+ %label{:for => @multiline_input.element_id}
15
+ = self.translate.label.multiline_input
16
+ = @multiline_input.render(:html)
17
+ %br
18
+ %label{:for => @email_input.element_id}
19
+ = self.translate.label.email_input
20
+ = @email_input.render(:html)
@@ -1,5 +1,6 @@
1
1
  = RubyApp::Elements::Dialogs::MessageDialog.render(:js)
2
2
  = RubyApp::Elements::Input.render(:js)
3
3
  = RubyApp::Elements::Inputs::DurationInput.render(:js)
4
+ = RubyApp::Elements::Inputs::MultilineInput.render(:js)
4
5
  = RubyApp::Elements::Markdown.render(:js)
5
6
  = yield
@@ -9,6 +9,8 @@ module RubyApp
9
9
  require 'ruby_app/elements/markdown'
10
10
  require 'ruby_app/elements/input'
11
11
  require 'ruby_app/elements/inputs/duration_input'
12
+ require 'ruby_app/elements/inputs/email_input'
13
+ require 'ruby_app/elements/inputs/multiline_input'
12
14
  require 'ruby_app/elements/pages/blank_page'
13
15
  require 'ruby_app/session'
14
16
 
@@ -33,6 +35,18 @@ module RubyApp
33
35
  self.translate.message_dialog.message.message(@duration_input.duration || '(nil)')))
34
36
  end
35
37
 
38
+ @multiline_input = RubyApp::Elements::Inputs::MultilineInput.new
39
+ @multiline_input.changed do |element, event|
40
+ RubyApp::Session.show_dialog(event, RubyApp::Elements::Dialogs::MessageDialog.new(self.translate.message_dialog.message.title,
41
+ self.translate.message_dialog.message.message(@multiline_input.value || '(nil)')))
42
+ end
43
+
44
+ @email_input = RubyApp::Elements::Inputs::EmailInput.new
45
+ @email_input.changed do |element, event|
46
+ RubyApp::Session.show_dialog(event, RubyApp::Elements::Dialogs::MessageDialog.new(self.translate.message_dialog.message.title,
47
+ self.translate.message_dialog.message.message(@email_input.value || '(nil)')))
48
+ end
49
+
36
50
  end
37
51
 
38
52
  end
@@ -122,6 +122,8 @@ ruby_app:
122
122
  label:
123
123
  input: Input
124
124
  duration_input: DurationInput
125
+ email_input: EmailInput
126
+ multiline_input: MultilineInput
125
127
  message_dialog:
126
128
  message:
127
129
  title: Input Test
@@ -1,4 +1,4 @@
1
1
  module RubyApp
2
- VERSION = "0.0.55"
2
+ VERSION = "0.0.56"
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: 113
4
+ hash: 111
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 55
10
- version: 0.0.55
9
+ - 56
10
+ version: 0.0.56
11
11
  platform: ruby
12
12
  authors:
13
13
  - Frank G. Ficnar
@@ -15,9 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-05 00:00:00 Z
18
+ date: 2012-01-07 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
+ prerelease: false
22
+ name: BlueCloth
21
23
  version_requirements: &id001 !ruby/object:Gem::Requirement
22
24
  none: false
23
25
  requirements:
@@ -27,11 +29,11 @@ dependencies:
27
29
  segments:
28
30
  - 0
29
31
  version: "0"
30
- requirement: *id001
31
32
  type: :runtime
32
- prerelease: false
33
- name: BlueCloth
33
+ requirement: *id001
34
34
  - !ruby/object:Gem::Dependency
35
+ prerelease: false
36
+ name: chronic
35
37
  version_requirements: &id002 !ruby/object:Gem::Requirement
36
38
  none: false
37
39
  requirements:
@@ -41,11 +43,11 @@ dependencies:
41
43
  segments:
42
44
  - 0
43
45
  version: "0"
44
- requirement: *id002
45
46
  type: :runtime
46
- prerelease: false
47
- name: chronic
47
+ requirement: *id002
48
48
  - !ruby/object:Gem::Dependency
49
+ prerelease: false
50
+ name: chronic_duration
49
51
  version_requirements: &id003 !ruby/object:Gem::Requirement
50
52
  none: false
51
53
  requirements:
@@ -55,11 +57,11 @@ dependencies:
55
57
  segments:
56
58
  - 0
57
59
  version: "0"
58
- requirement: *id003
59
60
  type: :runtime
60
- prerelease: false
61
- name: chronic_duration
61
+ requirement: *id003
62
62
  - !ruby/object:Gem::Dependency
63
+ prerelease: false
64
+ name: facets
63
65
  version_requirements: &id004 !ruby/object:Gem::Requirement
64
66
  none: false
65
67
  requirements:
@@ -69,11 +71,11 @@ dependencies:
69
71
  segments:
70
72
  - 0
71
73
  version: "0"
72
- requirement: *id004
73
74
  type: :runtime
74
- prerelease: false
75
- name: facets
75
+ requirement: *id004
76
76
  - !ruby/object:Gem::Dependency
77
+ prerelease: false
78
+ name: fileutils
77
79
  version_requirements: &id005 !ruby/object:Gem::Requirement
78
80
  none: false
79
81
  requirements:
@@ -83,11 +85,11 @@ dependencies:
83
85
  segments:
84
86
  - 0
85
87
  version: "0"
86
- requirement: *id005
87
88
  type: :runtime
88
- prerelease: false
89
- name: fileutils
89
+ requirement: *id005
90
90
  - !ruby/object:Gem::Dependency
91
+ prerelease: false
92
+ name: haml
91
93
  version_requirements: &id006 !ruby/object:Gem::Requirement
92
94
  none: false
93
95
  requirements:
@@ -97,11 +99,11 @@ dependencies:
97
99
  segments:
98
100
  - 0
99
101
  version: "0"
100
- requirement: *id006
101
102
  type: :runtime
102
- prerelease: false
103
- name: haml
103
+ requirement: *id006
104
104
  - !ruby/object:Gem::Dependency
105
+ prerelease: false
106
+ name: json
105
107
  version_requirements: &id007 !ruby/object:Gem::Requirement
106
108
  none: false
107
109
  requirements:
@@ -111,11 +113,11 @@ dependencies:
111
113
  segments:
112
114
  - 0
113
115
  version: "0"
114
- requirement: *id007
115
116
  type: :runtime
116
- prerelease: false
117
- name: json
117
+ requirement: *id007
118
118
  - !ruby/object:Gem::Dependency
119
+ prerelease: false
120
+ name: mime-types
119
121
  version_requirements: &id008 !ruby/object:Gem::Requirement
120
122
  none: false
121
123
  requirements:
@@ -125,11 +127,11 @@ dependencies:
125
127
  segments:
126
128
  - 0
127
129
  version: "0"
128
- requirement: *id008
129
130
  type: :runtime
130
- prerelease: false
131
- name: mime-types
131
+ requirement: *id008
132
132
  - !ruby/object:Gem::Dependency
133
+ prerelease: false
134
+ name: r18n-core
133
135
  version_requirements: &id009 !ruby/object:Gem::Requirement
134
136
  none: false
135
137
  requirements:
@@ -139,11 +141,11 @@ dependencies:
139
141
  segments:
140
142
  - 0
141
143
  version: "0"
142
- requirement: *id009
143
144
  type: :runtime
144
- prerelease: false
145
- name: r18n-core
145
+ requirement: *id009
146
146
  - !ruby/object:Gem::Dependency
147
+ prerelease: false
148
+ name: rack
147
149
  version_requirements: &id010 !ruby/object:Gem::Requirement
148
150
  none: false
149
151
  requirements:
@@ -153,11 +155,11 @@ dependencies:
153
155
  segments:
154
156
  - 0
155
157
  version: "0"
156
- requirement: *id010
157
158
  type: :runtime
158
- prerelease: false
159
- name: rack
159
+ requirement: *id010
160
160
  - !ruby/object:Gem::Dependency
161
+ prerelease: false
162
+ name: ruby-event
161
163
  version_requirements: &id011 !ruby/object:Gem::Requirement
162
164
  none: false
163
165
  requirements:
@@ -167,11 +169,11 @@ dependencies:
167
169
  segments:
168
170
  - 0
169
171
  version: "0"
170
- requirement: *id011
171
172
  type: :runtime
172
- prerelease: false
173
- name: ruby-event
173
+ requirement: *id011
174
174
  - !ruby/object:Gem::Dependency
175
+ prerelease: false
176
+ name: ruby-openid
175
177
  version_requirements: &id012 !ruby/object:Gem::Requirement
176
178
  none: false
177
179
  requirements:
@@ -181,11 +183,11 @@ dependencies:
181
183
  segments:
182
184
  - 0
183
185
  version: "0"
184
- requirement: *id012
185
186
  type: :runtime
186
- prerelease: false
187
- name: ruby-openid
187
+ requirement: *id012
188
188
  - !ruby/object:Gem::Dependency
189
+ prerelease: false
190
+ name: sass
189
191
  version_requirements: &id013 !ruby/object:Gem::Requirement
190
192
  none: false
191
193
  requirements:
@@ -195,11 +197,11 @@ dependencies:
195
197
  segments:
196
198
  - 0
197
199
  version: "0"
198
- requirement: *id013
199
200
  type: :runtime
200
- prerelease: false
201
- name: sass
201
+ requirement: *id013
202
202
  - !ruby/object:Gem::Dependency
203
+ prerelease: false
204
+ name: term-ansicolor
203
205
  version_requirements: &id014 !ruby/object:Gem::Requirement
204
206
  none: false
205
207
  requirements:
@@ -209,11 +211,11 @@ dependencies:
209
211
  segments:
210
212
  - 0
211
213
  version: "0"
212
- requirement: *id014
213
214
  type: :runtime
214
- prerelease: false
215
- name: term-ansicolor
215
+ requirement: *id014
216
216
  - !ruby/object:Gem::Dependency
217
+ prerelease: false
218
+ name: yajl-ruby
217
219
  version_requirements: &id015 !ruby/object:Gem::Requirement
218
220
  none: false
219
221
  requirements:
@@ -223,11 +225,11 @@ dependencies:
223
225
  segments:
224
226
  - 0
225
227
  version: "0"
226
- requirement: *id015
227
228
  type: :runtime
228
- prerelease: false
229
- name: yajl-ruby
229
+ requirement: *id015
230
230
  - !ruby/object:Gem::Dependency
231
+ prerelease: false
232
+ name: capybara
231
233
  version_requirements: &id016 !ruby/object:Gem::Requirement
232
234
  none: false
233
235
  requirements:
@@ -237,11 +239,11 @@ dependencies:
237
239
  segments:
238
240
  - 0
239
241
  version: "0"
240
- requirement: *id016
241
242
  type: :development
242
- prerelease: false
243
- name: capybara
243
+ requirement: *id016
244
244
  - !ruby/object:Gem::Dependency
245
+ prerelease: false
246
+ name: cucumber
245
247
  version_requirements: &id017 !ruby/object:Gem::Requirement
246
248
  none: false
247
249
  requirements:
@@ -251,11 +253,11 @@ dependencies:
251
253
  segments:
252
254
  - 0
253
255
  version: "0"
254
- requirement: *id017
255
256
  type: :development
256
- prerelease: false
257
- name: cucumber
257
+ requirement: *id017
258
258
  - !ruby/object:Gem::Dependency
259
+ prerelease: false
260
+ name: launchy
259
261
  version_requirements: &id018 !ruby/object:Gem::Requirement
260
262
  none: false
261
263
  requirements:
@@ -265,11 +267,11 @@ dependencies:
265
267
  segments:
266
268
  - 0
267
269
  version: "0"
268
- requirement: *id018
269
270
  type: :development
270
- prerelease: false
271
- name: launchy
271
+ requirement: *id018
272
272
  - !ruby/object:Gem::Dependency
273
+ prerelease: false
274
+ name: rake
273
275
  version_requirements: &id019 !ruby/object:Gem::Requirement
274
276
  none: false
275
277
  requirements:
@@ -279,11 +281,11 @@ dependencies:
279
281
  segments:
280
282
  - 0
281
283
  version: "0"
282
- requirement: *id019
283
284
  type: :development
284
- prerelease: false
285
- name: rake
285
+ requirement: *id019
286
286
  - !ruby/object:Gem::Dependency
287
+ prerelease: false
288
+ name: rspec
287
289
  version_requirements: &id020 !ruby/object:Gem::Requirement
288
290
  none: false
289
291
  requirements:
@@ -293,11 +295,11 @@ dependencies:
293
295
  segments:
294
296
  - 0
295
297
  version: "0"
296
- requirement: *id020
297
298
  type: :development
298
- prerelease: false
299
- name: rspec
299
+ requirement: *id020
300
300
  - !ruby/object:Gem::Dependency
301
+ prerelease: false
302
+ name: rspec-mocks
301
303
  version_requirements: &id021 !ruby/object:Gem::Requirement
302
304
  none: false
303
305
  requirements:
@@ -307,11 +309,11 @@ dependencies:
307
309
  segments:
308
310
  - 0
309
311
  version: "0"
310
- requirement: *id021
311
312
  type: :development
312
- prerelease: false
313
- name: rspec-mocks
313
+ requirement: *id021
314
314
  - !ruby/object:Gem::Dependency
315
+ prerelease: false
316
+ name: ya2yaml
315
317
  version_requirements: &id022 !ruby/object:Gem::Requirement
316
318
  none: false
317
319
  requirements:
@@ -321,10 +323,8 @@ dependencies:
321
323
  segments:
322
324
  - 0
323
325
  version: "0"
324
- requirement: *id022
325
326
  type: :development
326
- prerelease: false
327
- name: ya2yaml
327
+ requirement: *id022
328
328
  description: A web application framework in Ruby
329
329
  email:
330
330
  - frank.ficnar@gmail.com
@@ -406,6 +406,11 @@ files:
406
406
  - lib/ruby_app/elements/input.js.haml
407
407
  - lib/ruby_app/elements/input.rb
408
408
  - lib/ruby_app/elements/inputs/duration_input.rb
409
+ - lib/ruby_app/elements/inputs/email_input.html.haml
410
+ - lib/ruby_app/elements/inputs/email_input.rb
411
+ - lib/ruby_app/elements/inputs/multiline_input.html.haml
412
+ - lib/ruby_app/elements/inputs/multiline_input.js.haml
413
+ - lib/ruby_app/elements/inputs/multiline_input.rb
409
414
  - lib/ruby_app/elements/link.html.haml
410
415
  - lib/ruby_app/elements/link.rb
411
416
  - lib/ruby_app/elements/list.html.haml
@@ -608,7 +613,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
608
613
  requirements: []
609
614
 
610
615
  rubyforge_project:
611
- rubygems_version: 1.8.10
616
+ rubygems_version: 1.8.13
612
617
  signing_key:
613
618
  specification_version: 3
614
619
  summary: A web application framework in Ruby