opal 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (325) hide show
  1. data/.gitignore +5 -10
  2. data/LICENSE +75 -0
  3. data/README.md +55 -3
  4. data/Rakefile +62 -139
  5. data/bin/opal +7 -10
  6. data/gems/core/README.md +5 -0
  7. data/gems/core/Rakefile +7 -0
  8. data/gems/core/core.gemspec +13 -0
  9. data/gems/core/lib/core.rb +33 -0
  10. data/gems/core/lib/core/array.rb +1470 -0
  11. data/gems/core/lib/core/basic_object.rb +15 -0
  12. data/gems/core/lib/core/class.rb +31 -0
  13. data/gems/core/lib/core/dir.rb +26 -0
  14. data/gems/core/lib/core/error.rb +43 -0
  15. data/gems/core/lib/core/false_class.rb +21 -0
  16. data/gems/core/lib/core/file.rb +54 -0
  17. data/gems/core/lib/core/hash.rb +725 -0
  18. data/gems/core/lib/core/kernel.rb +240 -0
  19. data/gems/core/lib/core/module.rb +98 -0
  20. data/gems/core/lib/core/nil_class.rb +41 -0
  21. data/gems/core/lib/core/numeric.rb +370 -0
  22. data/gems/core/lib/core/proc.rb +11 -0
  23. data/gems/core/lib/core/range.rb +17 -0
  24. data/gems/core/lib/core/regexp.rb +18 -0
  25. data/gems/core/lib/core/string.rb +328 -0
  26. data/gems/core/lib/core/symbol.rb +15 -0
  27. data/gems/core/lib/core/top_self.rb +8 -0
  28. data/gems/core/lib/core/true_class.rb +20 -0
  29. data/gems/core/lib/core/vm.rb +16 -0
  30. data/{opals/opal/opal → gems/core}/spec/core/array/append_spec.rb +0 -0
  31. data/{opals/opal/opal → gems/core}/spec/core/array/assoc_spec.rb +0 -0
  32. data/{opals/opal/opal → gems/core}/spec/core/array/at_spec.rb +0 -0
  33. data/{opals/opal/opal → gems/core}/spec/core/array/clear_spec.rb +1 -1
  34. data/{opals/opal/opal → gems/core}/spec/core/array/collect_bang_spec.rb +0 -0
  35. data/{opals/opal/opal → gems/core}/spec/core/array/collect_spec.rb +0 -0
  36. data/gems/core/spec/core/array/compact_spec.rb +41 -0
  37. data/{opals/opal/opal → gems/core}/spec/core/array/concat_spec.rb +0 -0
  38. data/{opals/opal/opal → gems/core}/spec/core/array/constructor_spec.rb +0 -0
  39. data/{opals/opal/opal → gems/core}/spec/core/array/each_spec.rb +0 -0
  40. data/{opals/opal/opal → gems/core}/spec/core/array/element_reference_spec.rb +0 -0
  41. data/{opals/opal/opal → gems/core}/spec/core/array/first_spec.rb +1 -1
  42. data/{opals/opal/opal → gems/core}/spec/core/array/include_spec.rb +0 -0
  43. data/gems/core/spec/core/array/join_spec.rb +6 -0
  44. data/gems/core/spec/core/array/last_spec.rb +51 -0
  45. data/gems/core/spec/core/array/length_spec.rb +6 -0
  46. data/{opals/opal/opal → gems/core}/spec/core/array/map_spec.rb +2 -0
  47. data/gems/core/spec/core/array/reverse_spec.rb +6 -0
  48. data/{opals/opal/opal → gems/core}/spec/core/builtin_constants/builtin_constants_spec.rb +0 -0
  49. data/{opals/opal/opal → gems/core}/spec/core/false/and_spec.rb +0 -0
  50. data/{opals/opal/opal → gems/core}/spec/core/false/inspect_spec.rb +0 -0
  51. data/{opals/opal/opal → gems/core}/spec/core/false/or_spec.rb +0 -0
  52. data/{opals/opal/opal → gems/core}/spec/core/false/to_s_spec.rb +0 -0
  53. data/{opals/opal/opal → gems/core}/spec/core/false/xor_spec.rb +0 -0
  54. data/{opals/opal/opal → gems/core}/spec/core/file/join_spec.rb +1 -1
  55. data/gems/core/spec/core/hash/assoc_spec.rb +32 -0
  56. data/{opals/opal/opal → gems/core}/spec/core/kernel/instance_eval_spec.rb +0 -0
  57. data/{opals/opal/opal → gems/core}/spec/core/kernel/loop_spec.rb +0 -0
  58. data/{opals/opal/opal → gems/core}/spec/core/kernel/raise_spec.rb +0 -0
  59. data/{opals/opal/opal → gems/core}/spec/core/module/attr_accessor_spec.rb +0 -0
  60. data/{opals/opal/opal → gems/core}/spec/core/number/lt_spec.rb +0 -0
  61. data/gems/core/spec/core/string/sub_spec.rb +24 -0
  62. data/{opals/opal/opal → gems/core}/spec/core/true/and_spec.rb +0 -0
  63. data/{opals/opal/opal → gems/core}/spec/core/true/inspect_spec.rb +0 -0
  64. data/{opals/opal/opal → gems/core}/spec/core/true/or_spec.rb +0 -0
  65. data/{opals/opal/opal → gems/core}/spec/core/true/to_s_spec.rb +0 -0
  66. data/{opals/opal/opal → gems/core}/spec/core/true/xor_spec.rb +0 -0
  67. data/{opals/opal/opal → gems/core}/spec/language/and_spec.rb +2 -3
  68. data/{opals/opal/opal → gems/core}/spec/language/array_spec.rb +21 -5
  69. data/gems/core/spec/language/block_spec.rb +38 -0
  70. data/{opals/opal/opal → gems/core}/spec/language/break_spec.rb +0 -0
  71. data/gems/core/spec/language/case_spec.rb +103 -0
  72. data/{opals/opal/opal → gems/core}/spec/language/def_spec.rb +11 -1
  73. data/{opals/opal/opal → gems/core}/spec/language/eigenclass_spec.rb +0 -0
  74. data/gems/core/spec/language/file_spec.rb +13 -0
  75. data/gems/core/spec/language/fixtures/block.rb +21 -0
  76. data/gems/core/spec/language/fixtures/super.rb +293 -0
  77. data/{opals/opal/opal → gems/core}/spec/language/hash_spec.rb +0 -0
  78. data/{opals/opal/opal → gems/core}/spec/language/if_spec.rb +0 -0
  79. data/{opals/opal/opal → gems/core}/spec/language/loop_spec.rb +0 -0
  80. data/gems/core/spec/language/metaclass_spec.rb +21 -0
  81. data/{opals/opal/opal → gems/core}/spec/language/method_spec.rb +60 -0
  82. data/{opals/opal/opal → gems/core}/spec/language/next_spec.rb +0 -0
  83. data/{opals/opal/opal → gems/core}/spec/language/or_spec.rb +0 -0
  84. data/{opals/opal/opal → gems/core}/spec/language/redo_spec.rb +0 -0
  85. data/gems/core/spec/language/regexp_spec.rb +26 -0
  86. data/{opals/opal/opal → gems/core}/spec/language/rescue_spec.rb +0 -0
  87. data/{opals/opal/opal → gems/core}/spec/language/return_spec.rb +0 -0
  88. data/{opals/opal/opal → gems/core}/spec/language/string_spec.rb +0 -0
  89. data/gems/core/spec/language/super_spec.rb +32 -0
  90. data/{opals/opal/opal → gems/core}/spec/language/until_spec.rb +47 -47
  91. data/gems/core/spec/language/variables_spec.rb +155 -0
  92. data/{opals/opal/opal → gems/core}/spec/language/while_spec.rb +47 -47
  93. data/{opals/opal/opal → gems/core}/spec/spec_helper.rb +1 -1
  94. data/gems/core_fs/README.md +19 -0
  95. data/gems/dev/Rakefile +5 -0
  96. data/gems/dev/lib/dev.js +99 -0
  97. data/gems/dev/lib/dev/generator.js +1264 -0
  98. data/gems/dev/lib/dev/parser.js +979 -0
  99. data/gems/dev/lib/dev/ruby_parser.js +1088 -0
  100. data/gems/dev/lib/dev/ruby_parser.y +1267 -0
  101. data/gems/dev/lib/dev/string_scanner.js +38 -0
  102. data/gems/dev/tools/racc2js/README.md +39 -0
  103. data/gems/dev/tools/racc2js/math_parser.js +222 -0
  104. data/gems/dev/tools/racc2js/math_parser.rb +133 -0
  105. data/gems/dev/tools/racc2js/math_parser.y +28 -0
  106. data/gems/dev/tools/racc2js/parser.js +218 -0
  107. data/gems/dev/tools/racc2js/racc2js.rb +153 -0
  108. data/gems/json/README.md +4 -0
  109. data/gems/json/json.gemspec +14 -0
  110. data/gems/json/lib/json.rb +64 -0
  111. data/gems/json/lib/json/ext.rb +51 -0
  112. data/{opals/opal/browser/lib/browser/json_parse.js → gems/json/lib/json/json2.js} +197 -37
  113. data/gems/ospec/README.md +0 -0
  114. data/gems/ospec/lib/ospec.rb +6 -0
  115. data/gems/ospec/lib/ospec/autorun.rb +3 -0
  116. data/gems/ospec/lib/ospec/dsl.rb +15 -0
  117. data/gems/ospec/lib/ospec/example.rb +11 -0
  118. data/gems/ospec/lib/ospec/example/before_and_after_hooks.rb +56 -0
  119. data/gems/ospec/lib/ospec/example/errors.rb +17 -0
  120. data/gems/ospec/lib/ospec/example/example_group.rb +12 -0
  121. data/gems/ospec/lib/ospec/example/example_group_factory.rb +21 -0
  122. data/gems/ospec/lib/ospec/example/example_group_hierarchy.rb +20 -0
  123. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/example/example_group_methods.rb +26 -68
  124. data/gems/ospec/lib/ospec/example/example_group_proxy.rb +14 -0
  125. data/gems/ospec/lib/ospec/example/example_methods.rb +46 -0
  126. data/gems/ospec/lib/ospec/example/example_proxy.rb +18 -0
  127. data/gems/ospec/lib/ospec/expectations.rb +19 -0
  128. data/gems/ospec/lib/ospec/expectations/errors.rb +8 -0
  129. data/gems/ospec/lib/ospec/expectations/fail_with.rb +8 -0
  130. data/gems/ospec/lib/ospec/expectations/handler.rb +27 -0
  131. data/gems/ospec/lib/ospec/matchers.rb +24 -0
  132. data/{opals/opal/Rakefile → gems/ospec/lib/ospec/matchers/be.rb} +0 -0
  133. data/gems/ospec/lib/ospec/matchers/generated_descriptions.rb +20 -0
  134. data/gems/ospec/lib/ospec/matchers/operator_matcher.rb +52 -0
  135. data/gems/ospec/lib/ospec/runner.rb +40 -0
  136. data/gems/ospec/lib/ospec/runner/example_group_runner.rb +44 -0
  137. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/formatter/html_formatter.rb +31 -40
  138. data/gems/ospec/lib/ospec/runner/formatter/terminal_formatter.rb +48 -0
  139. data/gems/ospec/lib/ospec/runner/options.rb +36 -0
  140. data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/reporter.rb +23 -55
  141. data/gems/ospec/ospec.gemspec +0 -0
  142. data/gems/rquery/README.md +9 -0
  143. data/gems/rquery/lib/rquery.rb +10 -0
  144. data/gems/rquery/lib/rquery/ajax.rb +4 -0
  145. data/gems/rquery/lib/rquery/css.rb +96 -0
  146. data/gems/rquery/lib/rquery/document.rb +25 -0
  147. data/gems/rquery/lib/rquery/element.rb +292 -0
  148. data/gems/rquery/lib/rquery/event.rb +108 -0
  149. data/gems/rquery/lib/rquery/jquery.js +8177 -0
  150. data/gems/rquery/lib/rquery/request.rb +138 -0
  151. data/gems/rquery/lib/rquery/response.rb +49 -0
  152. data/gems/rquery/rquery.gemspec +16 -0
  153. data/lib/opal.js +1597 -0
  154. data/lib/opal.rb +6 -69
  155. data/lib/opal/builder.rb +115 -0
  156. data/lib/opal/bundle.rb +131 -0
  157. data/lib/opal/command.rb +11 -0
  158. data/lib/opal/context.rb +69 -0
  159. data/lib/opal/context/console.rb +12 -0
  160. data/lib/opal/context/file_system.rb +19 -0
  161. data/lib/opal/context/loader.rb +117 -0
  162. data/lib/opal/gem.rb +153 -0
  163. data/lib/opal/ruby/nodes.rb +1302 -0
  164. data/lib/opal/ruby/parser.rb +780 -0
  165. data/lib/opal/ruby/ruby_parser.rb +5170 -0
  166. data/lib/opal/ruby/ruby_parser.y +1298 -0
  167. data/opal.gemspec +11 -256
  168. metadata +179 -240
  169. data/.gitmodules +0 -6
  170. data/Opalfile +0 -384
  171. data/VERSION +0 -1
  172. data/demos/apps/browser_demo/index.html +0 -11
  173. data/demos/apps/browser_demo/lib/browser_demo.rb +0 -31
  174. data/demos/apps/simple_opal/Opalfile +0 -13
  175. data/demos/apps/simple_opal/index.html +0 -11
  176. data/demos/apps/simple_opal/lib/app_controller.rb +0 -62
  177. data/demos/apps/simple_opal/lib/main_window.rb +0 -146
  178. data/demos/browser/request/index.html +0 -52
  179. data/demos/browser/request/request.rb +0 -48
  180. data/gen/browser/__PROJECT_NAME__/Rakefile +0 -12
  181. data/gen/browser/__PROJECT_NAME__/index.html +0 -11
  182. data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +0 -4687
  183. data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +0 -175
  184. data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +0 -1
  185. data/lib/opal/builders/base.rb +0 -50
  186. data/lib/opal/builders/css.rb +0 -46
  187. data/lib/opal/builders/javascript.rb +0 -44
  188. data/lib/opal/builders/opal.rb +0 -79
  189. data/lib/opal/builders/ruby.rb +0 -50
  190. data/lib/opal/builders/ruby/generate.rb +0 -1851
  191. data/lib/opal/builders/ruby/nodes.rb +0 -210
  192. data/lib/opal/builders/ruby/ruby.rb +0 -916
  193. data/lib/opal/builders/ruby/ruby_parser.rb +0 -6008
  194. data/lib/opal/builders/ruby/ruby_parser.rb.y +0 -1451
  195. data/lib/opal/models/build_item.rb +0 -104
  196. data/lib/opal/models/hash_struct.rb +0 -40
  197. data/lib/opal/models/project.rb +0 -252
  198. data/lib/opal/models/struct_accessors.rb +0 -58
  199. data/lib/opal/models/target.rb +0 -176
  200. data/lib/opal/opal/build.rb +0 -169
  201. data/lib/opal/opal/env/console.rb +0 -66
  202. data/lib/opal/opal/env/fs.rb +0 -98
  203. data/lib/opal/opal/env/object.rb +0 -48
  204. data/lib/opal/opal/environment.rb +0 -139
  205. data/lib/opal/opal/gen.rb +0 -62
  206. data/lib/opal/opal/opal.rb +0 -75
  207. data/lib/opal/opal/repl.rb +0 -38
  208. data/lib/opal/opalfile/dsl.rb +0 -62
  209. data/lib/opal/opalfile/opalfile.rb +0 -133
  210. data/lib/opal/opalfile/task.rb +0 -96
  211. data/lib/opal/opalfile/task_manager.rb +0 -63
  212. data/lib/opal/opalfile/task_scope.rb +0 -52
  213. data/lib/opal/rack/app_server.rb +0 -119
  214. data/lib/opal/rake/opal_task.rb +0 -34
  215. data/opals/opal/README.md +0 -37
  216. data/opals/opal/browser/Opalfile +0 -11
  217. data/opals/opal/browser/README.md +0 -146
  218. data/opals/opal/browser/SIZZLE_LICESNSE.txt +0 -148
  219. data/opals/opal/browser/lib/browser.rb +0 -118
  220. data/opals/opal/browser/lib/browser/builder.rb +0 -41
  221. data/opals/opal/browser/lib/browser/canvas_context.rb +0 -115
  222. data/opals/opal/browser/lib/browser/dimensions.rb +0 -50
  223. data/opals/opal/browser/lib/browser/document.rb +0 -146
  224. data/opals/opal/browser/lib/browser/element.rb +0 -487
  225. data/opals/opal/browser/lib/browser/element/attributes.rb +0 -88
  226. data/opals/opal/browser/lib/browser/element/css.rb +0 -290
  227. data/opals/opal/browser/lib/browser/element/form.rb +0 -146
  228. data/opals/opal/browser/lib/browser/event/dom_events.rb +0 -81
  229. data/opals/opal/browser/lib/browser/event/event.rb +0 -177
  230. data/opals/opal/browser/lib/browser/event/trigger_events.rb +0 -53
  231. data/opals/opal/browser/lib/browser/geometry.rb +0 -97
  232. data/opals/opal/browser/lib/browser/json.rb +0 -32
  233. data/opals/opal/browser/lib/browser/request/request.rb +0 -201
  234. data/opals/opal/browser/lib/browser/sizzle.js +0 -1068
  235. data/opals/opal/browser/lib/browser/string.rb +0 -42
  236. data/opals/opal/browser/lib/browser/touch.rb +0 -37
  237. data/opals/opal/browser/lib/browser/vml_context.js +0 -33
  238. data/opals/opal/browser/lib/browser/window.rb +0 -36
  239. data/opals/opal/browser/spec/browser/browser_detection_spec.rb +0 -7
  240. data/opals/opal/browser/spec/document/aref_spec.rb +0 -110
  241. data/opals/opal/browser/spec/document/ready_spec.rb +0 -16
  242. data/opals/opal/browser/spec/element/body_spec.rb +0 -11
  243. data/opals/opal/browser/spec/element/clear_spec.rb +0 -26
  244. data/opals/opal/browser/spec/element/empty_spec.rb +0 -29
  245. data/opals/opal/browser/spec/element/has_class_spec.rb +0 -40
  246. data/opals/opal/browser/spec/element/hidden_spec.rb +0 -23
  247. data/opals/opal/browser/spec/element/hide_spec.rb +0 -31
  248. data/opals/opal/browser/spec/element/remove_spec.rb +0 -25
  249. data/opals/opal/browser/spec/element/show_spec.rb +0 -31
  250. data/opals/opal/browser/spec/element/style_spec.rb +0 -69
  251. data/opals/opal/browser/spec/element/toggle_spec.rb +0 -31
  252. data/opals/opal/browser/spec/element/visible_spec.rb +0 -23
  253. data/opals/opal/browser/spec/spec_helper.rb +0 -1
  254. data/opals/opal/opal/Opalfile +0 -14
  255. data/opals/opal/opal/spec/core/array/compact_spec.rb +0 -15
  256. data/opals/opal/opal/spec/fixtures/super.rb +0 -70
  257. data/opals/opal/opal/spec/language/____temp_remove_this.rb +0 -12
  258. data/opals/opal/opal/spec/language/block_spec.rb +0 -18
  259. data/opals/opal/opal/spec/language/case_spec.rb +0 -103
  260. data/opals/opal/opal/spec/language/metaclass_spec.rb +0 -21
  261. data/opals/opal/opal/spec/language/super_spec.rb +0 -26
  262. data/opals/opal/runtime/Opalfile +0 -78
  263. data/opals/opal/runtime/README.md +0 -12
  264. data/opals/opal/runtime/docs/debugging.md +0 -51
  265. data/opals/opal/runtime/lib/array.rb +0 -1516
  266. data/opals/opal/runtime/lib/basic_object.rb +0 -49
  267. data/opals/opal/runtime/lib/class.rb +0 -54
  268. data/opals/opal/runtime/lib/dir.rb +0 -36
  269. data/opals/opal/runtime/lib/error.rb +0 -49
  270. data/opals/opal/runtime/lib/false_class.rb +0 -52
  271. data/opals/opal/runtime/lib/file.rb +0 -79
  272. data/opals/opal/runtime/lib/hash.rb +0 -791
  273. data/opals/opal/runtime/lib/io.rb +0 -39
  274. data/opals/opal/runtime/lib/kernel.rb +0 -288
  275. data/opals/opal/runtime/lib/match_data.rb +0 -36
  276. data/opals/opal/runtime/lib/module.rb +0 -109
  277. data/opals/opal/runtime/lib/nil_class.rb +0 -69
  278. data/opals/opal/runtime/lib/number.rb +0 -398
  279. data/opals/opal/runtime/lib/proc.rb +0 -77
  280. data/opals/opal/runtime/lib/range.rb +0 -63
  281. data/opals/opal/runtime/lib/regexp.rb +0 -111
  282. data/opals/opal/runtime/lib/ruby.rb +0 -30
  283. data/opals/opal/runtime/lib/string.rb +0 -328
  284. data/opals/opal/runtime/lib/symbol.rb +0 -40
  285. data/opals/opal/runtime/lib/top_self.rb +0 -33
  286. data/opals/opal/runtime/lib/true_class.rb +0 -45
  287. data/opals/opal/runtime/runtime/browser.js +0 -287
  288. data/opals/opal/runtime/runtime/debug.js +0 -180
  289. data/opals/opal/runtime/runtime/opal.js +0 -1008
  290. data/opals/opal/runtime/runtime/post_opal.js +0 -1
  291. data/opals/opal/runtime/runtime/pre_opal.js +0 -2
  292. data/opals/opal/runtime/runtime/server_side.js +0 -50
  293. data/opals/opal/spec/LICENSE.txt +0 -26
  294. data/opals/opal/spec/Opalfile +0 -5
  295. data/opals/opal/spec/bin/spec.rb +0 -43
  296. data/opals/opal/spec/lib/spec.rb +0 -33
  297. data/opals/opal/spec/lib/spec/dsl.rb +0 -41
  298. data/opals/opal/spec/lib/spec/example.rb +0 -35
  299. data/opals/opal/spec/lib/spec/example/before_and_after_hooks.rb +0 -81
  300. data/opals/opal/spec/lib/spec/example/errors.rb +0 -42
  301. data/opals/opal/spec/lib/spec/example/example_group.rb +0 -37
  302. data/opals/opal/spec/lib/spec/example/example_group_factory.rb +0 -43
  303. data/opals/opal/spec/lib/spec/example/example_group_hierarchy.rb +0 -45
  304. data/opals/opal/spec/lib/spec/example/example_group_proxy.rb +0 -41
  305. data/opals/opal/spec/lib/spec/example/example_methods.rb +0 -73
  306. data/opals/opal/spec/lib/spec/example/example_proxy.rb +0 -48
  307. data/opals/opal/spec/lib/spec/expectations.rb +0 -46
  308. data/opals/opal/spec/lib/spec/expectations/errors.rb +0 -35
  309. data/opals/opal/spec/lib/spec/expectations/fail_with.rb +0 -37
  310. data/opals/opal/spec/lib/spec/expectations/handler.rb +0 -48
  311. data/opals/opal/spec/lib/spec/matchers.rb +0 -50
  312. data/opals/opal/spec/lib/spec/matchers/be.rb +0 -26
  313. data/opals/opal/spec/lib/spec/matchers/generated_descriptions.rb +0 -47
  314. data/opals/opal/spec/lib/spec/matchers/operator_matcher.rb +0 -66
  315. data/opals/opal/spec/lib/spec/runner.rb +0 -48
  316. data/opals/opal/spec/lib/spec/runner/example_group_runner.rb +0 -71
  317. data/opals/opal/spec/lib/spec/runner/formatter/terminal_formatter.rb +0 -82
  318. data/opals/opal/spec/lib/spec/runner/options.rb +0 -63
  319. data/opals/opal/spec/resources/index.html +0 -25
  320. data/opals/opal/spec/resources/spec.css +0 -132
  321. data/spec/cherry_kit/iseq_spec.rb +0 -38
  322. data/spec/spec_helper.rb +0 -16
  323. data/spec/vienna_spec.rb +0 -7
  324. data/yard/index.html +0 -43
  325. data/yard/style.css +0 -765
