apotomo 0.1.4 → 1.0.0.beta1

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 (62) hide show
  1. data/Gemfile +5 -2
  2. data/Gemfile.lock +70 -21
  3. data/Rakefile +7 -7
  4. data/config/routes.rb +3 -3
  5. data/lib/apotomo/persistence.rb +21 -48
  6. data/lib/apotomo/rails/view_helper.rb +3 -11
  7. data/lib/apotomo/request_processor.rb +7 -10
  8. data/lib/apotomo/transition.rb +2 -2
  9. data/lib/apotomo/version.rb +1 -1
  10. data/lib/apotomo/widget.rb +12 -25
  11. data/lib/apotomo/widget_shortcuts.rb +1 -1
  12. data/lib/apotomo.rb +6 -0
  13. data/{generators/widget → lib/generators/apotomo}/USAGE +0 -0
  14. data/lib/generators/apotomo/templates/view.erb +7 -0
  15. data/lib/generators/apotomo/templates/view.haml +4 -0
  16. data/{generators/widget → lib/generators/apotomo}/templates/widget.rb +2 -1
  17. data/lib/generators/apotomo/templates/widget_test.rb +11 -0
  18. data/lib/generators/apotomo/widget_generator.rb +19 -0
  19. data/test/dummy/app/controllers/application_controller.rb +3 -0
  20. data/test/dummy/app/helpers/application_helper.rb +2 -0
  21. data/test/dummy/config/application.rb +45 -0
  22. data/test/dummy/config/boot.rb +10 -0
  23. data/test/dummy/config/environment.rb +5 -0
  24. data/test/dummy/config/environments/development.rb +26 -0
  25. data/test/dummy/config/environments/production.rb +49 -0
  26. data/test/dummy/config/environments/test.rb +35 -0
  27. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/dummy/config/initializers/inflections.rb +10 -0
  29. data/test/dummy/config/initializers/mime_types.rb +5 -0
  30. data/test/dummy/config/initializers/secret_token.rb +7 -0
  31. data/test/dummy/config/initializers/session_store.rb +8 -0
  32. data/test/dummy/config/routes.rb +59 -0
  33. data/test/dummy/tmp/app/cells/mouse_widget.rb +11 -0
  34. data/test/dummy/tmp/test/widgets/mouse_widget_test.rb +15 -0
  35. data/test/rails/controller_methods_test.rb +11 -14
  36. data/test/rails/rails_integration_test.rb +12 -11
  37. data/test/rails/view_helper_test.rb +4 -27
  38. data/test/rails/view_methods_test.rb +4 -6
  39. data/test/rails/widget_generator_test.rb +40 -37
  40. data/test/support/test_case_methods.rb +34 -7
  41. data/test/test_helper.rb +12 -24
  42. data/test/unit/container_test.rb +2 -1
  43. data/test/unit/event_handler_test.rb +2 -0
  44. data/test/unit/event_methods_test.rb +4 -3
  45. data/test/unit/invoke_test.rb +27 -22
  46. data/test/unit/onfire_integration_test.rb +2 -0
  47. data/test/unit/persistence_test.rb +51 -90
  48. data/test/unit/render_test.rb +6 -4
  49. data/test/unit/request_processor_test.rb +70 -48
  50. data/test/unit/stateful_widget_test.rb +3 -1
  51. data/test/unit/transition_test.rb +1 -0
  52. data/test/unit/widget_shortcuts_test.rb +3 -2
  53. data/test/unit/widget_test.rb +69 -56
  54. metadata +57 -34
  55. data/app/.jeweler_doesnt_like_empty_directories +0 -0
  56. data/generators/widget/templates/functional_test.rb +0 -8
  57. data/generators/widget/templates/view.html.erb +0 -2
  58. data/generators/widget/templates/view.html.haml +0 -3
  59. data/generators/widget/widget_generator.rb +0 -34
  60. data/lib/apotomo/test_methods.rb +0 -8
  61. data/test/support/assertions_helper.rb +0 -13
  62. data/test/unit/test_methods_test.rb +0 -11
