Module: Opal::RSpec

Defined in:
lib/opal/rspec.rb,
lib/opal/rspec/util.rb,
lib/opal/rspec/runner.rb,
lib/opal/rspec/locator.rb,
lib/opal/rspec/version.rb,
lib/opal/rspec/rake_task.rb,
lib/opal/rspec/cached_environment.rb,
lib/opal/rspec/project_initializer.rb,
lib/opal/rspec/configuration_parser.rb,
lib/opal/rspec/sprockets_environment.rb

Defined Under Namespace

Modules: Core, Support Classes: CachedEnvironment, Locator, ProjectInitializer, RakeTask, Runner, SprocketsEnvironment

Constant Summary collapse

VERSION =
'1.1.0.alpha3'

Class Method Summary collapse

Class Method Details

.convert_spec_opts(opts) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/opal/rspec.rb', line 22

def self.convert_spec_opts(opts)
  opts ||= ENV['SPEC_OPTS'] || {}

  unless opts.is_a? Hash
    opts = Shellwords.split(opts) if opts.is_a? String
    opts = Opal::RSpec::Core::Parser.parse(opts || [])
  end

  opts
end

.load_namespaced(file, mod) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/opal/rspec/util.rb', line 3

def self.load_namespaced(file, mod)
  if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.1")
    load file, mod
  else
    str = ""
    str += "module ::#{mod.name};"
    str += File.read(file)
    str += ";end"
    eval(str)
  end
end

.spec_opts_code(spec_opts) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/opal/rspec.rb', line 33

def self.spec_opts_code(spec_opts)
  spec_opts = convert_spec_opts(spec_opts)

  code = []
  code << '# await: true'

  # New API - passthru options
  spec_opts[:files_or_directories_to_run] ||= []

  code << "$rspec_opts = #{spec_opts.inspect}"
  code << "$0 = 'opal-rspec'"

  code << '::RSpec::Core::Runner.invoke.__await__'
  code.join("\n")
end