add Script class

This commit is contained in:
Josh Holtrop 2018-10-12 17:18:04 -04:00
parent 2f83f36659
commit a649c7f4cb
2 changed files with 28 additions and 0 deletions

View File

@ -4,6 +4,7 @@ require_relative "rscons/builder"
require_relative "rscons/cache"
require_relative "rscons/environment"
require_relative "rscons/job_set"
require_relative "rscons/script"
require_relative "rscons/threaded_command"
require_relative "rscons/varset"
require_relative "rscons/version"

27
lib/rscons/script.rb Normal file
View File

@ -0,0 +1,27 @@
module Rscons
# The Script class encapsulates the state of a build script. It also provides
# the DSL for the build script to use.
class Script
class << self
# Load a script from the specified file.
#
# @param path [String]
# File name of the rscons script to load.
#
# @return [Script]
# The loaded script state.
def load(path)
script_contents = File.read(path, mode: "rb")
script = Script.new
script.instance_eval(script_contents, path, 1)
script
end
end
end
end