class RSpec::Bash::ScriptGenerator

Constants

NOOP
SCRIPTS
SPIES
STUBS

Public Class Methods

generate(script) click to toggle source
# File lib/rspec/bash/script_generator.rb, line 34
def self.generate(script)
  buffer = ""
  buffer << "builtin . '#{SCRIPTS[:controller]}'\n"
  buffer << "builtin . '#{SCRIPTS[:conditionals]}'\n" if script.has_conditional_stubs?
  buffer << "\n"

  script.stubs.keys.each do |name|
    stub_def = script.stubs[name]

    if stub_def[:call_original] then
      buffer << SPIES[:builtin].call(name)
    elsif stub_def[:subshell] == false then
      buffer << STUBS[:function].call(name)
    else
      buffer << STUBS[:function_in_subshell].call(name)
    end
  end

  buffer << "\n"
  buffer << script.source
  buffer
end