Module: Roy::Source

Defined in:
lib/source.rb,
lib/roy_lang.rb

Class Method Summary collapse

Class Method Details

.bare_optionObject



26
27
28
# File 'lib/roy_lang.rb', line 26

def self.bare_option
  @bare_option ||= contents.match(/noWrap/) ? 'noWrap' : 'bare'
end

.bundled_pathObject



3
4
5
# File 'lib/source.rb', line 3

def self.bundled_path
  File.expand_path("../bundled-roy.js", __FILE__)
end

.contentsObject



18
19
20
# File 'lib/roy_lang.rb', line 18

def self.contents
  @contents ||= File.read(path)
end

.contextObject



30
31
32
# File 'lib/roy_lang.rb', line 30

def self.context
  @context ||= ExecJS.compile(contents)
end

.pathObject



9
10
11
# File 'lib/roy_lang.rb', line 9

def self.path
  @path ||= ENV['ROY_SOURCE_PATH'] || bundled_path
end

.path=(path) ⇒ Object



13
14
15
16
# File 'lib/roy_lang.rb', line 13

def self.path=(path)
  @contents = @version = @context = nil
  @path = path
end

.versionObject



22
23
24
# File 'lib/roy_lang.rb', line 22

def self.version
  @version ||= contents[/Roy v([\d.]+)/, 1]
end