opal 0.2.2 → 0.3.0
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.
- data/.gitignore +5 -10
- data/LICENSE +75 -0
- data/README.md +55 -3
- data/Rakefile +62 -139
- data/bin/opal +7 -10
- data/gems/core/README.md +5 -0
- data/gems/core/Rakefile +7 -0
- data/gems/core/core.gemspec +13 -0
- data/gems/core/lib/core.rb +33 -0
- data/gems/core/lib/core/array.rb +1470 -0
- data/gems/core/lib/core/basic_object.rb +15 -0
- data/gems/core/lib/core/class.rb +31 -0
- data/gems/core/lib/core/dir.rb +26 -0
- data/gems/core/lib/core/error.rb +43 -0
- data/gems/core/lib/core/false_class.rb +21 -0
- data/gems/core/lib/core/file.rb +54 -0
- data/gems/core/lib/core/hash.rb +725 -0
- data/gems/core/lib/core/kernel.rb +240 -0
- data/gems/core/lib/core/module.rb +98 -0
- data/gems/core/lib/core/nil_class.rb +41 -0
- data/gems/core/lib/core/numeric.rb +370 -0
- data/gems/core/lib/core/proc.rb +11 -0
- data/gems/core/lib/core/range.rb +17 -0
- data/gems/core/lib/core/regexp.rb +18 -0
- data/gems/core/lib/core/string.rb +328 -0
- data/gems/core/lib/core/symbol.rb +15 -0
- data/gems/core/lib/core/top_self.rb +8 -0
- data/gems/core/lib/core/true_class.rb +20 -0
- data/gems/core/lib/core/vm.rb +16 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/append_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/assoc_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/at_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/clear_spec.rb +1 -1
- data/{opals/opal/opal → gems/core}/spec/core/array/collect_bang_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/collect_spec.rb +0 -0
- data/gems/core/spec/core/array/compact_spec.rb +41 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/concat_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/constructor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/each_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/element_reference_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/first_spec.rb +1 -1
- data/{opals/opal/opal → gems/core}/spec/core/array/include_spec.rb +0 -0
- data/gems/core/spec/core/array/join_spec.rb +6 -0
- data/gems/core/spec/core/array/last_spec.rb +51 -0
- data/gems/core/spec/core/array/length_spec.rb +6 -0
- data/{opals/opal/opal → gems/core}/spec/core/array/map_spec.rb +2 -0
- data/gems/core/spec/core/array/reverse_spec.rb +6 -0
- data/{opals/opal/opal → gems/core}/spec/core/builtin_constants/builtin_constants_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/and_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/inspect_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/to_s_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/false/xor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/file/join_spec.rb +1 -1
- data/gems/core/spec/core/hash/assoc_spec.rb +32 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/instance_eval_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/loop_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/kernel/raise_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/module/attr_accessor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/number/lt_spec.rb +0 -0
- data/gems/core/spec/core/string/sub_spec.rb +24 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/and_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/inspect_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/to_s_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/core/true/xor_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/and_spec.rb +2 -3
- data/{opals/opal/opal → gems/core}/spec/language/array_spec.rb +21 -5
- data/gems/core/spec/language/block_spec.rb +38 -0
- data/{opals/opal/opal → gems/core}/spec/language/break_spec.rb +0 -0
- data/gems/core/spec/language/case_spec.rb +103 -0
- data/{opals/opal/opal → gems/core}/spec/language/def_spec.rb +11 -1
- data/{opals/opal/opal → gems/core}/spec/language/eigenclass_spec.rb +0 -0
- data/gems/core/spec/language/file_spec.rb +13 -0
- data/gems/core/spec/language/fixtures/block.rb +21 -0
- data/gems/core/spec/language/fixtures/super.rb +293 -0
- data/{opals/opal/opal → gems/core}/spec/language/hash_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/if_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/loop_spec.rb +0 -0
- data/gems/core/spec/language/metaclass_spec.rb +21 -0
- data/{opals/opal/opal → gems/core}/spec/language/method_spec.rb +60 -0
- data/{opals/opal/opal → gems/core}/spec/language/next_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/or_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/redo_spec.rb +0 -0
- data/gems/core/spec/language/regexp_spec.rb +26 -0
- data/{opals/opal/opal → gems/core}/spec/language/rescue_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/return_spec.rb +0 -0
- data/{opals/opal/opal → gems/core}/spec/language/string_spec.rb +0 -0
- data/gems/core/spec/language/super_spec.rb +32 -0
- data/{opals/opal/opal → gems/core}/spec/language/until_spec.rb +47 -47
- data/gems/core/spec/language/variables_spec.rb +155 -0
- data/{opals/opal/opal → gems/core}/spec/language/while_spec.rb +47 -47
- data/{opals/opal/opal → gems/core}/spec/spec_helper.rb +1 -1
- data/gems/core_fs/README.md +19 -0
- data/gems/dev/Rakefile +5 -0
- data/gems/dev/lib/dev.js +99 -0
- data/gems/dev/lib/dev/generator.js +1264 -0
- data/gems/dev/lib/dev/parser.js +979 -0
- data/gems/dev/lib/dev/ruby_parser.js +1088 -0
- data/gems/dev/lib/dev/ruby_parser.y +1267 -0
- data/gems/dev/lib/dev/string_scanner.js +38 -0
- data/gems/dev/tools/racc2js/README.md +39 -0
- data/gems/dev/tools/racc2js/math_parser.js +222 -0
- data/gems/dev/tools/racc2js/math_parser.rb +133 -0
- data/gems/dev/tools/racc2js/math_parser.y +28 -0
- data/gems/dev/tools/racc2js/parser.js +218 -0
- data/gems/dev/tools/racc2js/racc2js.rb +153 -0
- data/gems/json/README.md +4 -0
- data/gems/json/json.gemspec +14 -0
- data/gems/json/lib/json.rb +64 -0
- data/gems/json/lib/json/ext.rb +51 -0
- data/{opals/opal/browser/lib/browser/json_parse.js → gems/json/lib/json/json2.js} +197 -37
- data/gems/ospec/README.md +0 -0
- data/gems/ospec/lib/ospec.rb +6 -0
- data/gems/ospec/lib/ospec/autorun.rb +3 -0
- data/gems/ospec/lib/ospec/dsl.rb +15 -0
- data/gems/ospec/lib/ospec/example.rb +11 -0
- data/gems/ospec/lib/ospec/example/before_and_after_hooks.rb +56 -0
- data/gems/ospec/lib/ospec/example/errors.rb +17 -0
- data/gems/ospec/lib/ospec/example/example_group.rb +12 -0
- data/gems/ospec/lib/ospec/example/example_group_factory.rb +21 -0
- data/gems/ospec/lib/ospec/example/example_group_hierarchy.rb +20 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/example/example_group_methods.rb +26 -68
- data/gems/ospec/lib/ospec/example/example_group_proxy.rb +14 -0
- data/gems/ospec/lib/ospec/example/example_methods.rb +46 -0
- data/gems/ospec/lib/ospec/example/example_proxy.rb +18 -0
- data/gems/ospec/lib/ospec/expectations.rb +19 -0
- data/gems/ospec/lib/ospec/expectations/errors.rb +8 -0
- data/gems/ospec/lib/ospec/expectations/fail_with.rb +8 -0
- data/gems/ospec/lib/ospec/expectations/handler.rb +27 -0
- data/gems/ospec/lib/ospec/matchers.rb +24 -0
- data/{opals/opal/Rakefile → gems/ospec/lib/ospec/matchers/be.rb} +0 -0
- data/gems/ospec/lib/ospec/matchers/generated_descriptions.rb +20 -0
- data/gems/ospec/lib/ospec/matchers/operator_matcher.rb +52 -0
- data/gems/ospec/lib/ospec/runner.rb +40 -0
- data/gems/ospec/lib/ospec/runner/example_group_runner.rb +44 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/formatter/html_formatter.rb +31 -40
- data/gems/ospec/lib/ospec/runner/formatter/terminal_formatter.rb +48 -0
- data/gems/ospec/lib/ospec/runner/options.rb +36 -0
- data/{opals/opal/spec/lib/spec → gems/ospec/lib/ospec}/runner/reporter.rb +23 -55
- data/gems/ospec/ospec.gemspec +0 -0
- data/gems/rquery/README.md +9 -0
- data/gems/rquery/lib/rquery.rb +10 -0
- data/gems/rquery/lib/rquery/ajax.rb +4 -0
- data/gems/rquery/lib/rquery/css.rb +96 -0
- data/gems/rquery/lib/rquery/document.rb +25 -0
- data/gems/rquery/lib/rquery/element.rb +292 -0
- data/gems/rquery/lib/rquery/event.rb +108 -0
- data/gems/rquery/lib/rquery/jquery.js +8177 -0
- data/gems/rquery/lib/rquery/request.rb +138 -0
- data/gems/rquery/lib/rquery/response.rb +49 -0
- data/gems/rquery/rquery.gemspec +16 -0
- data/lib/opal.js +1597 -0
- data/lib/opal.rb +6 -69
- data/lib/opal/builder.rb +115 -0
- data/lib/opal/bundle.rb +131 -0
- data/lib/opal/command.rb +11 -0
- data/lib/opal/context.rb +69 -0
- data/lib/opal/context/console.rb +12 -0
- data/lib/opal/context/file_system.rb +19 -0
- data/lib/opal/context/loader.rb +117 -0
- data/lib/opal/gem.rb +153 -0
- data/lib/opal/ruby/nodes.rb +1302 -0
- data/lib/opal/ruby/parser.rb +780 -0
- data/lib/opal/ruby/ruby_parser.rb +5170 -0
- data/lib/opal/ruby/ruby_parser.y +1298 -0
- data/opal.gemspec +11 -256
- metadata +179 -240
- data/.gitmodules +0 -6
- data/Opalfile +0 -384
- data/VERSION +0 -1
- data/demos/apps/browser_demo/index.html +0 -11
- data/demos/apps/browser_demo/lib/browser_demo.rb +0 -31
- data/demos/apps/simple_opal/Opalfile +0 -13
- data/demos/apps/simple_opal/index.html +0 -11
- data/demos/apps/simple_opal/lib/app_controller.rb +0 -62
- data/demos/apps/simple_opal/lib/main_window.rb +0 -146
- data/demos/browser/request/index.html +0 -52
- data/demos/browser/request/request.rb +0 -48
- data/gen/browser/__PROJECT_NAME__/Rakefile +0 -12
- data/gen/browser/__PROJECT_NAME__/index.html +0 -11
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.debug.js +0 -4687
- data/gen/browser/__PROJECT_NAME__/javascripts/opal.min.js +0 -175
- data/gen/browser/__PROJECT_NAME__/lib/__PROJECT_NAME__.rb +0 -1
- data/lib/opal/builders/base.rb +0 -50
- data/lib/opal/builders/css.rb +0 -46
- data/lib/opal/builders/javascript.rb +0 -44
- data/lib/opal/builders/opal.rb +0 -79
- data/lib/opal/builders/ruby.rb +0 -50
- data/lib/opal/builders/ruby/generate.rb +0 -1851
- data/lib/opal/builders/ruby/nodes.rb +0 -210
- data/lib/opal/builders/ruby/ruby.rb +0 -916
- data/lib/opal/builders/ruby/ruby_parser.rb +0 -6008
- data/lib/opal/builders/ruby/ruby_parser.rb.y +0 -1451
- data/lib/opal/models/build_item.rb +0 -104
- data/lib/opal/models/hash_struct.rb +0 -40
- data/lib/opal/models/project.rb +0 -252
- data/lib/opal/models/struct_accessors.rb +0 -58
- data/lib/opal/models/target.rb +0 -176
- data/lib/opal/opal/build.rb +0 -169
- data/lib/opal/opal/env/console.rb +0 -66
- data/lib/opal/opal/env/fs.rb +0 -98
- data/lib/opal/opal/env/object.rb +0 -48
- data/lib/opal/opal/environment.rb +0 -139
- data/lib/opal/opal/gen.rb +0 -62
- data/lib/opal/opal/opal.rb +0 -75
- data/lib/opal/opal/repl.rb +0 -38
- data/lib/opal/opalfile/dsl.rb +0 -62
- data/lib/opal/opalfile/opalfile.rb +0 -133
- data/lib/opal/opalfile/task.rb +0 -96
- data/lib/opal/opalfile/task_manager.rb +0 -63
- data/lib/opal/opalfile/task_scope.rb +0 -52
- data/lib/opal/rack/app_server.rb +0 -119
- data/lib/opal/rake/opal_task.rb +0 -34
- data/opals/opal/README.md +0 -37
- data/opals/opal/browser/Opalfile +0 -11
- data/opals/opal/browser/README.md +0 -146
- data/opals/opal/browser/SIZZLE_LICESNSE.txt +0 -148
- data/opals/opal/browser/lib/browser.rb +0 -118
- data/opals/opal/browser/lib/browser/builder.rb +0 -41
- data/opals/opal/browser/lib/browser/canvas_context.rb +0 -115
- data/opals/opal/browser/lib/browser/dimensions.rb +0 -50
- data/opals/opal/browser/lib/browser/document.rb +0 -146
- data/opals/opal/browser/lib/browser/element.rb +0 -487
- data/opals/opal/browser/lib/browser/element/attributes.rb +0 -88
- data/opals/opal/browser/lib/browser/element/css.rb +0 -290
- data/opals/opal/browser/lib/browser/element/form.rb +0 -146
- data/opals/opal/browser/lib/browser/event/dom_events.rb +0 -81
- data/opals/opal/browser/lib/browser/event/event.rb +0 -177
- data/opals/opal/browser/lib/browser/event/trigger_events.rb +0 -53
- data/opals/opal/browser/lib/browser/geometry.rb +0 -97
- data/opals/opal/browser/lib/browser/json.rb +0 -32
- data/opals/opal/browser/lib/browser/request/request.rb +0 -201
- data/opals/opal/browser/lib/browser/sizzle.js +0 -1068
- data/opals/opal/browser/lib/browser/string.rb +0 -42
- data/opals/opal/browser/lib/browser/touch.rb +0 -37
- data/opals/opal/browser/lib/browser/vml_context.js +0 -33
- data/opals/opal/browser/lib/browser/window.rb +0 -36
- data/opals/opal/browser/spec/browser/browser_detection_spec.rb +0 -7
- data/opals/opal/browser/spec/document/aref_spec.rb +0 -110
- data/opals/opal/browser/spec/document/ready_spec.rb +0 -16
- data/opals/opal/browser/spec/element/body_spec.rb +0 -11
- data/opals/opal/browser/spec/element/clear_spec.rb +0 -26
- data/opals/opal/browser/spec/element/empty_spec.rb +0 -29
- data/opals/opal/browser/spec/element/has_class_spec.rb +0 -40
- data/opals/opal/browser/spec/element/hidden_spec.rb +0 -23
- data/opals/opal/browser/spec/element/hide_spec.rb +0 -31
- data/opals/opal/browser/spec/element/remove_spec.rb +0 -25
- data/opals/opal/browser/spec/element/show_spec.rb +0 -31
- data/opals/opal/browser/spec/element/style_spec.rb +0 -69
- data/opals/opal/browser/spec/element/toggle_spec.rb +0 -31
- data/opals/opal/browser/spec/element/visible_spec.rb +0 -23
- data/opals/opal/browser/spec/spec_helper.rb +0 -1
- data/opals/opal/opal/Opalfile +0 -14
- data/opals/opal/opal/spec/core/array/compact_spec.rb +0 -15
- data/opals/opal/opal/spec/fixtures/super.rb +0 -70
- data/opals/opal/opal/spec/language/____temp_remove_this.rb +0 -12
- data/opals/opal/opal/spec/language/block_spec.rb +0 -18
- data/opals/opal/opal/spec/language/case_spec.rb +0 -103
- data/opals/opal/opal/spec/language/metaclass_spec.rb +0 -21
- data/opals/opal/opal/spec/language/super_spec.rb +0 -26
- data/opals/opal/runtime/Opalfile +0 -78
- data/opals/opal/runtime/README.md +0 -12
- data/opals/opal/runtime/docs/debugging.md +0 -51
- data/opals/opal/runtime/lib/array.rb +0 -1516
- data/opals/opal/runtime/lib/basic_object.rb +0 -49
- data/opals/opal/runtime/lib/class.rb +0 -54
- data/opals/opal/runtime/lib/dir.rb +0 -36
- data/opals/opal/runtime/lib/error.rb +0 -49
- data/opals/opal/runtime/lib/false_class.rb +0 -52
- data/opals/opal/runtime/lib/file.rb +0 -79
- data/opals/opal/runtime/lib/hash.rb +0 -791
- data/opals/opal/runtime/lib/io.rb +0 -39
- data/opals/opal/runtime/lib/kernel.rb +0 -288
- data/opals/opal/runtime/lib/match_data.rb +0 -36
- data/opals/opal/runtime/lib/module.rb +0 -109
- data/opals/opal/runtime/lib/nil_class.rb +0 -69
- data/opals/opal/runtime/lib/number.rb +0 -398
- data/opals/opal/runtime/lib/proc.rb +0 -77
- data/opals/opal/runtime/lib/range.rb +0 -63
- data/opals/opal/runtime/lib/regexp.rb +0 -111
- data/opals/opal/runtime/lib/ruby.rb +0 -30
- data/opals/opal/runtime/lib/string.rb +0 -328
- data/opals/opal/runtime/lib/symbol.rb +0 -40
- data/opals/opal/runtime/lib/top_self.rb +0 -33
- data/opals/opal/runtime/lib/true_class.rb +0 -45
- data/opals/opal/runtime/runtime/browser.js +0 -287
- data/opals/opal/runtime/runtime/debug.js +0 -180
- data/opals/opal/runtime/runtime/opal.js +0 -1008
- data/opals/opal/runtime/runtime/post_opal.js +0 -1
- data/opals/opal/runtime/runtime/pre_opal.js +0 -2
- data/opals/opal/runtime/runtime/server_side.js +0 -50
- data/opals/opal/spec/LICENSE.txt +0 -26
- data/opals/opal/spec/Opalfile +0 -5
- data/opals/opal/spec/bin/spec.rb +0 -43
- data/opals/opal/spec/lib/spec.rb +0 -33
- data/opals/opal/spec/lib/spec/dsl.rb +0 -41
- data/opals/opal/spec/lib/spec/example.rb +0 -35
- data/opals/opal/spec/lib/spec/example/before_and_after_hooks.rb +0 -81
- data/opals/opal/spec/lib/spec/example/errors.rb +0 -42
- data/opals/opal/spec/lib/spec/example/example_group.rb +0 -37
- data/opals/opal/spec/lib/spec/example/example_group_factory.rb +0 -43
- data/opals/opal/spec/lib/spec/example/example_group_hierarchy.rb +0 -45
- data/opals/opal/spec/lib/spec/example/example_group_proxy.rb +0 -41
- data/opals/opal/spec/lib/spec/example/example_methods.rb +0 -73
- data/opals/opal/spec/lib/spec/example/example_proxy.rb +0 -48
- data/opals/opal/spec/lib/spec/expectations.rb +0 -46
- data/opals/opal/spec/lib/spec/expectations/errors.rb +0 -35
- data/opals/opal/spec/lib/spec/expectations/fail_with.rb +0 -37
- data/opals/opal/spec/lib/spec/expectations/handler.rb +0 -48
- data/opals/opal/spec/lib/spec/matchers.rb +0 -50
- data/opals/opal/spec/lib/spec/matchers/be.rb +0 -26
- data/opals/opal/spec/lib/spec/matchers/generated_descriptions.rb +0 -47
- data/opals/opal/spec/lib/spec/matchers/operator_matcher.rb +0 -66
- data/opals/opal/spec/lib/spec/runner.rb +0 -48
- data/opals/opal/spec/lib/spec/runner/example_group_runner.rb +0 -71
- data/opals/opal/spec/lib/spec/runner/formatter/terminal_formatter.rb +0 -82
- data/opals/opal/spec/lib/spec/runner/options.rb +0 -63
- data/opals/opal/spec/resources/index.html +0 -25
- data/opals/opal/spec/resources/spec.css +0 -132
- data/spec/cherry_kit/iseq_spec.rb +0 -38
- data/spec/spec_helper.rb +0 -16
- data/spec/vienna_spec.rb +0 -7
- data/yard/index.html +0 -43
- data/yard/style.css +0 -765
data/.gitmodules
DELETED
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,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
|
-
|