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.
- data/Gemfile +5 -2
- data/Gemfile.lock +70 -21
- data/Rakefile +7 -7
- data/config/routes.rb +3 -3
- data/lib/apotomo/persistence.rb +21 -48
- data/lib/apotomo/rails/view_helper.rb +3 -11
- data/lib/apotomo/request_processor.rb +7 -10
- data/lib/apotomo/transition.rb +2 -2
- data/lib/apotomo/version.rb +1 -1
- data/lib/apotomo/widget.rb +12 -25
- data/lib/apotomo/widget_shortcuts.rb +1 -1
- data/lib/apotomo.rb +6 -0
- data/{generators/widget → lib/generators/apotomo}/USAGE +0 -0
- data/lib/generators/apotomo/templates/view.erb +7 -0
- data/lib/generators/apotomo/templates/view.haml +4 -0
- data/{generators/widget → lib/generators/apotomo}/templates/widget.rb +2 -1
- data/lib/generators/apotomo/templates/widget_test.rb +11 -0
- data/lib/generators/apotomo/widget_generator.rb +19 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/config/application.rb +45 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +26 -0
- data/test/dummy/config/environments/production.rb +49 -0
- data/test/dummy/config/environments/test.rb +35 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/routes.rb +59 -0
- data/test/dummy/tmp/app/cells/mouse_widget.rb +11 -0
- data/test/dummy/tmp/test/widgets/mouse_widget_test.rb +15 -0
- data/test/rails/controller_methods_test.rb +11 -14
- data/test/rails/rails_integration_test.rb +12 -11
- data/test/rails/view_helper_test.rb +4 -27
- data/test/rails/view_methods_test.rb +4 -6
- data/test/rails/widget_generator_test.rb +40 -37
- data/test/support/test_case_methods.rb +34 -7
- data/test/test_helper.rb +12 -24
- data/test/unit/container_test.rb +2 -1
- data/test/unit/event_handler_test.rb +2 -0
- data/test/unit/event_methods_test.rb +4 -3
- data/test/unit/invoke_test.rb +27 -22
- data/test/unit/onfire_integration_test.rb +2 -0
- data/test/unit/persistence_test.rb +51 -90
- data/test/unit/render_test.rb +6 -4
- data/test/unit/request_processor_test.rb +70 -48
- data/test/unit/stateful_widget_test.rb +3 -1
- data/test/unit/transition_test.rb +1 -0
- data/test/unit/widget_shortcuts_test.rb +3 -2
- data/test/unit/widget_test.rb +69 -56
- metadata +57 -34
- data/app/.jeweler_doesnt_like_empty_directories +0 -0
- data/generators/widget/templates/functional_test.rb +0 -8
- data/generators/widget/templates/view.html.erb +0 -2
- data/generators/widget/templates/view.html.haml +0 -3
- data/generators/widget/widget_generator.rb +0 -34
- data/lib/apotomo/test_methods.rb +0 -8
- data/test/support/assertions_helper.rb +0 -13
- data/test/unit/test_methods_test.rb +0 -11
@@ -1,9 +1,29 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class RequestProcessorTest <
|
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(
|
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(
|
35
|
+
@processor = Apotomo::RequestProcessor.new(parent_controller, {})
|
16
36
|
@root = @processor.root
|
17
|
-
@
|
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|
|
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|
|
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(
|
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
|
52
|
-
assert_equal
|
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
|
-
|
83
|
+
root_mum_and_kid!
|
59
84
|
@mum.version = 1
|
60
|
-
|
61
|
-
|
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(
|
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
|
-
|
90
|
-
|
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
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
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
|
125
|
-
|
126
|
-
|
127
|
-
|
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(
|
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(
|
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
|
-
|
154
|
-
def
|
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(
|
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 '
|
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 '
|
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(
|
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
|
@@ -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)
|
data/test/unit/widget_test.rb
CHANGED
@@ -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
|
-
|
59
|
-
|
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
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
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 "
|
106
|
-
|
107
|
-
|
108
|
-
|
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 "
|
112
|
-
|
91
|
+
should "expose a setter therefore" do
|
92
|
+
@mum.visible = false
|
93
|
+
assert_not @mum.visible?
|
113
94
|
end
|
114
95
|
|
115
|
-
|
116
|
-
|
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
|
-
|
5
|
-
prerelease: false
|
4
|
+
prerelease: true
|
6
5
|
segments:
|
7
|
-
- 0
|
8
6
|
- 1
|
9
|
-
-
|
10
|
-
|
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-
|
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
|
-
-
|
33
|
-
|
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:
|
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
|
-
|
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:
|
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
|
-
-
|
188
|
-
|
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:
|
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
|