limelight 0.5.5-java → 0.6.14-java

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 (315) hide show
  1. data/LICENSE +19 -0
  2. data/bin/limelight +7 -3
  3. data/ruby/lib/limelight-rb.jar +0 -0
  4. data/ruby/lib/limelight.jar +0 -0
  5. data/ruby/lib/limelight.rb +48 -0
  6. data/{lib → ruby/lib}/limelight/animation.rb +3 -3
  7. data/ruby/lib/limelight/builtin/players.rb +21 -0
  8. data/ruby/lib/limelight/builtin/players/button.rb +7 -0
  9. data/ruby/lib/limelight/builtin/players/check_box.rb +24 -0
  10. data/ruby/lib/limelight/builtin/players/combo_box.rb +50 -0
  11. data/ruby/lib/limelight/builtin/players/curtains.rb +12 -0
  12. data/ruby/lib/limelight/builtin/players/image.rb +38 -0
  13. data/ruby/lib/limelight/builtin/players/radio_button.rb +36 -0
  14. data/ruby/lib/limelight/builtin/players/stage_mover.rb +19 -0
  15. data/ruby/lib/limelight/builtin/players/stage_sizer.rb +23 -0
  16. data/ruby/lib/limelight/builtin/players/text_area.rb +10 -0
  17. data/ruby/lib/limelight/builtin/players/text_box.rb +10 -0
  18. data/{lib → ruby/lib}/limelight/dsl/build_exception.rb +2 -2
  19. data/{lib → ruby/lib}/limelight/dsl/menu_bar.rb +3 -3
  20. data/{lib → ruby/lib}/limelight/dsl/prop_builder.rb +25 -16
  21. data/{lib → ruby/lib}/limelight/dsl/stage_builder.rb +4 -4
  22. data/{lib → ruby/lib}/limelight/dsl/styles_builder.rb +14 -18
  23. data/{lib → ruby/lib}/limelight/file_chooser.rb +10 -10
  24. data/{lib → ruby/lib}/limelight/file_filter.rb +6 -6
  25. data/ruby/lib/limelight/java_couplings.rb +70 -0
  26. data/{lib → ruby/lib}/limelight/java_util.rb +6 -6
  27. data/{lib → ruby/lib}/limelight/limelight_exception.rb +3 -3
  28. data/ruby/lib/limelight/limelight_init.rb +24 -0
  29. data/ruby/lib/limelight/main.rb +15 -0
  30. data/ruby/lib/limelight/mouse.rb +76 -0
  31. data/ruby/lib/limelight/optionable.rb +42 -0
  32. data/{lib → ruby/lib}/limelight/paint_action.rb +8 -8
  33. data/{lib → ruby/lib}/limelight/pen.rb +7 -7
  34. data/ruby/lib/limelight/player.rb +148 -0
  35. data/ruby/lib/limelight/player_recruiter.rb +54 -0
  36. data/ruby/lib/limelight/production.rb +257 -0
  37. data/ruby/lib/limelight/prop.rb +344 -0
  38. data/ruby/lib/limelight/scene.rb +120 -0
  39. data/ruby/lib/limelight/specs/spec_helper.rb +191 -0
  40. data/ruby/lib/limelight/stage.rb +268 -0
  41. data/ruby/lib/limelight/string.rb +32 -0
  42. data/{lib → ruby/lib}/limelight/studio.rb +4 -3
  43. data/ruby/lib/limelight/style.rb +294 -0
  44. data/ruby/lib/limelight/templates/sources/features/step_definitions/limelight_steps.rb.template +47 -0
  45. data/ruby/lib/limelight/templates/sources/features/support/env.rb.template +35 -0
  46. data/{lib → ruby/lib}/limelight/templates/sources/freezing/limelight_init.rb.template +0 -0
  47. data/{lib → ruby/lib}/limelight/templates/sources/production/production.rb.template +2 -2
  48. data/{lib → ruby/lib}/limelight/templates/sources/production/spec/spec_helper.rb.template +0 -0
  49. data/{lib → ruby/lib}/limelight/templates/sources/production/stages.rb.template +0 -0
  50. data/{lib → ruby/lib}/limelight/templates/sources/production/styles.rb.template +0 -0
  51. data/ruby/lib/limelight/templates/sources/project/Rakefile.template +15 -0
  52. data/ruby/lib/limelight/templates/sources/project/spec_helper.rb.template +12 -0
  53. data/{lib → ruby/lib}/limelight/templates/sources/scene/props.rb.template +0 -0
  54. data/{lib → ruby/lib}/limelight/templates/sources/scene/styles.rb.template +0 -0
  55. data/{lib → ruby/lib}/limelight/templates/sources/scene_spec/scene_spec.rb.template +0 -0
  56. data/ruby/lib/limelight/theater.rb +76 -0
  57. data/{lib → ruby/lib}/limelight/util.rb +6 -25
  58. data/ruby/lib/limelight/util/hashes.rb +39 -0
  59. data/ruby/lib/limelight/util/map_hash.rb +191 -0
  60. data/ruby/lib/limelight/util/string_hash.rb +64 -0
  61. metadata +97 -390
  62. data/bin/icons/icon.ico +0 -0
  63. data/bin/icons/icon_48.gif +0 -0
  64. data/bin/icons/limelight.icns +0 -0
  65. data/bin/ll +0 -10
  66. data/bin/ll.bat +0 -5
  67. data/lib/init.rb +0 -12
  68. data/lib/limelight.jar +0 -0
  69. data/lib/limelight/builtin/players.rb +0 -16
  70. data/lib/limelight/builtin/players/button.rb +0 -39
  71. data/lib/limelight/builtin/players/check_box.rb +0 -50
  72. data/lib/limelight/builtin/players/combo_box.rb +0 -89
  73. data/lib/limelight/builtin/players/combo_box_popup_list.rb +0 -19
  74. data/lib/limelight/builtin/players/combo_box_popup_list_item.rb +0 -21
  75. data/lib/limelight/builtin/players/curtains.rb +0 -23
  76. data/lib/limelight/builtin/players/image.rb +0 -54
  77. data/lib/limelight/builtin/players/password_box.rb +0 -34
  78. data/lib/limelight/builtin/players/radio_button.rb +0 -65
  79. data/lib/limelight/builtin/players/stage_mover.rb +0 -31
  80. data/lib/limelight/builtin/players/stage_sizer.rb +0 -34
  81. data/lib/limelight/builtin/players/text_area.rb +0 -34
  82. data/lib/limelight/builtin/players/text_box.rb +0 -34
  83. data/lib/limelight/builtin/styles.rb +0 -35
  84. data/lib/limelight/builtin/utilities_production/alert/players/alert.rb +0 -14
  85. data/lib/limelight/builtin/utilities_production/alert/props.rb +0 -8
  86. data/lib/limelight/builtin/utilities_production/alert/styles.rb +0 -14
  87. data/lib/limelight/builtin/utilities_production/incompatible_version/props.rb +0 -20
  88. data/lib/limelight/builtin/utilities_production/incompatible_version/styles.rb +0 -12
  89. data/lib/limelight/builtin/utilities_production/production.rb +0 -66
  90. data/lib/limelight/builtin/utilities_production/stages.rb +0 -12
  91. data/lib/limelight/builtin/utilities_production/styles.rb +0 -53
  92. data/lib/limelight/button_group_cache.rb +0 -11
  93. data/lib/limelight/casting_director.rb +0 -112
  94. data/lib/limelight/commands/command.rb +0 -168
  95. data/lib/limelight/commands/create_command.rb +0 -98
  96. data/lib/limelight/commands/freeze_command.rb +0 -131
  97. data/lib/limelight/commands/help_command.rb +0 -61
  98. data/lib/limelight/commands/open_command.rb +0 -60
  99. data/lib/limelight/commands/pack_command.rb +0 -53
  100. data/lib/limelight/commands/unpack_command.rb +0 -44
  101. data/lib/limelight/commands/version_command.rb +0 -31
  102. data/lib/limelight/data.rb +0 -37
  103. data/lib/limelight/file_loader.rb +0 -46
  104. data/lib/limelight/gems.rb +0 -51
  105. data/lib/limelight/java_couplings.rb +0 -67
  106. data/lib/limelight/limelight_init.rb +0 -12
  107. data/lib/limelight/main.rb +0 -105
  108. data/lib/limelight/producer.rb +0 -233
  109. data/lib/limelight/production.rb +0 -203
  110. data/lib/limelight/prop.rb +0 -367
  111. data/lib/limelight/scene.rb +0 -151
  112. data/lib/limelight/specs/spec_helper.rb +0 -136
  113. data/lib/limelight/specs/test_scene_opener.rb +0 -63
  114. data/lib/limelight/stage.rb +0 -353
  115. data/lib/limelight/string.rb +0 -38
  116. data/lib/limelight/styles/style.rb +0 -288
  117. data/lib/limelight/templates/production_templater.rb +0 -49
  118. data/lib/limelight/templates/scene_templater.rb +0 -47
  119. data/lib/limelight/templates/sources/production/init.rb.template +0 -15
  120. data/lib/limelight/templates/templater.rb +0 -131
  121. data/lib/limelight/templates/templater_logger.rb +0 -39
  122. data/lib/limelight/theater.rb +0 -109
  123. data/lib/limelight/util/downloader.rb +0 -115
  124. data/lib/limelight/version.rb +0 -20
  125. data/productions/examples/8thlight.com/about/about.txt +0 -24
  126. data/productions/examples/8thlight.com/about/props.rb +0 -11
  127. data/productions/examples/8thlight.com/about/styles.rb +0 -2
  128. data/productions/examples/8thlight.com/footer.rb +0 -6
  129. data/productions/examples/8thlight.com/home/props.rb +0 -28
  130. data/productions/examples/8thlight.com/home/styles.rb +0 -2
  131. data/productions/examples/8thlight.com/images/anvil.jpg +0 -0
  132. data/productions/examples/8thlight.com/images/bg.jpg +0 -0
  133. data/productions/examples/8thlight.com/images/botticelli.jpg +0 -0
  134. data/productions/examples/8thlight.com/images/button_bg.jpg +0 -0
  135. data/productions/examples/8thlight.com/images/canvas_bg.jpg +0 -0
  136. data/productions/examples/8thlight.com/images/footer_bg.jpg +0 -0
  137. data/productions/examples/8thlight.com/images/header.jpg +0 -0
  138. data/productions/examples/8thlight.com/images/moses.jpg +0 -0
  139. data/productions/examples/8thlight.com/images/statemachine_thumbnail.png +0 -0
  140. data/productions/examples/8thlight.com/images/thumbnail_book.jpg +0 -0
  141. data/productions/examples/8thlight.com/menu.rb +0 -11
  142. data/productions/examples/8thlight.com/services/props.rb +0 -11
  143. data/productions/examples/8thlight.com/services/services.txt +0 -8
  144. data/productions/examples/8thlight.com/services/styles.rb +0 -2
  145. data/productions/examples/8thlight.com/stages.rb +0 -8
  146. data/productions/examples/8thlight.com/styles.rb +0 -210
  147. data/productions/examples/calculator/players/button.rb +0 -24
  148. data/productions/examples/calculator/players/calculator.rb +0 -15
  149. data/productions/examples/calculator/players/calculator_model.rb +0 -13
  150. data/productions/examples/calculator/props.rb +0 -23
  151. data/productions/examples/calculator/styles.rb +0 -36
  152. data/productions/examples/langstons_ant/html_javascript/ant.css +0 -39
  153. data/productions/examples/langstons_ant/html_javascript/ant.html +0 -22
  154. data/productions/examples/langstons_ant/html_javascript/ant.js +0 -23
  155. data/productions/examples/langstons_ant/init.rb +0 -4
  156. data/productions/examples/langstons_ant/players/ant.rb +0 -103
  157. data/productions/examples/langstons_ant/players/log.rb +0 -29
  158. data/productions/examples/langstons_ant/players/start_stop_button.rb +0 -37
  159. data/productions/examples/langstons_ant/players/world.rb +0 -35
  160. data/productions/examples/langstons_ant/props.rb +0 -22
  161. data/productions/examples/langstons_ant/styles.rb +0 -104
  162. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/props.rb +0 -10
  163. data/productions/examples/sandbox/alerts/incompatible_production/default_scene/styles.rb +0 -32
  164. data/productions/examples/sandbox/alerts/incompatible_production/production.rb +0 -52
  165. data/productions/examples/sandbox/alerts/incompatible_production/spec/default_scene/default_scene_spec.rb +0 -16
  166. data/productions/examples/sandbox/alerts/incompatible_production/spec/spec_helper.rb +0 -8
  167. data/productions/examples/sandbox/alerts/incompatible_production/stages.rb +0 -20
  168. data/productions/examples/sandbox/alerts/incompatible_production/styles.rb +0 -15
  169. data/productions/examples/sandbox/alerts/players/alerts.rb +0 -17
  170. data/productions/examples/sandbox/alerts/props.rb +0 -10
  171. data/productions/examples/sandbox/alerts/styles.rb +0 -46
  172. data/productions/examples/sandbox/background_images/props.rb +0 -22
  173. data/productions/examples/sandbox/background_images/styles.rb +0 -40
  174. data/productions/examples/sandbox/click_me/players/chromaton.rb +0 -52
  175. data/productions/examples/sandbox/click_me/props.rb +0 -8
  176. data/productions/examples/sandbox/click_me/styles.rb +0 -11
  177. data/productions/examples/sandbox/floaters/players/floater.rb +0 -108
  178. data/productions/examples/sandbox/floaters/players/surface.rb +0 -21
  179. data/productions/examples/sandbox/floaters/props.rb +0 -10
  180. data/productions/examples/sandbox/floaters/styles.rb +0 -24
  181. data/productions/examples/sandbox/frameing/players/sandbox.rb +0 -17
  182. data/productions/examples/sandbox/frameing/props.rb +0 -35
  183. data/productions/examples/sandbox/frameing/styles.rb +0 -45
  184. data/productions/examples/sandbox/gradients/players/spinner.rb +0 -20
  185. data/productions/examples/sandbox/gradients/players/teaser.rb +0 -19
  186. data/productions/examples/sandbox/gradients/players/wave.rb +0 -19
  187. data/productions/examples/sandbox/gradients/players/waves.rb +0 -19
  188. data/productions/examples/sandbox/gradients/props.rb +0 -13
  189. data/productions/examples/sandbox/gradients/styles.rb +0 -47
  190. data/productions/examples/sandbox/header.rb +0 -22
  191. data/productions/examples/sandbox/homer/players/homer.rb +0 -24
  192. data/productions/examples/sandbox/homer/props.rb +0 -10
  193. data/productions/examples/sandbox/homer/styles.rb +0 -16
  194. data/productions/examples/sandbox/images/arch.jpg +0 -0
  195. data/productions/examples/sandbox/images/beach.jpg +0 -0
  196. data/productions/examples/sandbox/images/homer.jpg +0 -0
  197. data/productions/examples/sandbox/images/limelight_spotlight.jpg +0 -0
  198. data/productions/examples/sandbox/images/logo.png +0 -0
  199. data/productions/examples/sandbox/images/marilyn.jpg +0 -0
  200. data/productions/examples/sandbox/images/space.png +0 -0
  201. data/productions/examples/sandbox/images_scene/props.rb +0 -36
  202. data/productions/examples/sandbox/images_scene/styles.rb +0 -34
  203. data/productions/examples/sandbox/inputs/players/button_input.rb +0 -48
  204. data/productions/examples/sandbox/inputs/players/check_box_input.rb +0 -40
  205. data/productions/examples/sandbox/inputs/players/combo_box_input.rb +0 -41
  206. data/productions/examples/sandbox/inputs/players/radio_button_input.rb +0 -43
  207. data/productions/examples/sandbox/inputs/players/text_area_input.rb +0 -36
  208. data/productions/examples/sandbox/inputs/players/text_box_input.rb +0 -36
  209. data/productions/examples/sandbox/inputs/props.rb +0 -40
  210. data/productions/examples/sandbox/inputs/styles.rb +0 -39
  211. data/productions/examples/sandbox/kiosk/players/kiosk.rb +0 -39
  212. data/productions/examples/sandbox/kiosk/props.rb +0 -9
  213. data/productions/examples/sandbox/kiosk/styles.rb +0 -37
  214. data/productions/examples/sandbox/players/sandbox.rb +0 -11
  215. data/productions/examples/sandbox/rounded_corners/players/box.rb +0 -11
  216. data/productions/examples/sandbox/rounded_corners/props.rb +0 -22
  217. data/productions/examples/sandbox/rounded_corners/styles.rb +0 -17
  218. data/productions/examples/sandbox/scrolling/players/add_button.rb +0 -19
  219. data/productions/examples/sandbox/scrolling/players/cell.rb +0 -15
  220. data/productions/examples/sandbox/scrolling/props.rb +0 -45
  221. data/productions/examples/sandbox/scrolling/styles.rb +0 -33
  222. data/productions/examples/sandbox/sketching/players/sketchpad.rb +0 -46
  223. data/productions/examples/sandbox/sketching/props.rb +0 -25
  224. data/productions/examples/sandbox/sketching/styles.rb +0 -35
  225. data/productions/examples/sandbox/sounds/bird.au +0 -0
  226. data/productions/examples/sandbox/sounds/cat.au +0 -0
  227. data/productions/examples/sandbox/sounds/cow.au +0 -0
  228. data/productions/examples/sandbox/sounds/dog.au +0 -0
  229. data/productions/examples/sandbox/sounds/donkey.au +0 -0
  230. data/productions/examples/sandbox/sounds/duck.au +0 -0
  231. data/productions/examples/sandbox/sounds/players/clip.rb +0 -10
  232. data/productions/examples/sandbox/sounds/props.rb +0 -10
  233. data/productions/examples/sandbox/sounds/styles.rb +0 -17
  234. data/productions/examples/sandbox/spec/alerts/alerts_spec.rb +0 -16
  235. data/productions/examples/sandbox/stage_handles/players/sizer.rb +0 -38
  236. data/productions/examples/sandbox/stage_handles/props.rb +0 -17
  237. data/productions/examples/sandbox/stage_handles/styles.rb +0 -58
  238. data/productions/examples/sandbox/stages.rb +0 -8
  239. data/productions/examples/sandbox/styles.rb +0 -35
  240. data/productions/examples/sandbox/teaser/players/fader.rb +0 -58
  241. data/productions/examples/sandbox/teaser/props.rb +0 -14
  242. data/productions/examples/sandbox/teaser/styles.rb +0 -21
  243. data/productions/examples/tutorials/tutorial_1/players/sample.rb +0 -11
  244. data/productions/examples/tutorials/tutorial_1/props.rb +0 -9
  245. data/productions/examples/tutorials/tutorial_1/styles.rb +0 -25
  246. data/productions/stage_composer/init.rb +0 -10
  247. data/productions/stage_composer/inspector/players/inspector.rb +0 -80
  248. data/productions/stage_composer/inspector/players/prop_row.rb +0 -12
  249. data/productions/stage_composer/inspector/players/prop_tree.rb +0 -33
  250. data/productions/stage_composer/inspector/players/style_table.rb +0 -12
  251. data/productions/stage_composer/inspector/players/style_value.rb +0 -16
  252. data/productions/stage_composer/inspector/props.rb +0 -19
  253. data/productions/stage_composer/inspector/styles.rb +0 -71
  254. data/productions/stage_composer/lib/init.rb +0 -5
  255. data/productions/stage_composer/lib/limelight/composer/controller.rb +0 -51
  256. data/productions/stage_composer/lib/limelight/composer/lethargy.rb +0 -24
  257. data/productions/stage_composer/production.rb +0 -6
  258. data/productions/stage_composer/stages.rb +0 -15
  259. data/productions/startup/images/logo.png +0 -0
  260. data/productions/startup/images/splash.png +0 -0
  261. data/productions/startup/production.rb +0 -52
  262. data/productions/startup/spec/default_scene/default_scene_spec.rb +0 -16
  263. data/productions/startup/spec/spec_helper.rb +0 -8
  264. data/productions/startup/stages.rb +0 -9
  265. data/productions/startup/styles.rb +0 -15
  266. data/productions/startup/welcome/players/browse_button.rb +0 -10
  267. data/productions/startup/welcome/players/download_button.rb +0 -17
  268. data/productions/startup/welcome/players/sandbox_button.rb +0 -11
  269. data/productions/startup/welcome/props.rb +0 -23
  270. data/productions/startup/welcome/styles.rb +0 -103
  271. data/spec/limelight/builtin/players/button_spec.rb +0 -20
  272. data/spec/limelight/builtin/players/check_box_spec.rb +0 -29
  273. data/spec/limelight/builtin/players/combo_box_spec.rb +0 -29
  274. data/spec/limelight/builtin/players/image_spec.rb +0 -43
  275. data/spec/limelight/builtin/players/password_box_spec.rb +0 -27
  276. data/spec/limelight/builtin/players/radio_button_spec.rb +0 -64
  277. data/spec/limelight/builtin/players/stage_mover_spec.rb +0 -36
  278. data/spec/limelight/builtin/players/stage_sizer_spec.rb +0 -40
  279. data/spec/limelight/builtin/players/text_area_spec.rb +0 -27
  280. data/spec/limelight/builtin/players/text_box_spec.rb +0 -27
  281. data/spec/limelight/builtin/utilities_production/spec_helper.rb +0 -7
  282. data/spec/limelight/builtin/utilities_production/utilities_production_spec.rb +0 -147
  283. data/spec/limelight/casting_director_spec.rb +0 -164
  284. data/spec/limelight/commands/command_spec.rb +0 -26
  285. data/spec/limelight/commands/create_command_spec.rb +0 -108
  286. data/spec/limelight/commands/freeze_command_spec.rb +0 -143
  287. data/spec/limelight/commands/help_command_spec.rb +0 -42
  288. data/spec/limelight/commands/open_command_spec.rb +0 -53
  289. data/spec/limelight/commands/pack_command_spec.rb +0 -43
  290. data/spec/limelight/commands/unpack_command_spec.rb +0 -47
  291. data/spec/limelight/data_spec.rb +0 -36
  292. data/spec/limelight/dsl/prop_builder_spec.rb +0 -245
  293. data/spec/limelight/dsl/stage_builder_spec.rb +0 -90
  294. data/spec/limelight/dsl/styles_builder_spec.rb +0 -194
  295. data/spec/limelight/file_chooser_spec.rb +0 -64
  296. data/spec/limelight/file_filter_spec.rb +0 -29
  297. data/spec/limelight/file_loader_spec.rb +0 -28
  298. data/spec/limelight/gems_spec.rb +0 -92
  299. data/spec/limelight/java_util_spec.rb +0 -37
  300. data/spec/limelight/main_spec.rb +0 -40
  301. data/spec/limelight/paint_action_spec.rb +0 -30
  302. data/spec/limelight/pen_spec.rb +0 -62
  303. data/spec/limelight/producer_spec.rb +0 -246
  304. data/spec/limelight/production_spec.rb +0 -97
  305. data/spec/limelight/prop_spec.rb +0 -431
  306. data/spec/limelight/scene_spec.rb +0 -173
  307. data/spec/limelight/stage_spec.rb +0 -247
  308. data/spec/limelight/string_spec.rb +0 -38
  309. data/spec/limelight/templates/production_templater_spec.rb +0 -66
  310. data/spec/limelight/templates/scene_templater_spec.rb +0 -51
  311. data/spec/limelight/templates/templater_logger_spec.rb +0 -41
  312. data/spec/limelight/templates/templater_spec.rb +0 -107
  313. data/spec/limelight/theater_spec.rb +0 -120
  314. data/spec/limelight/util/downloader_spec.rb +0 -92
  315. data/spec/spec_helper.rb +0 -64