@@ -1,9 +1,29 @@
1
1
  require 'test_helper'
2
2
 
3
- class RequestProcessorTest < Test::Unit::TestCase
3
+ class RequestProcessorTest < ActiveSupport::TestCase
4
+ include Apotomo::TestCaseMethods::TestController
5
+
6
+ def root_mum_and_kid!
7
+
8
+ mum_and_kid!
9
+
10
+ @root = Apotomo::Widget.new(parent_controller, 'root', :display)
11
+ @root << @mum
12
+
13
+
14
+ @session = {}
15
+ #freeze!
16
+ end
17
+
18
+ # Call SW.freeze_for on @session, "freezing" stateful widgets below @root there.
19
+ def freeze!
20
+ Apotomo::StatefulWidget.freeze_for(@session, @root)
21
+ end
22
+
23
+
4
24
  context "#root" do
5
25
  should "allow external modification of the tree" do
6
- @processor = Apotomo::RequestProcessor.new(nil, {})
26
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {})
7
27
  root = @processor.root
8
28
  root << mouse_mock
9
29
  assert_equal 2, @processor.root.size
@@ -12,18 +32,23 @@ class RequestProcessorTest < Test::Unit::TestCase
12
32
 
13
33
  context "#attach_stateless_blocks_for" do
14
34
  setup do
15
- @processor = Apotomo::RequestProcessor.new("controller", {})
35
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {})
16
36
  @root = @processor.root
17
- @controller = "yo"
37
+ assert_equal @root.size, 1
18
38
  end
19
39
 
20
40
  should "allow has_widgets blocks with root parameter, only" do
21
- @processor.send(:attach_stateless_blocks_for, [Proc.new{ |root| root.add mouse_mock }], @root, @controller)
41
+ @processor.send(:attach_stateless_blocks_for, [Proc.new{ |root|
42
+ root.add widget('mouse_cell', 'mouse')
43
+ }], @root, parent_controller)
44
+
22
45
  assert_equal 'mouse', @processor.root['mouse'].name
23
46
  end
24
47
 
25
48
  should "allow has_widgets blocks with both root and controller parameter" do
26
- @processor.send(:attach_stateless_blocks_for, [Proc.new{ |root,controller| root.add mouse_mock }], @root, @controller)
49
+ @processor.send(:attach_stateless_blocks_for, [Proc.new{ |root,controller|
50
+ root.add widget('mouse_cell', 'mouse')
51
+ }], @root, parent_controller)
27
52
  assert_equal 'mouse', @processor.root['mouse'].name
28
53
  end
29
54
  end
@@ -31,7 +56,7 @@ class RequestProcessorTest < Test::Unit::TestCase
31
56
  context "option processing at construction time" do
32
57
  context "with empty session and options" do
33
58
  setup do
34
- @processor = Apotomo::RequestProcessor.new(nil, {})
59
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {})
35
60
  end
36
61
 
37
62
  should "mark the tree as flushed" do
@@ -48,17 +73,18 @@ class RequestProcessorTest < Test::Unit::TestCase
48
73
  end
49
74
 
50
75
  context "with controller" do
51
- should "attach the passed controller to root" do
52
- assert_equal "controller", Apotomo::RequestProcessor.new("controller", {}, {}, []).root.controller
76
+ should "attach the passed parent_controller to root" do
77
+ assert_equal parent_controller, Apotomo::RequestProcessor.new(parent_controller, {}, {}, []).root.parent_controller
53
78
  end
54
79
  end
55
80
 
56
81
  context "with session" do
57
82
  setup do
58
- mum_and_kid!
83
+ root_mum_and_kid!
59
84
  @mum.version = 1
