limelight 0.5.5-java → 0.6.14-java

Sign up to get free protection for your applications and to get access to all the features.
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