@@ -0,0 +1,15 @@
1
+ task :spec do
2
+ system "jruby -S spec spec"
3
+ end
4
+
5
+ task :features do
6
+ system "jruby -S cucumber features"
7
+ end
8
+
9
+ task :all_tests => [:spec, :features] do
10
+ end
11
+
12
+ desc "Generates the llp for the production."
13
+ task :llp do
14
+ system "jruby -S limelight pack production -n '!-LLP_NAME-!'"
15
+ end
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'spec'
3
+ require 'limelight/specs/spec_helper'
4
+
5
+ # Set the Gem home to the frozen gems
6
+ $PRODUCTION_PATH = File.expand_path(File.dirname(__FILE__) + "/../production")
7
+ Gem.use_paths(File.join($PRODUCTION_PATH , "__resources", "gems"), Gem.default_path)
8
+
9
+
10
+ Dir.glob(File.join("__resources", "gems", "gems", "**", "lib")).each do |dir|
11
+ $: << dir
12
+ end
@@ -0,0 +1,76 @@
1
+ #- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the MIT License.
3
+
4
+ require 'limelight/limelight_exception'
5
+ require 'thread'
6
+
7
+ module Limelight
8
+
9
+ # A Theater represents a group of Stages. Productions require a Theater in which to open.
10
+ #
11
+ class Theater
12
+
13
+ include Java::limelight.model.api.TheaterProxy
14
+
15
+ attr_reader :peer #:nodoc:
16
+
17
+ def initialize(production, real_theater)
18
+ @production = production
19
+ @peer = real_theater
20
+ @peer.proxy = self
21
+ end
22
+
23
+ # Returns the theater's active stage. i.e. the stage most recently used.
24
+ #
25
+ def active_stage
26
+ @peer.active_stage
27
+ end
28
+
29
+ # Returns an Array of Stages that belong to this Theater.
30
+ #
31
+ def stages
32
+ stages = []
33
+ @peer.stages.each { |stage| stages << stage.proxy }
34
+ return stages
35
+ end
36
+
37
+ # Returns true if the theater has at least one stage
38
+ #
39
+ def has_stages?
40
+ return @peer.has_stages?
41
+ end
42
+
43
+ # Returns the Stage with the spcified name, nil if none exist with the specified name.
44
+ #
45
+ def [](stage_name)
46
+ stage = @peer.get(stage_name)
47
+ return stage == nil ? nil : stage.proxy
48
+ end
49
+
50
+ # Adds a Stage to the Theater. Raises an exception is the name of the Stage is duplicated.
51
+ #
52
+ def add_stage(name, options = {})
53
+ stage = build_stage(name, options).proxy
54
+ @peer.add(stage.peer)
55
+ return stage
56
+ end
57
+
58
+ # Close this theater. All stages in this theater will be closed and the active_stage will be nil'ed.
59
+ #
60
+ def close
61
+ @peer.close
62
+ end
63
+
64
+ #TODO MDM - This ia bug waiting to happen. Need to return the Java peer from this method.
65
+ def build_stage(name, options) #:nodoc:
66
+ return Limelight::Stage.new(self, name, options).peer
67
+ end
68
+ alias :buildStage :build_stage
69
+
70
+ def default_stage
71
+ @peer.default_stage.proxy
72
+ end
73
+
74
+ end
75
+
76
+ end
@@ -1,5 +1,5 @@
1
- #- Copyright 2008-2009 8th Light, Inc. All Rights Reserved.
2
- #- Limelight and all included source files are distributed under terms of the GNU LGPL.
1
+ #- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the MIT License.
3
3
 