60
- @session = {:apotomo_stateful_branches => [[@mum, 'root']]}
61
- @processor = Apotomo::RequestProcessor.new(nil, @session)
85
+ freeze!
86
+
87
+ @processor = Apotomo::RequestProcessor.new(parent_controller, @session)
62
88
  end
63
89
 
64
90
  should "provide a widget family for #root" do
@@ -69,7 +95,7 @@ class RequestProcessorTest < Test::Unit::TestCase
69
95
 
70
96
  context "having a flush flag set" do
71
97
  setup do
72
- @processor = Apotomo::RequestProcessor.new(nil, @session, :flush_widgets => true)
98
+ @processor = Apotomo::RequestProcessor.new(parent_controller, @session, :flush_widgets => true)
73
99
  end
74
100
 
75
101
  should "provide a single root for #root when :flush_widgets is set" do
@@ -86,8 +112,9 @@ class RequestProcessorTest < Test::Unit::TestCase
86
112
 
87
113
  context "and with stateless widgets" do
88
114
  setup do
89
- @session = {:apotomo_stateful_branches => [[@mum, 'grandma']]}
90
- @processor = Apotomo::RequestProcessor.new(nil, @session, {}, [Proc.new { |root| root << Apotomo::Widget.new('grandma', :eating) }])
115
+ root_mum_and_kid!
116
+ freeze!
117
+ @processor = Apotomo::RequestProcessor.new(parent_controller, @session, {}, [Proc.new { |root| root << Apotomo::Widget.new(parent_controller, 'grandma', :eating) }])
91
118
  end
92
119
 
93
120
  should "first attach passed stateless, then stateful widgets to root" do
@@ -100,31 +127,26 @@ class RequestProcessorTest < Test::Unit::TestCase
100
127
 
101
128
  context "#process_for" do
102
129
  setup do
103
- ### FIXME: what about that automatic @controller everywhere?
104
- mum_and_kid!
105
- @mum.controller = nil # check if controller gets connected.
106
- @processor = Apotomo::RequestProcessor.new(nil, {:apotomo_stateful_branches => [[@mum, 'root']]}, :js_framework => :prototype)
107
-
108
-
109
-
110
-
111
-
112
- @kid.respond_to_event :doorSlam, :with => :eating, :on => 'mum'
113
- @kid.respond_to_event :doorSlam, :with => :squeak
114
- @mum.respond_to_event :doorSlam, :with => :squeak
115
-
116
- @mum.instance_eval do
117
- def squeak; render :js => 'squeak();'; end
118
- end
119
- @kid.instance_eval do
120
- def squeak; render :text => 'squeak!', :update => :true; end
121
- end
130
+ class KidCell < Apotomo::Widget
131
+ responds_to_event :doorSlam, :with => :flight
132
+ responds_to_event :doorSlam, :with => :squeak
133
+ def flight; render :text => "away from here!"; end
134
+ def squeak; render :text => "squeak!"; end
135
+ end
136
+
137
+ procs = [Proc.new{ |root,controller|
138
+ root << mum = MouseCell.new(parent_controller, 'mum', :squeak) << KidCell.new(parent_controller, 'kid', :squeak)
139
+ }]
140
+
141
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {}, {:js_framework => :prototype}, procs)
122
142
  end
123
-
124
- should "return 2 page_updates when @kid squeaks" do
125
- res = @processor.process_for({:type => :squeak, :source => 'kid'})
126
-
127
- assert_equal ["alert!", "squeak"], res
143
+
144
+ should "return an empty array if nothing was triggered" do
145
+ assert_equal [], @processor.process_for({:type => :mouseClick, :source => 'kid'})
146
+ end
147
+
148
+ should "return 2 page updates when @kid squeaks" do
149
+ assert_equal ["away from here!", "squeak!"], @processor.process_for({:type => :doorSlam, :source => 'kid'})
128
150
  end
129
151
 
130
152
  should "raise an exception when :source is unknown" do
@@ -138,32 +160,32 @@ class RequestProcessorTest < Test::Unit::TestCase
138
160
 
