Module: Opal
- Extended by:
- UseGem
- Defined in:
- opal/lib/opal.rb,
opal/lib/opal/cli.rb,
opal/lib/opal/erb.rb,
opal/lib/opal/util.rb,
opal/lib/tilt/opal.rb,
opal/lib/opal/paths.rb,
opal/lib/opal/config.rb,
opal/lib/opal/parser.rb,
opal/lib/opal/builder.rb,
opal/lib/opal/version.rb,
opal/lib/opal/compiler.rb,
opal/lib/opal/fragment.rb,
opal/lib/opal/nodes/if.rb,
opal/lib/opal/nodes/def.rb,
opal/lib/opal/nodes/for.rb,
opal/lib/opal/nodes/top.rb,
opal/lib/opal/sprockets.rb,
opal/lib/opal/nodes/base.rb,
opal/lib/opal/nodes/call.rb,
opal/lib/opal/nodes/case.rb,
opal/lib/opal/nodes/hash.rb,
opal/lib/opal/nodes/iter.rb,
opal/lib/opal/source_map.rb,
opal/lib/opal/cli_options.rb,
opal/lib/opal/cli_runners.rb,
opal/lib/opal/nodes/array.rb,
opal/lib/opal/nodes/class.rb,
opal/lib/opal/nodes/logic.rb,
opal/lib/opal/nodes/masgn.rb,
opal/lib/opal/nodes/scope.rb,
opal/lib/opal/nodes/super.rb,
opal/lib/opal/nodes/while.rb,
opal/lib/opal/nodes/yield.rb,
opal/lib/opal/parser/sexp.rb,
opal/lib/opal/path_reader.rb,
opal/lib/opal/nodes/module.rb,
opal/lib/opal/nodes/rescue.rb,
opal/lib/opal/parser/lexer.rb,
opal/lib/opal/nodes/arglist.rb,
opal/lib/opal/nodes/defined.rb,
opal/lib/opal/nodes/helpers.rb,
opal/lib/opal/nodes/literal.rb,
opal/lib/opal/sprockets/erb.rb,
opal/lib/opal/parser/grammar.rb,
opal/lib/opal/regexp_anchors.rb,
opal/lib/opal/nodes/constants.rb,
opal/lib/opal/nodes/variables.rb,
opal/lib/opal/parser/keywords.rb,
opal/lib/opal/hike_path_finder.rb,
opal/lib/opal/sprockets/server.rb,
opal/lib/opal/nodes/definitions.rb,
opal/lib/opal/builder_processors.rb,
opal/lib/opal/cli_runners/nodejs.rb,
opal/lib/opal/cli_runners/server.rb,
opal/lib/opal/nodes/call_special.rb,
opal/lib/opal/cli_runners/nashorn.rb,
opal/lib/opal/parser/parser_scope.rb,
opal/lib/opal/sprockets/processor.rb,
opal/lib/opal/cli_runners/phantomjs.rb,
opal/lib/opal/nodes/runtime_helpers.rb,
opal/lib/opal/nodes/singleton_class.rb,
opal/lib/opal/sprockets/environment.rb,
opal/lib/opal/sprockets/path_reader.rb,
opal/lib/opal/cli_runners/apple_script.rb,
opal/lib/opal/sprockets/source_map_server.rb,
opal/lib/opal/sprockets/source_map_header_patch.rb
Overview
Opal is a ruby to javascript compiler, with a runtime for running in any JavaScript environment.
Defined Under Namespace
Modules: BuilderProcessors , CliRunners , Config , ERB , Keywords , Nodes , Sprockets , UseGem , Util Classes: Builder , CLI , CLIOptions , Compiler , Environment , Fragment , HikePathFinder , Lexer , Parser , ParserScope , PathReader , Processor , Server , Sexp , SourceMap , SourceMapServer , TiltTemplate
Constant Summary
- VERSION =
WHEN RELEASING: Remember to update RUBY_ENGINE_VERSION in opal/corelib/constants.rb too!
'0.9.2'- REGEXP_START =
RUBY_ENGINE == 'opal' ? '^' : '\A'.freeze
- REGEXP_END =
RUBY_ENGINE == 'opal' ? '$' : '\z'.freeze
Class Method Summary collapse
-
.append_path(path) ⇒ Object
Add a file path to opals load path.
-
.append_paths(*paths) ⇒ Object
Same as #append_path but can take multiple paths.
-
.compile(source, options = {}) ⇒ String
Compile a string of ruby code into javascript.
- .core_dir ⇒ Object
- .gem_dir ⇒ Object
- .paths ⇒ Object
- .process(asset) ⇒ Object deprecated Deprecated.
-
.reset_paths! ⇒ Object
Resets Opal.paths to the default value (includes
corelib,stdlib,opal/lib). - .std_dir ⇒ Object
Methods included from UseGem
Class Method Details
.append_path(path) ⇒ Object
Add a file path to opals load path. Any gem containing ruby code that Opal has access to should add a load path through this method. Load paths added here should only be paths which contain code targeted at being compiled by Opal.
18 19 20
# File 'opal/lib/opal/paths.rb', line 18 def self.append_path(path) append_paths(path) end
.append_paths(*paths) ⇒ Object
Same as #append_path but can take multiple paths.
23 24 25 26
# File 'opal/lib/opal/paths.rb', line 23 def self.append_paths(*paths) @paths.concat(paths) nil end
.compile(source, options = {}) ⇒ String
Compile a string of ruby code into javascript.
Examples:
Opal .compile "ruby_code"
# => "string of javascript code"
Parameters:
-
source
(String)
—
ruby source
-
options
(Hash)
(defaults to: {})
—
compiler options
Returns:
-
(String)
—
javascript code
See Also:
- for compiler options
.core_dir ⇒ Object
6 7 8
# File 'opal/lib/opal/paths.rb', line 6 def self.core_dir File.expand_path('../../../opal', __FILE__.untaint) end
.gem_dir ⇒ Object
2 3 4
# File 'opal/lib/opal/paths.rb', line 2 def self.gem_dir File.expand_path('../..', __FILE__.untaint) end
.paths ⇒ Object
61 62 63
# File 'opal/lib/opal/paths.rb', line 61 def self.paths @paths.dup.freeze end
.process(asset) ⇒ Object
7 8 9
# File 'opal/lib/opal/sprockets/environment.rb', line 7 def self.process asset Environment .new [asset].to_s end
.reset_paths! ⇒ Object
Resets Opal.paths to the default value (includes corelib, stdlib, opal/lib)
66 67 68 69
# File 'opal/lib/opal/paths.rb', line 66 def self.reset_paths! @paths = [core_dir.untaint, std_dir.untaint, gem_dir.untaint] nil end
.std_dir ⇒ Object
10 11 12
# File 'opal/lib/opal/paths.rb', line 10 def self.std_dir File.expand_path('../../../stdlib', __FILE__.untaint) end