4
4
  module Limelight
5
5
 
@@ -21,11 +21,9 @@ module Limelight
21
21
  # Returns true of the file is a directory containing an entry named file_name.
22
22
  #
23
23
  def self.directory_contains_file(file, file_name)
24
- if file.is_a? String
25
- return File.directory?(file) && File.exists?(File.join(file, file_name))
26
- else
27
- return file.isDirectory() && File.exists?(File.join(file.absolute_path, file_name))
28
- end
24
+ fs = Java::limelight.Context.fs
25
+ dir_path = file.is_a? String ? file : file.path
26
+ return fs.directory?(dir_path) && fs.exists?(fs.join(dir_path, file_name))
29
27
  end
30
28
 
31
29
  # Removed all methods from a class except instance_eval and methods starting with __.
@@ -33,7 +31,7 @@ module Limelight
33
31
  #
34
32
  def self.lobotomize(klass)
35
33
  klass.methods.each do |method_name|
36
- unless method_name[0..1] == "__" || method_name == "instance_eval"
34
+ unless method_name[0..1] == "__" || method_name == "instance_eval" || method_name == "methods"
37
35
  begin
38
36
  klass.instance_eval "undef_method :#{method_name}"
39
37
  rescue Exception => e
@@ -46,20 +44,3 @@ module Limelight
46
44
 