139
161
  context "#freeze!" do
140
162
  should "serialize stateful branches to @session" do
141
- @processor = Apotomo::RequestProcessor.new(nil, {})
163
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {})
142
164
  @processor.root << mum_and_kid!
143
165
  assert_equal 3, @processor.root.size
144
166
  @processor.freeze!
145
167
 
146
- @processor = Apotomo::RequestProcessor.new(nil, @processor.session)
168
+ @processor = Apotomo::RequestProcessor.new(parent_controller, @processor.session)
147
169
  assert_equal 3, @processor.root.size
148
170
  end
149
171
  end
150
172
 
151
173
  context "#render_widget_for" do
152
174
  setup do
153
- @mum = mouse_mock('mum', :snuggle) do
154
- def snuggle; render; end
175
+ class MouseCell < Apotomo::Widget
176
+ def squeak; render :text => "squeak!"; end
155
177
  end
156
- @mum.controller = nil
157
178
 
158
- @processor = Apotomo::RequestProcessor.new(nil, {:apotomo_stateful_branches => [[@mum, 'root']]})
179
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {}, {},
180
+ [Proc.new { |root| root << MouseCell.new(parent_controller, 'mum', :squeak) }])
159
181
  end
160
182
 
161
183
  should "render the widget when passing an existing widget id" do
162
- assert_equal '<div id="mum"><snuggle></snuggle></div>', @processor.render_widget_for('mum', {})
184
+ assert_equal 'squeak!', @processor.render_widget_for('mum', {})
163
185
  end
164
186
 
165
187
  should "render the widget when passing an existing widget instance" do
166
- assert_equal '<div id="mum"><snuggle></snuggle></div>', @processor.render_widget_for(@mum, {})
188
+ assert_equal 'squeak!', @processor.render_widget_for(@processor.root['mum'], {})
167
189
  end
168
190
 
169
191
  should "raise an exception when a non-existent widget id id passed" do
@@ -175,7 +197,7 @@ class RequestProcessorTest < Test::Unit::TestCase
175
197
 
176
198
  context "invoking #address_for" do
177
199
  setup do
178
- @processor = Apotomo::RequestProcessor.new(nil, {})
200
+ @processor = Apotomo::RequestProcessor.new(parent_controller, {})
179
201
  end
180
202
 
181
203
  should "accept an event :type" do
@@ -1,9 +1,11 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class StatefulWidgetTest < Test::Unit::TestCase
4
+ include Apotomo::TestCaseMethods::TestController
5
+
4
6
  context "The StatefulWidget" do
5
7
  setup do
6
- @mum = Apotomo::StatefulWidget.new('mum', :squeak)
8
+ @mum = Apotomo::StatefulWidget.new(parent_controller, 'mum', :squeak)
7
9
  end
8
10
 
9
11
  should "accept an id as first option" do
@@ -19,6 +19,7 @@ class TransitionTest < Test::Unit::TestCase
19
19
  end
20
20
 
21
21
  assert_equal :sleep, @mum.send(:next_state_for, :snuggle)
22
+ assert_equal :sleep, @mum.send(:next_state_for, "snuggle")
22
23
  end
23
24
 
24
25
  should "return the state that was defined last" do
@@ -4,8 +4,9 @@ class MumWidget < MouseCell; end
4
4
  class MouseTabs;end
5
5
 
6
6
  class WidgetShortcutsTest < Test::Unit::TestCase
7
+ include Apotomo::TestCaseMethods::TestController
8
+
7
9
  context "#constant_for" do
8
-
9
10
  should "constantize symbols" do
10
11
  assert_equal MumWidget, constant_for(:mum_widget)
11
12
  end
@@ -21,7 +22,7 @@ class WidgetShortcutsTest < Test::Unit::TestCase
21
22
  end
22
23
  end
23
24
 
24
- context "#widget" do
25
+ context "#widget" do
25
26
  context "with all arguments" do
26
27
  setup do
