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
@@ -1,38 +0,0 @@
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.
3
-
4
- class String
5
-
6
- # Converts Ruby style names to Java style camal case.
7
- #
8
- # "four_score".camalized # => "FourScore"
9
- # "and_seven_years".camalized(:lower) # => "andSevenYears"
10
- #
11
- def camalized(starting_case = :upper)
12
- value = self.downcase.gsub(/[_| |\-][a-z]/) { |match| match[-1..-1].upcase }
13
- value = value[0..0].upcase + value[1..-1] if starting_case == :upper
14
- return value
15
- end
16
-
17
- # Converts Java camel case names to ruby style underscored names.
18
- #
19
- # "FourScore".underscored # => "four_score"
20
- # "andSevenYears".underscored # => "and_seven_years"
21
- #
22
- def underscored
23
- value = self[0..0].downcase + self[1..-1]
24
- value = value.gsub(/[A-Z]/) { |cap| "_#{cap.downcase}" }
25
- return value
26
- end
27
-
28
-
29
- # Converts ruby style and camalcase strings into title strings where every word is capitalized and separated by a space.
30
- #
31
- # "four_score".titleized # => "Four Score"
32
- #
33
- def titleized(starting_case = :upper)
34
- value = self.gsub(/[a-z0-9][A-Z]/) { |match| "#{match[0..0]} #{match[-1..-1]}" }
35
- value = value.gsub(/[_| ][a-z]/) { |match| " #{match[-1..-1].upcase}" }
36
- return value[0..0].upcase + value[1..-1]
37
- end
38
- end
@@ -1,288 +0,0 @@
1
- raise "studio.rb is present for solely to document it's Java counterpart limelight.Studio. This file should NOT be loaded in the Ruby runtime."
2
-
3
- module Limelight
4
- module Styles
5
- class Style
6
- # Specifies the Width attribute of a prop.
7
- # type: dimension
8
- # default_value: auto
9
- attr_accessor :width
10
-
11
- # Specifies the Height attribute of a prop.
12
- # type: dimension
13
- # default_value: auto
14
- attr_accessor :height
15
-
16
- # Specifies the Min Width attribute of a prop.
17
- # type: noneable simple dimension
18
- # default_value: none
19
- attr_accessor :min_width
20
-
21
- # Specifies the Min Height attribute of a prop.
22
- # type: noneable simple dimension
23
- # default_value: none
24
- attr_accessor :min_height
25
-
26
- # Specifies the Max Width attribute of a prop.
27
- # type: noneable simple dimension
28
- # default_value: none
29
- attr_accessor :max_width
30
-
31
- # Specifies the Max Height attribute of a prop.
32
- # type: noneable simple dimension
33
- # default_value: none
34
- attr_accessor :max_height
35
-
36
- # Specifies the Vertical Scrollbar attribute of a prop.
37
- # type: on/off
38
- # default_value: off
39
- attr_accessor :vertical_scrollbar
40
-
41
- # Specifies the Horizontal Scrollbar attribute of a prop.
42
- # type: on/off
43
- # default_value: off
44
- attr_accessor :horizontal_scrollbar
45
-
46
- # Specifies the Top Border Color attribute of a prop.
47
- # type: color
48
- # default_value: #000000ff
49
- attr_accessor :top_border_color
50
-
51
- # Specifies the Right Border Color attribute of a prop.
52
- # type: color
53
- # default_value: #000000ff
54
- attr_accessor :right_border_color
55
-
56
- # Specifies the Bottom Border Color attribute of a prop.
57
- # type: color
58
- # default_value: #000000ff
59
- attr_accessor :bottom_border_color
60
-
61
- # Specifies the Left Border Color attribute of a prop.
62
- # type: color
63
- # default_value: #000000ff
64
- attr_accessor :left_border_color
65
-
66
- # Specifies the Top Border Width attribute of a prop.
67
- # type: pixels
68
- # default_value: 0
69
- attr_accessor :top_border_width
70
-
71
- # Specifies the Right Border Width attribute of a prop.
72
- # type: pixels
73
- # default_value: 0
74
- attr_accessor :right_border_width
75
-
76
- # Specifies the Bottom Border Width attribute of a prop.
77
- # type: pixels
78
- # default_value: 0
79
- attr_accessor :bottom_border_width
80
-
81
- # Specifies the Left Border Width attribute of a prop.
82
- # type: pixels
83
- # default_value: 0
84
- attr_accessor :left_border_width
85
-
86
- # Specifies the Top Margin attribute of a prop.
87
- # type: pixels
88
- # default_value: 0
89
- attr_accessor :top_margin
90
-
91
- # Specifies the Right Margin attribute of a prop.
92
- # type: pixels
93
- # default_value: 0
94
- attr_accessor :right_margin
95
-
96
- # Specifies the Bottom Margin attribute of a prop.
97
- # type: pixels
98
- # default_value: 0
99
- attr_accessor :bottom_margin
100
-
101
- # Specifies the Left Margin attribute of a prop.
102
- # type: pixels
103
- # default_value: 0
104
- attr_accessor :left_margin
105
-
106
- # Specifies the Top Padding attribute of a prop.
107
- # type: pixels
108
- # default_value: 0
109
- attr_accessor :top_padding
110
-
111
- # Specifies the Right Padding attribute of a prop.
112
- # type: pixels
113
- # default_value: 0
114
- attr_accessor :right_padding
115
-
116
- # Specifies the Bottom Padding attribute of a prop.
117
- # type: pixels
118
- # default_value: 0
119
- attr_accessor :bottom_padding
120
-
121
- # Specifies the Left Padding attribute of a prop.
122
- # type: pixels
123
- # default_value: 0
124
- attr_accessor :left_padding
125
-
126
- # Specifies the Background Color attribute of a prop.
127
- # type: color
128
- # default_value: #00000000
129
- attr_accessor :background_color
130
-
131
- # Specifies the Secondary Background Color attribute of a prop.
132
- # type: color
133
- # default_value: #00000000
134
- attr_accessor :secondary_background_color
135
-
136
- # Specifies the Background Image attribute of a prop.
137
- # type: noneable string
138
- # default_value: none
139
- attr_accessor :background_image
140
-
141
- # Specifies the Background Image Fill Strategy attribute of a prop.
142
- # type: fill strategy
143
- # default_value: repeat
144
- attr_accessor :background_image_fill_strategy
145
-
146
- # Specifies the Gradient attribute of a prop.
147
- # type: on/off
148
- # default_value: off
149
- attr_accessor :gradient
150
-
151
- # Specifies the Gradient Angle attribute of a prop.
152
- # type: degrees
153
- # default_value: 90
154
- attr_accessor :gradient_angle
155
-
156
- # Specifies the Gradient Penetration attribute of a prop.
157
- # type: percentage
158
- # default_value: 100%
159
- attr_accessor :gradient_penetration
160
-
161
- # Specifies the Cyclic Gradient attribute of a prop.
162
- # type: on/off
163
- # default_value: off
164
- attr_accessor :cyclic_gradient
165
-
166
- # Specifies the Horizontal Alignment attribute of a prop.
167
- # type: horizontal alignment
168
- # default_value: left
169
- attr_accessor :horizontal_alignment
170
-
171
- # Specifies the Vertical Alignment attribute of a prop.
172
- # type: vertical alignment
173
- # default_value: top
174
- attr_accessor :vertical_alignment
175
-
176
- # Specifies the Text Color attribute of a prop.
177
- # type: color
178
- # default_value: #000000ff
179
- attr_accessor :text_color
180
-
181
- # Specifies the Font Face attribute of a prop.
182
- # type: string
183
- # default_value: Arial
184
- attr_accessor :font_face
185
-
186
- # Specifies the Font Size attribute of a prop.
187
- # type: integer
188
- # default_value: 12
189
- attr_accessor :font_size
190
-
191
- # Specifies the Font Style attribute of a prop.
192
- # type: font style
193
- # default_value: plain
194
- attr_accessor :font_style
195
-
196
- # Specifies the Transparency attribute of a prop.
197
- # type: percentage
198
- # default_value: 0%
199
- attr_accessor :transparency
200
-
201
- # Specifies the Top Right Rounded Corner Radius attribute of a prop.
202
- # type: pixels
203
- # default_value: 0
204
- attr_accessor :top_right_rounded_corner_radius
205
-
206
- # Specifies the Bottom Right Rounded Corner Radius attribute of a prop.
207
- # type: pixels
208
- # default_value: 0
209
- attr_accessor :bottom_right_rounded_corner_radius
210
-
211
- # Specifies the Bottom Left Rounded Corner Radius attribute of a prop.
212
- # type: pixels
213
- # default_value: 0
214
- attr_accessor :bottom_left_rounded_corner_radius
215
-
216
- # Specifies the Top Left Rounded Corner Radius attribute of a prop.
217
- # type: pixels
218
- # default_value: 0
219
- attr_accessor :top_left_rounded_corner_radius
220
-
221
- # Specifies the Top Right Border Width attribute of a prop.
222
- # type: pixels
223
- # default_value: 0
224
- attr_accessor :top_right_border_width
225
-
226
- # Specifies the Bottom Right Border Width attribute of a prop.
227
- # type: pixels
228
- # default_value: 0
229
- attr_accessor :bottom_right_border_width
230
-
231
- # Specifies the Bottom Left Border Width attribute of a prop.
232
- # type: pixels
233
- # default_value: 0
234
- attr_accessor :bottom_left_border_width
235
-
236
- # Specifies the Top Left Border Width attribute of a prop.
237
- # type: pixels
238
- # default_value: 0
239
- attr_accessor :top_left_border_width
240
-
241
- # Specifies the Top Right Border Color attribute of a prop.
242
- # type: color
243
- # default_value: #000000ff
244
- attr_accessor :top_right_border_color
245
-
246
- # Specifies the Bottom Right Border Color attribute of a prop.
247
- # type: color
248
- # default_value: #000000ff
249
- attr_accessor :bottom_right_border_color
250
-
251
- # Specifies the Bottom Left Border Color attribute of a prop.
252
- # type: color
253
- # default_value: #000000ff
254
- attr_accessor :bottom_left_border_color
255
-
256
- # Specifies the Top Left Border Color attribute of a prop.
257
- # type: color
258
- # default_value: #000000ff
259
- attr_accessor :top_left_border_color
260
-
261
- # Specifies the Float attribute of a prop.
262
- # type: on/off
263
- # default_value: off
264
- attr_accessor :float
265
-
266
- # Specifies the X attribute of a prop.
267
- # type: x-coordinate
268
- # default_value: 0
269
- attr_accessor :x
270
-
271
- # Specifies the Y attribute of a prop.
272
- # type: y-coordinate
273
- # default_value: 0
274
- attr_accessor :y
275
-
276
- # Specifies the Background Image X attribute of a prop.
277
- # type: x-coordinate
278
- # default_value: 0
279
- attr_accessor :background_image_x
280
-
281
- # Specifies the Background Image Y attribute of a prop.
282
- # type: y-coordinate
283
- # default_value: 0
284
- attr_accessor :background_image_y
285
-
286
- end
287
- end
288
- end
@@ -1,49 +0,0 @@
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.
3
-
4
- require 'limelight/templates/templater'
5
- require 'limelight/string'
6
- require 'limelight/version'
7
-
8
- module Limelight
9
- module Templates
10
-
11
- # A Templater that creates all the files and directories for a production. When used with "love_story" as
12
- # the production_path, the following will be the result.
13
- #
14
- # creating directory: ./love_story
15
- # creating file: ./love_story/production.rb
16
- # creating file: ./love_story/stages.rb
17
- # creating file: ./love_story/styles.rb
18
- #
19
- class ProductionTemplater < Templater
20
-
21
- attr_reader :tokens
22
-
23
- # To create a ProductionTemplater, provide a production_path and the name of the default scene.
24
- #
25
- def initialize(options)
26
- production_path = options[:production_path]
27
- default_scene_name = options[:scene_path]
28
- super(File.dirname(production_path), Templater.source_dir)
29
- @production_path = File.basename(production_path)
30
- @spec_path = File.join(@production_path, options[:spec_path])
31
- @tokens = {}
32
- @tokens[:DEFAULT_SCENE_NAME] = default_scene_name
33
- @tokens[:PRODUCTION_NAME] = File.basename(production_path).titleized
34
- @tokens[:CURRENT_VERSION] = Limelight::VERSION::STRING
35
- end
36
-
37
- # Generates the files
38
- #
39
- def generate
40
- file(File.join(@production_path, "production.rb"), "production/production.rb.template", @tokens)
41
- file(File.join(@production_path, "stages.rb"), "production/stages.rb.template", @tokens)
42
- file(File.join(@production_path, "styles.rb"), "production/styles.rb.template", @tokens)
43
- file(File.join(@spec_path, "spec_helper.rb"), "production/spec/spec_helper.rb.template", @tokens)
44
- end
45
-
46
- end
47
-
48
- end
49
- end
@@ -1,47 +0,0 @@
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.
3
-
4
- require 'limelight/templates/templater'
5
- require 'limelight/string'
6
-
7
- module Limelight
8
- module Templates
9
-
10
- # A derivative of Templater that generates all the files for a scene.
11
- # When created with the path "midnight_romance" the following will result:
12
- #
13
- # creating directory: ./midnight_romance
14
- # creating file: ./midnight_romance/props.rb
15
- # creating file: ./midnight_romance/styles.rb
16
- # creating directory: ./midnight_romance/players
17
- #
18
- class SceneTemplater < Templater
19
-
20
- attr_reader :tokens
21
-
22
- # The scene_path should be path to a desired scene inside a production directory.
23
- #
24
- def initialize(options)
25
- @production_path = options[:production_path]
26
- @scene_path = options[:scene_path]
27
- @spec_path = options[:spec_path]
28
- super(@production_path, Templater.source_dir)
29
- @scene_name = File.basename(@scene_path)
30
- @tokens = {}
31
- @tokens[:SCENE_NAME] = @scene_name
32
- @tokens[:SCENE_TITLE] = @scene_name.titleized
33
- end
34
-
35
- # Generates the files
36
- #
37
- def generate
38
- file(File.join(@scene_path, "props.rb"), "scene/props.rb.template", @tokens)
39
- file(File.join(@scene_path, "styles.rb"), "scene/styles.rb.template", @tokens)
40
- directory(File.join(@scene_path, "players"))
41
- file(File.join(@spec_path, @scene_path, "#{@scene_name}_spec.rb"), "scene_spec/scene_spec.rb.template", @tokens)
42
- end
43
-
44
- end
45
-
46
- end
47
- end
@@ -1,15 +0,0 @@
1
- # This file (init.rb) is the second file loaded (after production.rb) when a production is loaded.
2
- # Initialization code for the production should go here.
3
-
4
- # If your production is using external ruby source code that will be required in player modules, you may
5
- # add the path to $: here.
6
- #$: << File.expand_path(File.dirname(__FILE__) + "/lib")
7
-
8
- # Acquires a reference to the production.
9
- production = Limelight::Production["!-PRODUCTION_NAME-!"]
10
-
11
- # Require any source code that will be used by the production.
12
- #require 'seomthing'
13
-
14
- # This is the ideal place to assign values to production attributes.
15
- #production.something = MySource::Something.new
@@ -1,131 +0,0 @@
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.
3
-
4
- require 'limelight/templates/templater_logger'
5
-
6
- module Limelight
7
- module Templates
8
-
9
- # A class to create directories and file templates. An instance of Templater must be provided with
10
- # a target_root and a source_root. The target_root designates a root directory in which all directories and
11
- # files will be created. The source_root designated a directory where all the file template can be found.
12
- #
13
- # A file template is a plain text file. It may optionally contain token markers in the format !-TOKEN_NAME-!.
14
- # When a file template is installed by the templater, all the token margers will be replaced by tokens provided
15
- # in a hash.
16
- #
17
- class Templater
18
-
19
- # Return the default source_root for Limelight related file templates.
20
- #
21
- # $LIMELIGHT_LIB$/limelight/templates/sources
22
- #
23
- def self.source_dir
24
- return File.join(File.dirname(__FILE__), "sources")
25
- end
26
-
27
- # Carifies a path as relative or absolute. Essentially if makes sure a path begins with a . if it's not
28
- # an absolute path.
29
- #
30
- # Templater.clarity('some/path') -> './some/path'
31
- # Templater.clarity('/root/path') -> '/root/path'
32
- #
33
- def self.clarify(path)
34
- return path if path[0..0] == '.'
35
- return path if path == File.expand_path(path)
36
- return File.join(".", path)
37
- end
38
-
39
- attr_reader :target_root, :source_root
40
-
41
- # See TemplaterLogger
42
- #
43
- attr_accessor :logger
44
-
45
- # New instances Templater require a target_root. The source_root may optionally be provided. source_root
46
- # defaults to Templater.source_dir
47
- #
48
- # The logger is initializes as a TemplaterLogger
49
- #
50
- def initialize(target_root, source_root=Templater.source_dir)
51
- @logger = TemplaterLogger.new
52
- @target_root = Templater.clarify(target_root)
53
- @source_root = source_root
54
- end
55
-
56
- # Creates a deirectory. If the specified directory's parent directory is missing, it will be created as will its
57
- # parent directory, and so on.
58
- #
59
- # After the following call,
60
- #
61
- # templater.directory("dir1/dir2/dir3/dir4")
62
- #
63
- # The following directories will exist, inside the target_root, whether they existed prior to the call or not.
64
- #
65
- # dir1
66
- # dir1/dir2
67
- # dir1/dir2/dir3
68
- # dir1/dir2/dir3/dir4
69
- #
70
- def directory(path)
71
- full_path = File.join(@target_root, path)
72
- establish_directory(full_path)
73
- end
74
-
75
- # Creates the specified file from the specified file template. The file will be created within the target_root.
76
- # All parent diretories will be created if needed. The source paramter should be a path pointing to a
77
- # file template in the source_root directory.
78
- #
79
- # Assume the the file <code>src/default.txt.template</code> exists in the source_root with the following content.
80
- #
81
- # !-SCORES-! score and !-YEARS-! years ago, ...
82
- #
83
- # When the following command is executed,
84
- #
85
- # templater.file('dir/foo.txt', 'src/default.txt.template', :SCORES => "Four", :YEARS => "seven")
86
- #
87
- # The file <code>dir/foo.txt</code> will exist in the target_root with the following content.
88
- #
89
- # Four score and seven years ago, ...
90
- #
91
- def file(target, source, tokens = {})
92
- target_path = File.join(@target_root, target)
93
- source_source = File.join(@source_root, source)
94
-
95
- establish_directory(File.dirname(target_path))
96
-
97
- if File.exists?(target_path)
98
- @logger.file_already_exists(target_path)
99
- else
100
- @logger.creating_file(target_path)
101
- content = IO.read(source_source)
102
- content = replace_tokens(content, tokens)
103
- File.open(target_path, 'w') { |file| file.write content }
104
- end
105
- end
106
-
107
- private
108
-
109
- def establish_directory(full_path)
110
- return if File.exists?(full_path)
111
- parent_path = File.dirname(full_path)
112
- while (!File.exists?(parent_path))
113
- establish_directory(parent_path)
114
- end
115
-
116
- @logger.creating_directory(full_path)
117
- Dir.mkdir(full_path)
118
- end
119
-
120
- def replace_tokens(content, tokens)
121
- return content.gsub(/!-(\w+)-!/) do |value|
122
- token_name = value[2...-2]
123
- token = tokens[token_name] || tokens[token_name.to_sym] || "UNKNOWN TOKEN"
124
- token
125
- end
126
- end
127
-
128
- end
129
-
130
- end
131
- end