limelight 0.5.0-java → 0.5.1-java
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/init.rb +2 -6
- data/lib/limelight.jar +0 -0
- data/lib/limelight/builtin/utilities_production/production.rb +4 -0
- data/lib/limelight/commands/create_command.rb +1 -1
- data/lib/limelight/commands/open_command.rb +4 -4
- data/lib/limelight/java_couplings.rb +2 -1
- data/lib/limelight/limelight_init.rb +12 -0
- data/lib/limelight/producer.rb +33 -13
- data/lib/limelight/production.rb +23 -3
- data/lib/limelight/scene.rb +1 -1
- data/lib/limelight/specs/spec_helper.rb +1 -1
- data/lib/limelight/stage.rb +10 -3
- data/lib/limelight/studio.rb +133 -133
- data/lib/limelight/theater.rb +11 -1
- data/lib/limelight/version.rb +1 -1
- data/productions/examples/sandbox/alerts/players/alerts.rb +1 -1
- data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +39 -38
- data/spec/limelight/commands/create_command_spec.rb +1 -1
- data/spec/limelight/commands/open_command_spec.rb +5 -4
- data/spec/limelight/dsl/stage_builder_spec.rb +1 -1
- data/spec/limelight/producer_spec.rb +9 -3
- data/spec/limelight/production_spec.rb +10 -15
- data/spec/limelight/stage_spec.rb +19 -3
- data/spec/limelight/theater_spec.rb +22 -1
- metadata +4 -6
- data/lib/limelight/client/playbills.rb +0 -86
- data/spec/limelight/client/playbills_spec.rb +0 -79
- data/spec/limelight/studio_spec.rb +0 -157
data/lib/limelight/theater.rb
CHANGED
@@ -15,7 +15,8 @@ module Limelight
|
|
15
15
|
#
|
16
16
|
attr_reader :active_stage
|
17
17
|
|
18
|
-
def initialize
|
18
|
+
def initialize(production)
|
19
|
+
@production = production
|
19
20
|
@stages = {}
|
20
21
|
end
|
21
22
|
|
@@ -57,6 +58,7 @@ module Limelight
|
|
57
58
|
def stage_closed(stage)
|
58
59
|
@stages.delete(stage.name)
|
59
60
|
@active_stage = nil if @active_stage == stage
|
61
|
+
@production.theater_empty! if @stages.empty?
|
60
62
|
end
|
61
63
|
|
62
64
|
# If no Stages are added, the Theater will provide a default Stage named "Limelight".
|
@@ -66,6 +68,14 @@ module Limelight
|
|
66
68
|
return self["Limelight"]
|
67
69
|
end
|
68
70
|
|
71
|
+
# Close this theater. All stages in this theater will be closed and the active_stage will be nil'ed.
|
72
|
+
#
|
73
|
+
def close
|
74
|
+
@stages.values.each { |stage| stage.close }
|
75
|
+
@stages.clear
|
76
|
+
@active_stage = nil
|
77
|
+
end
|
78
|
+
|
69
79
|
protected #############################################
|
70
80
|
|
71
81
|
def build_stage(name, options)
|
data/lib/limelight/version.rb
CHANGED
@@ -11,7 +11,7 @@ module Alerts
|
|
11
11
|
|
12
12
|
def open_incompatible_production
|
13
13
|
production_path = File.join(path, "incompatible_production")
|
14
|
-
Thread.new { Limelight::
|
14
|
+
Thread.new { Limelight::Context.instance.studio.open(production_path) }
|
15
15
|
end
|
16
16
|
|
17
17
|
end
|
@@ -5,9 +5,10 @@ require File.expand_path(File.dirname(__FILE__) + "/spec_helper")
|
|
5
5
|
|
6
6
|
describe "Utilitites Production" do
|
7
7
|
|
8
|
-
|
8
|
+
uses_limelight
|
9
9
|
|
10
10
|
before(:each) do
|
11
|
+
@result = nil
|
11
12
|
production.production_opening
|
12
13
|
end
|
13
14
|
|
@@ -17,8 +18,43 @@ describe "Utilitites Production" do
|
|
17
18
|
end
|
18
19
|
|
19
20
|
after(:all) do
|
20
|
-
|
21
|
-
|
21
|
+
# Java::java.awt.Frame.getFrames.each { |frame| frame.close; frame.dispose; puts frame }
|
22
|
+
# Java::limelight.util.Threads.showAll
|
23
|
+
end
|
24
|
+
|
25
|
+
def start_alert()
|
26
|
+
@thread = Thread.new do
|
27
|
+
begin
|
28
|
+
@result = production.alert("Some Message")
|
29
|
+
rescue Exception => e
|
30
|
+
puts e
|
31
|
+
puts e.backtrace
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def start_proceed_with_incompatible_version()
|
37
|
+
@thread = Thread.new do
|
38
|
+
begin
|
39
|
+
@result = production.proceed_with_incompatible_version?("Some Production", "1.2.3")
|
40
|
+
rescue Exception => e
|
41
|
+
puts e
|
42
|
+
puts e.backtrace
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def wait_for
|
48
|
+
10.times do
|
49
|
+
return if yield
|
50
|
+
sleep(0.1)
|
51
|
+
end
|
52
|
+
raise "the desired condition was not met on time"
|
53
|
+
end
|
54
|
+
|
55
|
+
def scene_open?(stage_name)
|
56
|
+
stage = production.theater[stage_name]
|
57
|
+
return stage != nil && stage.current_scene != nil
|
22
58
|
end
|
23
59
|
|
24
60
|
it "should construct stage on load_with_incomptible_version_scene" do
|
@@ -51,30 +87,6 @@ describe "Utilitites Production" do
|
|
51
87
|
scene.find("current_version_label").text.should == Limelight::VERSION::STRING
|
52
88
|
end
|
53
89
|
|
54
|
-
def start_proceed_with_incompatible_version()
|
55
|
-
@thread = Thread.new do
|
56
|
-
begin
|
57
|
-
@result = production.proceed_with_incompatible_version?("Some Production", "1.2.3")
|
58
|
-
rescue Exception => e
|
59
|
-
puts e
|
60
|
-
puts e.backtrace
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def wait_for
|
66
|
-
10.times do
|
67
|
-
return if yield
|
68
|
-
sleep(0.1)
|
69
|
-
end
|
70
|
-
raise "the desired condition was not met on time"
|
71
|
-
end
|
72
|
-
|
73
|
-
def scene_open?(stage_name)
|
74
|
-
stage = production.theater[stage_name]
|
75
|
-
return stage != nil && stage.current_scene != nil
|
76
|
-
end
|
77
|
-
|
78
90
|
it "should return true when clicking proceed" do
|
79
91
|
@result = nil
|
80
92
|
start_proceed_with_incompatible_version()
|
@@ -99,17 +111,6 @@ describe "Utilitites Production" do
|
|
99
111
|
@result.should == false
|
100
112
|
end
|
101
113
|
|
102
|
-
def start_alert()
|
103
|
-
@thread = Thread.new do
|
104
|
-
begin
|
105
|
-
@result = production.alert("Some Message")
|
106
|
-
rescue Exception => e
|
107
|
-
puts e
|
108
|
-
puts e.backtrace
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
114
|
it "should construct alert stage" do
|
114
115
|
production.load_alert_scene("Some Message")
|
115
116
|
stage = production.theater["Alert"]
|
@@ -60,7 +60,7 @@ describe Limelight::Commands::CreateCommand do
|
|
60
60
|
@command.scene_name.should == "default_scene"
|
61
61
|
@command.template_type.should == "production"
|
62
62
|
@command.production_path.should == "blah"
|
63
|
-
@command.spec_path.should == "
|
63
|
+
@command.spec_path.should == "spec"
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should have a default production path" do
|
@@ -8,6 +8,7 @@ require 'limelight/producer'
|
|
8
8
|
describe Limelight::Commands::OpenCommand do
|
9
9
|
|
10
10
|
before(:all) do
|
11
|
+
@studio = Limelight::Studio.install
|
11
12
|
@command_class = Limelight::Commands::OpenCommand
|
12
13
|
@command = @command_class.new
|
13
14
|
end
|
@@ -18,14 +19,14 @@ describe Limelight::Commands::OpenCommand do
|
|
18
19
|
|
19
20
|
it "should open a production" do
|
20
21
|
Limelight::Main.should_receive(:initialize_context)
|
21
|
-
|
22
|
+
@studio.should_receive(:open).with("production_name")
|
22
23
|
|
23
24
|
@command.run(["production_name"])
|
24
25
|
end
|
25
26
|
|
26
27
|
it "should open the default production" do
|
27
28
|
Limelight::Main.should_receive(:initialize_context)
|
28
|
-
|
29
|
+
@studio.should_receive(:open).with(@command_class::DEFAULT_PRODUCTION)
|
29
30
|
|
30
31
|
@command.run([])
|
31
32
|
end
|
@@ -43,8 +44,8 @@ describe Limelight::Commands::OpenCommand do
|
|
43
44
|
|
44
45
|
it "should start the studio on drb" do
|
45
46
|
Limelight::Main.should_receive(:initialize_context)
|
46
|
-
|
47
|
-
|
47
|
+
@studio.should_receive(:publish_on_drb).with(1234)
|
48
|
+
@studio.should_receive(:open).with("some_prod")
|
48
49
|
|
49
50
|
@command.run ["-d", "1234", "some_prod"]
|
50
51
|
end
|
@@ -8,9 +8,10 @@ describe Limelight::Producer do
|
|
8
8
|
|
9
9
|
before(:each) do
|
10
10
|
TestDir.clean
|
11
|
-
Limelight::Studio.
|
11
|
+
Limelight::Studio.uninstall
|
12
12
|
@root_dir = TestDir.path("test_prod")
|
13
13
|
@producer = Limelight::Producer.new(@root_dir)
|
14
|
+
Limelight::Studio.install
|
14
15
|
end
|
15
16
|
|
16
17
|
it "should have loader on creation" do
|
@@ -52,7 +53,7 @@ describe Limelight::Producer do
|
|
52
53
|
|
53
54
|
it "should load styles" do
|
54
55
|
TestDir.create_file("test_prod/styles.rb", "alpha { width 100 }")
|
55
|
-
Limelight::
|
56
|
+
Limelight::Producer.stub!(:builtin_styles).and_return({})
|
56
57
|
|
57
58
|
styles = @producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod")))
|
58
59
|
styles.size.should == 1
|
@@ -142,7 +143,7 @@ describe Limelight::Producer do
|
|
142
143
|
end
|
143
144
|
|
144
145
|
it "should load empty styles if styles.rb doesn't exist" do
|
145
|
-
Limelight::
|
146
|
+
Limelight::Producer.stub!(:builtin_styles).and_return({})
|
146
147
|
|
147
148
|
@producer.load_styles(Limelight::Scene.new(:path => TestDir.path("test_prod"))).should == {}
|
148
149
|
end
|
@@ -207,4 +208,9 @@ describe Limelight::Producer do
|
|
207
208
|
@producer.open_scene("name", stage, :instance_variables => { :foo => "bar" })
|
208
209
|
end
|
209
210
|
|
211
|
+
it "should give the same buildin_styles hash twice" do
|
212
|
+
Limelight::Producer.builtin_styles.should be(Limelight::Producer.builtin_styles)
|
213
|
+
Limelight::Producer.builtin_styles["limelight_builtin_players_curtains"].should_not == nil
|
214
|
+
end
|
215
|
+
|
210
216
|
end
|
@@ -9,6 +9,7 @@ describe Limelight::Production, "Instance methods" do
|
|
9
9
|
before(:each) do
|
10
10
|
@producer = make_mock("producer")
|
11
11
|
@theater = make_mock("theater")
|
12
|
+
@studio = Limelight::Studio.install
|
12
13
|
@production = Limelight::Production.new("/tmp")
|
13
14
|
@production.producer = @producer
|
14
15
|
@production.theater = @theater
|
@@ -20,20 +21,6 @@ describe Limelight::Production, "Instance methods" do
|
|
20
21
|
@production.path.should == "/tmp"
|
21
22
|
end
|
22
23
|
|
23
|
-
it "should be indexed" do
|
24
|
-
Limelight::Studio.index(@production)
|
25
|
-
Limelight::Studio[@production.name].should == @production
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should raise an error when setting the name to a duplicate name" do
|
29
|
-
@production.name = "Bill"
|
30
|
-
Limelight::Studio.index(@production)
|
31
|
-
|
32
|
-
production = Limelight::Production.new("/tmp")
|
33
|
-
Limelight::Studio.index(production)
|
34
|
-
lambda { production.name = "Bill" }.should raise_error(Limelight::LimelightException, "Production name 'Bill' is already taken")
|
35
|
-
end
|
36
|
-
|
37
24
|
it "should get it's name from the file" do
|
38
25
|
Limelight::Production.new("/tmp").name.should == "tmp"
|
39
26
|
Limelight::Production.new("/Somewhere/over/the/rainbow").name.should == "rainbow"
|
@@ -72,12 +59,20 @@ describe Limelight::Production, "Instance methods" do
|
|
72
59
|
|
73
60
|
it "should tell studio it closed and triger it's closing events" do
|
74
61
|
@production.should_receive(:production_closing)
|
75
|
-
|
62
|
+
@studio.should_receive(:production_closed).with(@production)
|
76
63
|
@production.should_receive(:production_closed)
|
64
|
+
@theater.should_receive(:close)
|
77
65
|
|
78
66
|
@production.close
|
79
67
|
end
|
80
68
|
|
69
|
+
it "should handle empty theater" do
|
70
|
+
@production.should_receive(:allow_close?).at_least(1).and_return(true)
|
71
|
+
@production.should_receive(:close)
|
72
|
+
|
73
|
+
@production.theater_empty!
|
74
|
+
end
|
75
|
+
|
81
76
|
describe "with files" do
|
82
77
|
|
83
78
|
after(:each) do
|
@@ -5,12 +5,12 @@ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
|
|
5
5
|
require 'limelight/stage'
|
6
6
|
require 'limelight/scene'
|
7
7
|
require 'limelight/theater'
|
8
|
-
require 'limelight/studio'
|
9
8
|
|
10
9
|
describe Limelight::Stage do
|
11
10
|
|
12
11
|
before(:each) do
|
13
|
-
@
|
12
|
+
@production = mock("production")
|
13
|
+
@theater = Limelight::Theater.new(@production)
|
14
14
|
@stage = @theater.add_stage("George")
|
15
15
|
@stage.should_remain_hidden = true
|
16
16
|
Limelight::Context.instance.frameManager = Java::limelight.ui.model.InertFrameManager.new
|
@@ -126,7 +126,10 @@ describe Limelight::Stage do
|
|
126
126
|
end
|
127
127
|
|
128
128
|
describe "when opening a scene" do
|
129
|
+
|
129
130
|
before(:each) do
|
131
|
+
@production.stub!(:theater_empty!)
|
132
|
+
Limelight::Studio.install
|
130
133
|
@scene = Limelight::Scene.new
|
131
134
|
@scene.stub!(:illuminate)
|
132
135
|
end
|
@@ -182,6 +185,17 @@ describe Limelight::Stage do
|
|
182
185
|
@stage.current_scene.should == nil
|
183
186
|
end
|
184
187
|
|
188
|
+
it "should clean up when replacing scene" do
|
189
|
+
@stage.open(@scene)
|
190
|
+
new_scene = Limelight::Scene.new(:name => "new scene")
|
191
|
+
new_scene.stub!(:illuminate)
|
192
|
+
|
193
|
+
@stage.open(new_scene)
|
194
|
+
|
195
|
+
@scene.visible?.should == false
|
196
|
+
@stage.current_scene.should == new_scene
|
197
|
+
end
|
198
|
+
|
185
199
|
it "should be removed from the theater when closed" do
|
186
200
|
@stage.open(@scene)
|
187
201
|
@theater["George"].should be(@stage)
|
@@ -191,7 +205,9 @@ describe Limelight::Stage do
|
|
191
205
|
end
|
192
206
|
|
193
207
|
it "should open an alert" do
|
194
|
-
|
208
|
+
utilities_production = mock("utilities_production")
|
209
|
+
Limelight::Context.instance.studio.should_receive(:utilities_production).and_return(utilities_production)
|
210
|
+
utilities_production.should_receive(:alert).with("Some Message")
|
195
211
|
|
196
212
|
@stage.alert("Some Message")
|
197
213
|
sleep(0.01)
|
@@ -8,7 +8,8 @@ require 'limelight/stage'
|
|
8
8
|
describe Limelight::Theater do
|
9
9
|
|
10
10
|
before(:each) do
|
11
|
-
@
|
11
|
+
@production = mock("production", :theater_empty! => nil)
|
12
|
+
@theater = Limelight::Theater.new(@production)
|
12
13
|
@stage = @theater.add_stage("default")
|
13
14
|
end
|
14
15
|
|
@@ -69,4 +70,24 @@ describe Limelight::Theater do
|
|
69
70
|
@theater.active_stage.should == nil
|
70
71
|
end
|
71
72
|
|
73
|
+
it "should notify the production when all the stages are closed" do
|
74
|
+
@production.should_receive(:theater_empty!)
|
75
|
+
|
76
|
+
@theater.stage_closed(@stage)
|
77
|
+
end
|
78
|
+
|
79
|
+
it "should close" do
|
80
|
+
stage2 = @theater.add_stage("two")
|
81
|
+
stage3 = @theater.add_stage("three")
|
82
|
+
@theater.stage_activated(stage3)
|
83
|
+
stage2.should_receive(:close)
|
84
|
+
stage3.should_receive(:close)
|
85
|
+
|
86
|
+
@theater.close
|
87
|
+
|
88
|
+
@theater.stages.length.should == 0
|
89
|
+
@theater.active_stage.should == nil
|
90
|
+
|
91
|
+
end
|
92
|
+
|
72
93
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: limelight
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Micah Martin, 8th Light
|
@@ -9,7 +9,7 @@ autorequire: init
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-10-
|
12
|
+
date: 2009-10-27 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -56,7 +56,6 @@ files:
|
|
56
56
|
- lib/limelight/button_group_cache.rb
|
57
57
|
- lib/limelight/casting_director.rb
|
58
58
|
- lib/limelight/client
|
59
|
-
- lib/limelight/client/playbills.rb
|
60
59
|
- lib/limelight/commands
|
61
60
|
- lib/limelight/commands/command.rb
|
62
61
|
- lib/limelight/commands/create_command.rb
|
@@ -80,6 +79,7 @@ files:
|
|
80
79
|
- lib/limelight/java_couplings.rb
|
81
80
|
- lib/limelight/java_util.rb
|
82
81
|
- lib/limelight/limelight_exception.rb
|
82
|
+
- lib/limelight/limelight_init.rb
|
83
83
|
- lib/limelight/main.rb
|
84
84
|
- lib/limelight/paint_action.rb
|
85
85
|
- lib/limelight/pen.rb
|
@@ -133,7 +133,6 @@ files:
|
|
133
133
|
- spec/limelight/builtin/utilities_production/spec_helper.rb
|
134
134
|
- spec/limelight/builtin/utilities_production/utilities_production_spec.rb
|
135
135
|
- spec/limelight/casting_director_spec.rb
|
136
|
-
- spec/limelight/client/playbills_spec.rb
|
137
136
|
- spec/limelight/commands/command_spec.rb
|
138
137
|
- spec/limelight/commands/create_command_spec.rb
|
139
138
|
- spec/limelight/commands/freeze_command_spec.rb
|
@@ -159,7 +158,6 @@ files:
|
|
159
158
|
- spec/limelight/scene_spec.rb
|
160
159
|
- spec/limelight/stage_spec.rb
|
161
160
|
- spec/limelight/string_spec.rb
|
162
|
-
- spec/limelight/studio_spec.rb
|
163
161
|
- spec/limelight/styles_spec.rb
|
164
162
|
- spec/limelight/templates/production_templater_spec.rb
|
165
163
|
- spec/limelight/templates/scene_templater_spec.rb
|
@@ -415,6 +413,6 @@ rubyforge_project: limelight
|
|
415
413
|
rubygems_version: 1.3.1
|
416
414
|
signing_key:
|
417
415
|
specification_version: 2
|
418
|
-
summary: Limelight-0.5.
|
416
|
+
summary: Limelight-0.5.1 - Limelight http://limelight.8thlight.com
|
419
417
|
test_files: []
|
420
418
|
|