27
28
  @mum = widget(:mum_widget, 'mum', :eating)
@@ -1,15 +1,24 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class WidgetTest < ActiveSupport::TestCase
4
+ include Apotomo::TestCaseMethods::TestController
5
+
6
+ context "The constructor" do
7
+ should "accept the parent_controller as first arg" do
8
+ assert_kind_of ActionController::Base, @controller
9
+ @mum = Apotomo::Widget.new(@controller, 'mum', :squeak)
10
+ end
11
+ end
12
+
4
13
  context "Widget.has_widgets" do
5
14
  setup do
6
15
  @mum = Class.new(MouseCell) do
7
16
  has_widgets do |me|
8
17
  me << widget('mouse_cell', 'baby', :squeak)
9
18
  end
10
- end.new('mum', :squeak)
19
+ end.new(@controller, 'mum', :squeak)
11
20
 
12
- @kid = Class.new(@mum.class).new('mum', :squeak)
21
+ @kid = Class.new(@mum.class).new(@controller, 'mum', :squeak)
13
22
  end
14
23
 
15
24
  should "setup the widget family at creation time" do
@@ -29,7 +38,7 @@ class WidgetTest < ActiveSupport::TestCase
29
38
  after_add do |me, parent|
30
39
  parent << widget('mouse_cell', 'kid', :squeak)
31
40
  end
32
- end.new('mum', :squeak)
41
+ end.new(@controller, 'mum', :squeak)
33
42
 
34
43
  @root = mouse_mock('root')
35
44
  end
@@ -42,7 +51,7 @@ class WidgetTest < ActiveSupport::TestCase
42
51
  end
43
52
 
44
53
  should "inherit callbacks for now" do
45
- @berry = Class.new(@mum.class).new('berry', :squeak)
54
+ @berry = Class.new(@mum.class).new(@controller, 'berry', :squeak)
46
55
  @root << @berry
47
56
 
48
57
  assert_equal ['berry', 'kid'], @root.children.collect { |w| w.name }
@@ -51,69 +60,73 @@ class WidgetTest < ActiveSupport::TestCase
51
60
 
52
61
  context "A stateless widget" do
53
62
  setup do
54
- @mum = Apotomo::Widget.new('mum', :squeak)
63
+ @mum = Apotomo::Widget.new(@controller, 'mum', :squeak)
55
64
  end
56
65
 
57
66
  context "responding to #address_for_event" do
58
- should "accept an event :type" do
59
- assert_equal({:type => :squeak, :source => 'mum'}, @mum.address_for_event(:type => :squeak))
60
- end
61
-
62
- should "accept a :source" do
63
- assert_equal({:type => :squeak, :source => 'kid'}, @mum.address_for_event(:type => :squeak, :source => 'kid'))
64
- end
65
-
66
- should "accept arbitrary options" do
67
- assert_equal({:type => :squeak, :volume => 'loud', :source => 'mum'}, @mum.address_for_event(:type => :squeak, :volume => 'loud'))
68
- end
69
-
70
- should "complain if no type given" do
71
- assert_raises RuntimeError do
72
- @mum.address_for_event(:source => 'mum')
73
- end
74
- end
67
+ should "accept an event :type" do
68
+ assert_equal({:type => :squeak, :source => 'mum'}, @mum.address_for_event(:type => :squeak))
75
69
  end
76
70
 
