/usr/lib/ruby/vendor_ruby/aruba/runtime.rb is in ruby-aruba 0.14.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | require 'aruba/config'
require 'aruba/aruba_path'
require 'aruba/config_wrapper'
require 'aruba/events'
require 'aruba/event_bus'
module Aruba
# Runtime of aruba
#
# Most methods are considered private. Please look for `(private)` in the
# attribute descriptions. Only a few like `#current_directory`,
# '#root_directory` and `#config` are considered to be part of the public
# API.
class Runtime
# @!attribute [r] current_directory
# Returns the current working directory
#
# @!attribute [r] root_directory
# Returns the root directory of aruba
attr_reader :current_directory, :root_directory
# @!attribute [r] config
# Access configuration of aruba
#
# @!attribute [r] environment
# Access environment of aruba (private)
#
# @!attribute [r] logger
# Logger of aruba (private)
#
# @!attribute [r] command_monitor
# Handler started commands (private)
#
# @!attribute [r] announcer
# Announce information
#
# @!attribute [r] event_bus
# Handle events (private)
#
attr_accessor :config, :environment, :logger, :command_monitor, :announcer, :event_bus
def initialize(opts = {})
@event_bus = EventBus.new(EventBus::NameResolver.new(Aruba::Events))
@announcer = opts.fetch(:announcer, Aruba.platform.announcer.new)
@config = opts.fetch(:config, ConfigWrapper.new(Aruba.config.make_copy, @event_bus))
@environment = opts.fetch(:environment, Aruba.platform.environment_variables.new)
@current_directory = ArubaPath.new(@config.working_directory)
@root_directory = ArubaPath.new(@config.root_directory)
@environment.update(@config.command_runtime_environment)
@command_monitor = if Aruba::VERSION < '1'
opts.fetch(:command_monitor, Aruba.platform.command_monitor.new(:announcer => @announcer))
else
opts.fetch(:command_monitor, Aruba.platform.command_monitor.new)
end
@logger = opts.fetch(:logger, Aruba.platform.logger.new)
@logger.mode = @config.log_level
@setup_done = false
end
# @private
#
# Setup of aruba is finshed. Should be used only internally.
def setup_done
@setup_done = true
end
# @private
#
# Has aruba already been setup. Should be used only internally.
def setup_already_done?
@setup_done == true
end
# The path to the directory which contains fixtures
# You might want to overwrite this method to place your data else where.
#
# @return [ArubaPath]
# The directory to where your fixtures are stored
def fixtures_directory
unless @fixtures_directory
candidates = config.fixtures_directories.map { |dir| File.join(root_directory, dir) }
@fixtures_directory = candidates.find { |d| Aruba.platform.directory? d }
fail "No existing fixtures directory found in #{candidates.map { |d| format('"%s"', d) }.join(', ')}. " unless @fixtures_directory
end
fail %(Fixtures directory "#{@fixtures_directory}" is not a directory) unless Aruba.platform.directory?(@fixtures_directory)
ArubaPath.new(@fixtures_directory)
end
end
end
|