Class: Train::Transports::Mock::Connection
- Inherits:
-
BaseConnection
- Object
- BaseConnection
- Train::Transports::Mock::Connection
- Defined in:
- lib/train/transports/mock.rb,
lib/train/transports/mock.rb,
lib/train/transports/mock.rb
Defined Under Namespace
Instance Method Summary collapse
- #command_not_found(cmd) ⇒ Object
- #commands ⇒ Object
- #commands=(commands) ⇒ Object
- #file_not_found(path) ⇒ Object
- #files ⇒ Object
- #files=(files) ⇒ Object
-
#initialize(conf = nil) ⇒ Connection
constructor
A new instance of Connection.
- #mock_command(cmd, stdout = nil, stderr = nil, exit_status = 0) ⇒ Object
- #mock_os(value = {}) ⇒ Object
- #to_s ⇒ Object
- #uri ⇒ Object
Constructor Details
#initialize(conf = nil) ⇒ Connection
Returns a new instance of Connection.
60 61 62 63 64 65 |
# File 'lib/train/transports/mock.rb', line 60 def initialize(conf = nil) super(conf) mock_os enable_cache(:file) enable_cache(:command) end |
Instance Method Details
#command_not_found(cmd) ⇒ Object
104 105 106 107 108 109 110 111 112 |
# File 'lib/train/transports/mock.rb', line 104 def command_not_found(cmd) if @options[:verbose] STDERR.puts('Command not mocked:') STDERR.puts(' '+cmd.to_s.split("\n").join("\n ")) STDERR.puts(' SHA: ' + Digest::SHA256.hexdigest(cmd.to_s)) end # return a non-zero exit code mock_command(cmd, nil, nil, 1) end |
#commands ⇒ Object
88 89 90 |
# File 'lib/train/transports/mock.rb', line 88 def commands @cache[:command] end |
#commands=(commands) ⇒ Object
84 85 86 |
# File 'lib/train/transports/mock.rb', line 84 def commands=(commands) @cache[:command] = commands end |
#file_not_found(path) ⇒ Object
114 115 116 117 |
# File 'lib/train/transports/mock.rb', line 114 def file_not_found(path) STDERR.puts('File not mocked: '+path.to_s) if @options[:verbose] File.new(self, path) end |
#files ⇒ Object
96 97 98 |
# File 'lib/train/transports/mock.rb', line 96 def files @cache[:file] end |
#files=(files) ⇒ Object
92 93 94 |
# File 'lib/train/transports/mock.rb', line 92 def files=(files) @cache[:file] = files end |
#mock_command(cmd, stdout = nil, stderr = nil, exit_status = 0) ⇒ Object
100 101 102 |
# File 'lib/train/transports/mock.rb', line 100 def mock_command(cmd, stdout = nil, stderr = nil, exit_status = 0) @cache[:command][cmd] = Command.new(stdout || '', stderr || '', exit_status) end |
#mock_os(value = {}) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/train/transports/mock.rb', line 71 def mock_os(value = {}) # if a user passes a nil value, set to an empty hash so the merge still succeeds value ||= {} value.each { |k, v| value[k] = 'unknown' if v.nil? } value = { name: 'mock', family: 'mock', release: 'unknown', arch: 'unknown' }.merge(value) platform = Train::Platforms.name(value[:name]) platform.family_hierarchy = family_hierarchy(platform).flatten platform.platform = value platform.add_platform_methods @platform = platform end |
#to_s ⇒ Object
119 120 121 |
# File 'lib/train/transports/mock.rb', line 119 def to_s 'Mock Connection' end |
#uri ⇒ Object
67 68 69 |
# File 'lib/train/transports/mock.rb', line 67 def uri 'mock://' end |