77
- context "implementing visibility" do
78
- should "per default respond to #visible?" do
79
- assert @mum.visible?
80
- end
81
-
82
- should "expose a setter therefore" do
83
- @mum.visible = false
84
- assert_not @mum.visible?
85
- end
86
-
87
- context "in a widget family" do
88
- setup do
89
- @mum << @jerry = mouse_mock('jerry')
90
- @mum << @berry = mouse_mock('berry')
91
- end
92
-
93
- should "per default return all #visible_children" do
94
- assert_equal [@jerry, @berry], @mum.visible_children
95
- assert_equal [], @jerry.visible_children
96
- end
97
-
98
- should "hide berry in #visible_children if he's invisible" do
99
- @berry.visible = false
100
- assert_equal [@jerry], @mum.visible_children
101
- end
102
- end
71
+ should "accept a :source" do
72
+ assert_equal({:type => :squeak, :source => 'kid'}, @mum.address_for_event(:type => :squeak, :source => 'kid'))
73
+ end
74
+
75
+ should "accept arbitrary options" do
76
+ assert_equal({:type => :squeak, :volume => 'loud', :source => 'mum'}, @mum.address_for_event(:type => :squeak, :volume => 'loud'))
103
77
  end
104
78
 
105
- should "respond to #find_widget" do
106
- mum_and_kid!
107
- assert_not @mum.find_widget('pet')
108
- assert_equal @kid, @mum.find_widget('kid')
79
+ should "complain if no type given" do
80
+ assert_raises RuntimeError do
81
+ @mum.address_for_event(:source => 'mum')
82
+ end
83
+ end
84
+ end
85
+
86
+ context "implementing visibility" do
87
+ should "per default respond to #visible?" do
88
+ assert @mum.visible?
109
89
  end
110
90
 
111
- should "respond to the WidgetShortcuts methods, like #widget" do
112
- assert_respond_to @mum, :widget
91
+ should "expose a setter therefore" do
92
+ @mum.visible = false
93
+ assert_not @mum.visible?
113
94
  end
114
95
 
115
- should "alias #widget_id to #name" do
116
- assert_equal @mum.name, @mum.widget_id
96
+ context "in a widget family" do
97
+ setup do
98
+ @mum << @jerry = mouse_mock('jerry')
99
+ @mum << @berry = mouse_mock('berry')
100
+ end
101
+
102
+ should "per default return all #visible_children" do
103
+ assert_equal [@jerry, @berry], @mum.visible_children
104
+ assert_equal [], @jerry.visible_children
105
+ end
106
+
107
+ should "hide berry in #visible_children if he's invisible" do
108
+ @berry.visible = false
109
+ assert_equal [@jerry], @mum.visible_children
110
+ end
117
111
  end
118
112
  end
113
+
114
+ should "respond to #find_widget" do
115
+ mum_and_kid!
116
+ assert_not @mum.find_widget('pet')
117
+ assert_equal @kid, @mum.find_widget('kid')
118
+ end
119
+
120
+ should "respond to the WidgetShortcuts methods, like #widget" do
121
+ assert_respond_to @mum, :widget
122
+ end
123
+
124
+ should "respond to #parent_controller" do
125
+ assert_equal @controller, @mum.parent_controller
126
+ end
127
+
128
+ should "alias #widget_id to #name" do
129
+ assert_equal @mum.name, @mum.widget_id
130
+ end
131
+ end
119
132
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apotomo
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
4
+ prerelease: true
6
5
  segments:
7
- - 0
8
6
  - 1
9
- - 4
10
- version: 0.1.4
7
+ - 0
8
+ - 0
9
+ - beta1
10
+ version: 1.0.0.beta1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nick Sutterer
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-12 00:00:00 +02:00
18
+ date: 2010-10-13 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,27 +26,26 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 1
30
29
  segments:
31
30
  - 3
32
- - 3
33
- version: "3.3"
31
+ - 4
32
+ - 2
33
+ version: 3.4.2
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
36
  - !ruby/object:Gem::Dependency
37
- name: activesupport
37
+ name: rails
38
38
  prerelease: false
39
39
  requirement: &id002 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ">="
43
43
  - !ruby/object:Gem::Version
44
- hash: 3
45
44
  segments:
46
- - 2
47
45
  - 3
48
46
  - 0
49
- version: 2.3.0
47
+ - 0
48
+ version: 3.0.0
50
49
  type: :runtime
51
50
  version_requirements: *id002
52
51
  - !ruby/object:Gem::Dependency