@@ -1,6 +0,0 @@
1
- [submodule "opals/opal"]
2
- path = opals/opal
3
- url = git://github.com/adambeynon/opal.git
4
- [submodule "opals/cherry_kit"]
5
- path = opals/cherry_kit
6
- url = git://github.com/adambeynon/cherry_kit.git
data/Opalfile DELETED
@@ -1,384 +0,0 @@
1
- mode :all do
2
-
3
- config :all,
4
- :build_prefix => 'tmp/build',
5
- :staging_prefix => 'tmp/staging',
6
- :tmp_root => 'tmp',
7
-
8
- # where our libs are kept - i.e. what should be a valid build item
9
- :lib_directories => ['lib'],
10
-
11
-
12
- # which sub directory do our javascripts go into
13
- :javascripts_prefix => 'javascripts',
14
-
15
- # which sub dir do our built stylesheets go into
16
- :stylesheets_prefix => 'stylesheets',
17
-
18
- # final name for our js built file (:project_name for name of project,
19
- # other wise to_s is called on it)
20
- :javascript_name => :project_name,
21
-
22
- # same as above
23
- :stylehseet_name => :project_name,
24
-
25
- # default bin file to run.. if none given, then it defaults to :project_name
26
- # which is replaced by the actual project name. This will then mean either
27
- # a bin file of the given name, or lib/project_name will be loaded
28
- :bin_file => :project_name,
29
-
30
- # by default do NOT build stylesheets.. only cherrykit/spec wants this, so
31
- # for browsers etc, do not do this.
32
- :build_stylesheets => false,
33
-
34
- # should we copy the html files (if found?)
35
- :copy_html => false
36
- end
37
-
38
- mode :debug do
39
- config :all,
40
-
41
- :build_prefix => '',
42
- :staging_prefix => 'tmp/debug/staging'
43
-
44
- end
45
-
46
- mode :release do
47
- config :all,
48
-
49
- :build_prefix => '',
50
- :staging_prefix => 'tmp/release/staging'
51
-
52
- end
53
-
54
- mode :spec do
55
- config :all,
56
-
57
- :build_prefix => 'tmp/built_specs',
58
- :staging_prefix => 'tmp/spec/staging'
59
-
60
- end
61
-
62
- # This is the root opalfile. It is used as the basis for every target. These can
63
- # all be overridden by each opalfile, and so provide "defaults".
64
-
65
- # Building targets - each opal (app, framework, theme etc) are a single target
66
- namespace :target do
67
-
68
- desc "Preparing the target"
69
- task :prepare do
70
- # set the build root
71
- @target.build_root = File.join(@project.build_root, @config.staging_prefix, 'opals', @target.target_name)
72
- # set the staging root
73
- @target.staging_root = File.join(@project.build_root, @config.staging_prefix, @target.target_name)
74
- end
75
-
76
- desc "Building the target"
77
- task :build => [:catalog, :hide_non_build_files, :'prepare_build_tasks:all']
78
-
79
- desc "catalog"
80
- task :catalog do
81
- target_root = @target.target_root
82
- Dir[File.join(target_root, '**', '*')].each do |source|
83
- next if !File.exist?(source) || File.directory?(source)
84
- # should check if its another target
85
-
86
- relative_path = source.sub(/^#{Regexp.escape target_root}\//, "")
87
- relative_path = relative_path.split(::File::SEPARATOR).join('/')
88
- @target.add_build_item relative_path
89
- end
90
- end
91
-
92
- desc "Hide opalfiles etc"
93
- task :hide_non_build_files => [:catalog] do
94
- # puts "checking for extra files"
95
- @target.build_items.each do |item|
96
-
97
- can_skip = false
98
- # skip if item is in our lib directory(s)
99
- can_skip = @config.lib_directories.each do |dir|
100
- break true if item.filename =~ /^#{dir}.+(rb|js)$/
101
- end
102
-
103
- # puts "trying #{item.filename}"
104
-
105
- if @config.copy_html && item.filename =~ /\.html$/
106
- # allow html files if we have said so
107
- next
108
- end
109
-
110
- next if can_skip == true
111
-
112
- # skip all resources
113
- if @config.build_stylesheets
114
- # puts "can build styleheets for #{item.filename}"
115
- next if item.filename =~ /^resources.+$/
116
- end
117
-
118
- # if we have a bin item, and our config says we should include the bin
119
- # file...
120
- next if item.filename =~ /^bin.+$/ and @config.include_bin
121
-
122
- # puts "hiding #{item.filename}"
123
-
124
- # hide any other file
125
- item.hide!
126
- end
127
- # puts "running hide_opalfiles with #{@target.build_items}"
128
- # remove all non build files.. for example, if target is not main target,
129
- # then remove any bin files.. only want lib files, also remove spec folders
130
- # really... the only ruby, for example, we want is in the lib folder
131
- end
132
- end
133
-
134
- namespace :prepare_build_tasks do
135
-
136
- desc "This should invoke all needed tasks"
137
- task :all => [:css, :ruby, :javascript, :combine]
138
-
139
- desc "setup"
140
- task :setup => [:'target:prepare']
141
-
142
- desc "Ruby sources"
143
- task :ruby => [:setup] do
144
- # puts "running ruby tasks for #{@target}"
145
- # make sure we only grab the ruby files
146
- build_items = @target.build_items.select { |item| item.ext == 'rb' }
147
-
148
- build_items.each do |item|
149
- # p "item.filename is #{item.filename}"
150
- item = @target.add_transform item,
151
- :filename => item.filename,
152
- :build_task => 'build:ruby',
153
- :resource => :ruby,
154
- # give our ruby a name.rb.js extension to make it clearer what it is
155
- :build_path => File.join(@target.build_root, item.filename) + '.js',
156
- :staging_path => File.join(@target.staging_root, item.filename) + '.js'
157
- end
158
- end
159
-
160
- desc "Any javascript sources - not likely to be many"
161
- task :javascript => [:setup] do
162
- # puts @target.build_items.map { |a| a.filename }
163
- build_items = @target.build_items.select { |item| item.ext == 'js' }
164
- # puts "found some javascript items: #{build_items}"
165
- build_items.each do |item|
166
- item = @target.add_transform item,
167
- :filename => item.filename,
168
- :build_task => 'build:javascript',
169
- :resource => :javascript,
170
- :build_path => File.join(@target.build_root, item.filename),
171
- :staging_path => File.join(@target.staging_root, item.filename)
172
- end
173
- end
174
-
175
- desc "Collect all css resources"
176
- task :css => [:setup] do
177
- if @config.build_stylesheets
178
- build_items = @target.build_items.select { |item| item.ext == "css" }
179
-
180
- build_items.each do |item|
181
- item = @target.add_transform item,
182
- :filename => item.filename,
183
- :build_task => 'build:css',
184
- :resource => :css,
185
- :build_path => File.join(@target.build_root, item.filename),
186
- :staging_path => File.join(@target.staging_root, item.filename)
187
- end
188
- end
189
- end
190
-
191
- desc "combined ruby etc"
192
- task :combine => [:css, :ruby, :javascript] do
193
- # puts "combining for #{@target.target_name}"
194
- code_items = []
195
- css_items = []
196
- @target.build_items.each do |item|
197
- # all resouurce (ruby, css etc) types will have a .resource property
198
- next if item.resource.nil?
199
- # lookup specific ruby, css etc
200
- case item.resource
201
- when :ruby, :javascript
202
- code_items << item
203
- when :css
204
- css_items << item
205
- else
206
- # puts "found NON ruby #{item.inspect}"
207
- end
208
- end
209
-
210
- # code target: the opal - javascript and ruby sources
211
- code_target_name = @target.target_name + '.js'
212
-
213
- @target.add_composite code_target_name,
214
- :build_task => 'build:opal',
215
- :source_items => code_items
216
-
217
- if @config.build_stylesheets
218
- # css target is all the css resources (less, css, sass)
219
- css_target_name = @target.target_name + '.css'
220
-
221
- @target.add_composite css_target_name,
222
- :build_task => 'build:opal_css',
223
- :source_items => css_items
224
- end
225
- end
226
-
227
- end
228
-
229
- namespace :build_item do
230
-
231
- task :prepare do
232
- filename = @build_item.filename
233
- raise "All build items must have a filename." unless filename
234
-
235
- # default build task for a build item
236
- @build_item.build_task ||= 'build:copy'
237
- # make sure we have an extension set
238
- @build_item.ext = File.extname(filename)[1..-1]
239
- # make sure our full source path is ready
240
- @build_item.source_path ||= File.join(@target.target_root, filename)
241
- end
242
- end
243
-
244
- namespace :build do
245
-
246
- task :clean do
247
- # clean.. remove only tmps etc, leave final build as it is
248
- staging = File.join @project.build_root, @config.tmp_root
249
- FileUtils.rm_rf staging
250
- end
251
-
252
- task :copy do
253
- # puts "building simple copy task for #{@build_item.source_path}"
254
- from = @build_item.source_path
255
- to = File.join(@project.build_root, @config.build_prefix, @build_item.filename)
256
- # puts from
257
- # puts to
258
- FileUtils.mkdir_p File.dirname(to)
259
- FileUtils.copy_file from, to
260
- end
261
-
262
- task :ruby do
263
- Vienna::Builders::Ruby.build @build_item, @dst_path
264
- end
265
-
266
- task :javascript do
267
- Vienna::Builders::Javascript.build @build_item, @dst_path
268
- end
269
-
270
- task :css do
271
- Vienna::Builders::CSS.build @build_item, @dst_path
272
- end
273
-
274
- desc "Build the opal itself (as javascript)"
275
- task :opal do
276
- Vienna::Builders::Opal.build @build_item, @dst_path
277
- end
278
-
279
- task :opal_css do
280
- source_items = @build_item.source_items
281
- build_path = @build_item.build_path
282
-
283
- FileUtils.mkdir_p File.dirname(build_path)
284
-
285
- File.open(build_path, 'w') do |out|
286
- source_items.each do |item|
287
- out.write File.read(item.stage!.staging_path)
288
- end
289
- end
290
- end
291
-
292
- desc "Final package to combine all opals"
293
- task :package do
294
- # puts "running package task!"
295
- # only run package task if we are the main target
296
- if @target.main_target?
297
- js_build_path = File.join @project.build_root, @config.build_prefix, @config.javascripts_prefix
298
-
299
- FileUtils.mkdir_p js_build_path
300
-
301
- js_name = @config.javascript_name
302
-
303
- if js_name == :project_name
304
- js_name = "#{@project.project_name}.js"
305
- end
306
-
307
- # if @config.build_stylesheets
308
- css_build_path = File.join @project.build_root, @config.build_prefix, @config.stylesheets_prefix
309
-
310
- # FileUtils.mkdir_p css_build_path
311
-
312
- css_name = @config.stylesheet_name
313
-
314
- if css_name == :project_name
315
- css_name = "#{@project.project_name}.css"
316
- end
317
- # end
318
- # javascripts_prefix
319
- opals = @project.targets.each_value.to_a.dup
320
-
321
- # puts "opals are:"
322
- # p opals
323
-
324
- # order is more-a-less irrelevant, but we MUST have opal first
325
- opals.unshift(opals.find { |o| o.target_name.to_sym == :runtime }).uniq!
326
-
327
- # puts "opals are now:"
328
- # p opals
329
-
330
- # build the final javascript.js package
331
- File.open(File.join(js_build_path, js_name), 'w') do |out|
332
- opals.each do |opal|
333
- item = opal.build_item_for("#{opal.target_name}.js")
334
- out.puts File.read(item.build_path)
335
- end
336
- # Also, we must include the bin file we want to use, and set the working
337
- # directory (which is in the base folder of the main_target)
338
- bin_file = @config.bin_file
339
- bin_file = @project.project_name if bin_file == :project_name
340
- working_dir = @target.target_name.to_s
341
-
342
- unless bin_file == nil
343
- out.puts "opal.run('#{bin_file}','#{working_dir}');"
344
- else
345
- out.puts "opal.require('browser');"
346
- end
347
- end
348
-
349
- # if @config.build_stylesheets
350
- # puts "in a"
351
- # puts css_build_path
352
- # puts css_name
353
-
354
- all_css_targets = []
355
- opals.each do |opal|
356
- item = opal.build_item_for("#{opal.target_name}.css")
357
- # puts item
358
- (all_css_targets << item) if item
359
- end
360
-
361
- if all_css_targets.length > 0
362
- FileUtils.mkdir_p css_build_path
363
- File.open(File.join(css_build_path, css_name), 'w') do |out|
364
- all_css_targets.each do |item|
365
- out.puts File.read(item.build_path)
366
- end
367
- end
368
- end
369
- # FileUtils.mkdir_p css_build_path
370
-
371
- # build the final stylesheet.css package
372
- # File.open(File.join(css_build_path, css_name), 'w') do |out|
373
- # opals.each do |opal|
374
- # puts opal.target_name
375
- # item = /opal.build_item_for("#{opal.target_name}.css")
376
- # puts item
377
- # out.puts(File.read(item.build_path)) if item
378
- # end
379
- # end
380
- # end
381
-
382
- end
383
- end
384
- end
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.2
@@ -1,11 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Browser Demo</title>
5
- <script src="browser_demo.js"></script>
6
- </head>
7
- <body>
8
- <div>Hey</div>
9
- <div class="typess" id="wow"></div>
10
- </body>
11
- </html>
@@ -1,31 +0,0 @@
1
-
2
- require 'browser'
3
-
4
- Document.ready? do
5
-
6
- puts "testing events"
7
- Document.add_listener :click do |evt|
8
- puts "in listener"
9
- puts evt
10
- end
11
-
12
- puts "testing Request"
13
- req = Request.new
14
- puts req
15
-
16
- req.on :success do
17
- puts "handler success!"
18
- end
19
-
20
- req.on :failure do
21
- puts "handler failure!"
22
- end
23
-
24
- req.on :complete do
25
- puts "handler complete!"
26
- end
27
-
28
- req.send :url => "javascripts/browser_demo.js"
29
-
30
- end
31
-
@@ -1,13 +0,0 @@
1
-
2
- # for all modes, set the bin to foundation (will be cherry_kit)
3
- mode :all do
4
- config :simple_opal,
5
-
6
- :required => [:cherry_kit],
7
- :bin_file => :cherry_kit
8
-
9
- config :cherry_kit,
10
-
11
- :include_bin => true
12
-
13
- end