47
45
  end
48
46
 
49
- class Module
50
-
51
- def prop_reader(*symbols)
52
- symbols.each do |sym|
53
- define_method(sym) do
54
- return scene.find(sym.to_s)
55
- # value = instance_variable_get("@#{sym}")
56
- # if value.nil?
57
- # value = scene.find(sym.to_s)
58
- # instance_variable_set("@#{sym}", value) unless value.nil?
59
- # end
60
- # return value
61
- end
62
- end
63
- end
64
-
65
- end
@@ -0,0 +1,39 @@
1
+ #- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the MIT License.
3
+
4
+ require 'limelight/util/map_hash'
5
+ require 'limelight/util/string_hash'
6
+
7
+ module Limelight
8
+ module Util
9
+
10
+ module Hashes
11
+
12
+ def self.for_ruby(hash)
13
+ if hash.nil?
14
+ return StringHash.new
15
+ elsif hash.is_a?(StringHash) || hash.is_a?(MapHash)
16
+ return hash
17
+ elsif hash.is_a?(Java::java.util.Map)
18
+ return MapHash.new(hash)
19
+ else
20
+ return StringHash.new.merge!(hash)
21
+ end
22
+ end
23
+
24
+ def self.for_java(hash)
25
+ if hash.nil?
26
+ return StringHash.new
27
+ elsif hash.is_a?(StringHash) || hash.is_a?(Java::java.util.Map)
28
+ return hash
29
+ elsif hash.is_a?(MapHash)
30
+ return hash.map
31
+ else
32
+ return StringHash.new.merge!(hash)
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,191 @@
1
+ #- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the MIT License.
3
+
4
+ module Limelight
5
+ module Util
6
+
7
+ class MapHash
8
+
9
+ include Enumerable
10
+
11
+ attr_accessor :default
12
+ attr_reader :map
13
+
14
+ def initialize(map)
15
+ @map = map
16
+ @default = nil
17
+ end
18
+
19
+ def []=(key, value)
20
+ @map.put(desymbolize(key), value)
21
+ end
22
+ alias_method :store, :[]=
23
+
24
+ def [](key)
25
+ key = desymbolize(key)
26
+ return @map.contains_key(key) ? @map.get(key) : @default
27
+ end
28
+
29
+ def ==(other)
30
+ return false if !other.respond_to?(:to_hash)
31
+ other = other.to_hash
32
+ return false if other == nil
33
+ return false if other.size != @map.size
34
+ other.each { |key, value| return false if self[key] != value }
35
+ return true
36
+ end
37
+ alias_method :eql?, :==
38
+
39
+ def clear
40
+ @map.clear
41
+ return self
42
+ end
43
+
44
+ def default_proc
45
+ return nil
46
+ end
47
+
48
+ def delete(key)
49
+ return @map.remove(desymbolize(key))
50
+ end
51
+
52
+ def delete_if
53
+ self.keys.each do |key|
54
+ value = @map.get(key)
55
+ @map.remove(key) if yield(key, value)
56
+ end
57
+ return self
58
+ end
59
+ alias_method :reject!, :delete_if
60
+
61
+ def dup
62
+ return MapHash.new(@map.clone)
63
+ end
64
+
65
+ def each(&block)
66
+ @map.each &block
67
+ return self
68
+ end
69
+ alias_method :each_pair, :each
70
+
71
+ def each_key(&block)
72
+ @map.key_set.each &block
73
+ return self
74
+ end
75
+
76
+ def each_value(&block)
77
+ @map.values.each &block
78
+ return self
79
+ end
80
+
81
+ def empty?
82
+ return @map.isEmpty()
83
+ end
84
+
85
+ def fetch(key, option=nil)
86
+ desymbolized_key = desymbolize(key)
87
+ return @map.get(desymbolized_key) if @map.contains_key(desymbolized_key)
88
+ return yield(key) if block_given?
89
+ return option if option != nil
90
+ raise IndexError.new("key not found")
91
+ end
92
+
93
+ def has_key?(key)
94
+ return @map.contains_key(desymbolize(key))
95
+ end
96
+ alias_method :key?, :has_key?
97
+ alias_method :member?, :has_key?
98
+ alias_method :include?, :has_key?
99
+
100
+ def has_value?(value)
101
+ return @map.contains_value(value)
102
+ end
103
+ alias_method :value?, :has_value?
104
+
105
+ def index(search_value)
106
+ @map.each { |key, value| return key if value == search_value }
107
+ return nil
108
+ end
109
+
110
+ def invert
111
+ result = dup.clear
112
+ @map.each { |key, value| result[value] = key }
113
+ return result
114
+ end
115
+
116
+ def keys
117
+ result = []
118
+ @map.key_set.each { |key| result << key}
119
+ return result
120
+ end
121
+
122
+ def length
123
+ return @map.size
124
+ end
125
+ alias_method :size, :length
126
+
127
+ def merge(other, &block)
128
+ return dup.merge!(other, &block)
129
+ end
130
+
131
+ def merge!(other)
132
+ other.each do |key, value|
133
+ key = desymbolize(key)
134
+ value = yield(key, @map.get(key), value) if(@map.contains_key(key) && block_given?)
135
+ @map.put(key, value)
136
+ end
137
+ return self
138
+ end
139
+ alias_method :update, :merge!
140
+
141
+ def rehash
142
+ return self
143
+ end
144
+
145
+ def reject(&block)
146
+ return dup.reject!(&block)
147
+ end
148
+
149
+ def replace(other)
150
+ clear
151
+ return merge!(other)
152
+ end
153
+
154
+ def select
155
+ results = []
156
+ @map.each { |key, value| results << [key, value] if yield(key, value) }
157
+ return results
158
+ end
159
+
160
+ def shift
161
+ return @default if @map.isEmpty
162
+ key = keys[0]
163
+ return [key, @map.remove(key)]
164
+ end
165
+
166
+ def to_hash
167
+ hash = {}
168
+ @map.each { |key, value| hash[key] = value }
169
+ return hash
170
+ end
171
+
172
+ def values
173
+ result = []
174
+ @map.values.each { |key| result << key}
175
+ return result
176
+ end
177
+
178
+ def values_at(*keys)
179
+ return keys.map { |key| self[key] }
180
+ end
181
+
182
+ private
183
+
184
+ def desymbolize(key)
185
+ return key.is_a?(Symbol) ? key.to_s : key
186
+ end
187
+
188
+ end
189
+
190
+ end
191
+ end
@@ -0,0 +1,64 @@
1
+ #- Copyright © 2008-2011 8th Light, Inc. All Rights Reserved.
2
+ #- Limelight and all included source files are distributed under terms of the MIT License.
3
+
4
+ module Limelight
5
+ module Util
6
+
7
+ class StringHash < Hash
8
+
9
+ alias_method :put, :[]=
10
+ alias_method :get, :[]
11
+
12
+ def []=(key, value)
13
+ put(as_string(key), value)
14
+ end
15
+
16
+ def [](key)
17
+ return get(as_string(key))
18
+ end
19
+
20
+ def update(other)
21
+ other.each_pair do |key, value|
22
+ my_value = self[key]
23
+ if value && block_given?
24
+ value = yield(key, my_value, value)
25
+ end
26
+ self[key] = value
27
+ end
28
+ return self
29
+ end
30
+ alias_method :merge!, :update
31
+
32
+ def merge(other, &block)
33
+ return dup.merge!(other, &block)
34
+ end
35
+
36
+ def key?(key)
37
+ return super(as_string(key))
38
+ end
39
+
40
+ def fetch(key, *args)
41
+ return super(as_string(key), *args)
42
+ end
43
+
44
+ def delete(key)
45
+ return super(as_string(key))
46
+ end
47
+
48
+ private
49
+
50
+ def as_string(key)
51
+ case key
52
+ when nil
53
+ return nil
54
+ when String
55
+ return key
56
+ else
57
+ return key.to_s
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+ end
64
+ end