@@ -57,7 +56,6 @@ dependencies:
57
56
  requirements:
58
57
  - - ">="
59
58
  - !ruby/object:Gem::Version
60
- hash: 27
61
59
  segments:
62
60
  - 0
63
61
  - 1
@@ -73,7 +71,6 @@ dependencies:
73
71
  requirements:
74
72
  - - ~>
75
73
  - !ruby/object:Gem::Version
76
- hash: 31
77
74
  segments:
78
75
  - 0
79
76
  - 1
@@ -81,7 +78,7 @@ dependencies:
81
78
  version: 0.1.2
82
79
  type: :runtime
83
80
  version_requirements: *id004
84
- description: A generic widget framework for Rails. Event-driven. Clean. Fast. Free optional statefulness included.
81
+ description: Web components for Rails. Event-driven. Clean. Fast. Free optional statefulness included.
85
82
  email: apotonick@gmail.com
86
83
  executables: []
87
84
 
@@ -98,14 +95,7 @@ files:
98
95
  - README.rdoc
99
96
  - Rakefile
100
97
  - TODO
101
- - app/.jeweler_doesnt_like_empty_directories
102
98
  - config/routes.rb
103
- - generators/widget/USAGE
104
- - generators/widget/templates/functional_test.rb
105
- - generators/widget/templates/view.html.erb
106
- - generators/widget/templates/view.html.haml
107
- - generators/widget/templates/widget.rb
108
- - generators/widget/widget_generator.rb
109
99
  - lib/apotomo.rb
110
100
  - lib/apotomo/caching.rb
111
101
  - lib/apotomo/container_widget.rb
@@ -122,12 +112,17 @@ files:
122
112
  - lib/apotomo/rails/view_methods.rb
123
113
  - lib/apotomo/request_processor.rb
124
114
  - lib/apotomo/stateful_widget.rb
125
- - lib/apotomo/test_methods.rb
126
115
  - lib/apotomo/transition.rb
127
116
  - lib/apotomo/tree_node.rb
128
117
  - lib/apotomo/version.rb
129
118
  - lib/apotomo/widget.rb
130
119
  - lib/apotomo/widget_shortcuts.rb
120
+ - lib/generators/apotomo/USAGE
121
+ - lib/generators/apotomo/templates/view.erb
122
+ - lib/generators/apotomo/templates/view.haml
123
+ - lib/generators/apotomo/templates/widget.rb
124
+ - lib/generators/apotomo/templates/widget_test.rb
125
+ - lib/generators/apotomo/widget_generator.rb
131
126
  - rails/init.rb
132
127
  - test/fixtures/application_widget_tree.rb
133
128
  - test/rails/view_methods_test.rb
@@ -136,13 +131,27 @@ files:
136
131
  - test/rails/widget_generator_test.rb
137
132
  - test/rails/rails_integration_test.rb
138
133
  - test/test_helper.rb
139
- - test/support/assertions_helper.rb
140
134
  - test/support/test_case_methods.rb
135
+ - test/dummy/config/application.rb
136
+ - test/dummy/config/initializers/session_store.rb
137
+ - test/dummy/config/initializers/mime_types.rb
138
+ - test/dummy/config/initializers/secret_token.rb
139
+ - test/dummy/config/initializers/inflections.rb
140
+ - test/dummy/config/initializers/backtrace_silencers.rb
141
+ - test/dummy/config/routes.rb
142
+ - test/dummy/config/boot.rb
143
+ - test/dummy/config/environment.rb
144
+ - test/dummy/config/environments/production.rb
145
+ - test/dummy/config/environments/test.rb
146
+ - test/dummy/config/environments/development.rb
147
+ - test/dummy/tmp/test/widgets/mouse_widget_test.rb
148
+ - test/dummy/tmp/app/cells/mouse_widget.rb
149
+ - test/dummy/app/controllers/application_controller.rb
150
+ - test/dummy/app/helpers/application_helper.rb
141
151
  - test/unit/test_widget_shortcuts.rb
142
152
  - test/unit/event_handler_test.rb
143
153
  - test/unit/widget_shortcuts_test.rb
144
154
  - test/unit/stateful_widget_test.rb
145
- - test/unit/test_methods_test.rb
146
155
  - test/unit/test_addressing.rb
147
156
  - test/unit/invoke_test.rb
148
157
  - test/unit/container_test.rb
@@ -173,26 +182,26 @@ required_ruby_version: !ruby/object:Gem::Requirement
173
182
  requirements:
174
183
  - - ">="
175
184
  - !ruby/object:Gem::Version
176
- hash: 3
177
185
  segments:
178
186
  - 0
179
187
  version: "0"
180
188
  required_rubygems_version: !ruby/object:Gem::Requirement
181
189
  none: false
182
190
  requirements:
183
- - - ">="
191
+ - - ">"
184
192
  - !ruby/object:Gem::Version
185
- hash: 3
186
193
  segments:
187
- - 0
188
- version: "0"
194
+ - 1
195
+ - 3
196
+ - 1
197
+ version: 1.3.1
189
198
  requirements: []
190
199
 
191
200
  rubyforge_project:
192
201
  rubygems_version: 1.3.7
193
202
  signing_key:
194
203
  specification_version: 3
195
- summary: Event-driven Widgets for Rails with optional Statefulness.
204
+ summary: Web components for Rails.
196
205
  test_files:
197
206
  - test/fixtures/application_widget_tree.rb
198
207
  - test/rails/view_methods_test.rb
@@ -201,13 +210,27 @@ test_files:
201
210
  - test/rails/widget_generator_test.rb
202
211
  - test/rails/rails_integration_test.rb
203
212
  - test/test_helper.rb
204
- - test/support/assertions_helper.rb
205
213
  - test/support/test_case_methods.rb
214
+ - test/dummy/config/application.rb
215
+ - test/dummy/config/initializers/session_store.rb
216
+ - test/dummy/config/initializers/mime_types.rb
217
+ - test/dummy/config/initializers/secret_token.rb
218
+ - test/dummy/config/initializers/inflections.rb
219
+ - test/dummy/config/initializers/backtrace_silencers.rb
220
+ - test/dummy/config/routes.rb
221
+ - test/dummy/config/boot.rb
222
+ - test/dummy/config/environment.rb
223
+ - test/dummy/config/environments/production.rb
224
+ - test/dummy/config/environments/test.rb
225
+ - test/dummy/config/environments/development.rb
226
+ - test/dummy/tmp/test/widgets/mouse_widget_test.rb
227
+ - test/dummy/tmp/app/cells/mouse_widget.rb
228
+ - test/dummy/app/controllers/application_controller.rb
229
+ - test/dummy/app/helpers/application_helper.rb
206
230
  - test/unit/test_widget_shortcuts.rb
207
231
  - test/unit/event_handler_test.rb
208
232
  - test/unit/widget_shortcuts_test.rb
209
233
  - test/unit/stateful_widget_test.rb
210
- - test/unit/test_methods_test.rb
211
234
  - test/unit/test_addressing.rb
212
235
  - test/unit/invoke_test.rb
213
236
  - test/unit/container_test.rb
File without changes
@@ -1,8 +0,0 @@
1
- require "test_helper"
2
-
3
- class <%= class_name %>Test < Test::Unit::TestCase
4
- test "a first test" do
5
- html = widget(:<%= file_name %>, :<%= states.first %>, 'my_<%= file_name %>').invoke
6
- assert_selekt html, "p"
7
- end
8
- end
@@ -1,2 +0,0 @@
1
- <h1><%= class_name %>#<%= action %></h1>
2
- <p>Find me in <%= path %></p>
@@ -1,3 +0,0 @@
1
- %h1 "<%= class_name %>#<%= action %>"
2
- %p
3
- Find me in <%= path %>