Class: Kitchen::Platform
- Inherits:
-
Object
- Object
- Kitchen::Platform
- Defined in:
- lib/kitchen/platform.rb
Overview
A target operating system environment in which convergence integration will take place. This may represent a specific operating system, version, and machine architecture.
Instance Attribute Summary collapse
-
#name ⇒ String
readonly
Logical name of this platform.
-
#os_type ⇒ String
readonly
Operating system type hint (default: ‘“unix”`).
-
#shell_type ⇒ String
readonly
Shell command flavor hint (default: ‘“bourne”`).
Instance Method Summary collapse
-
#diagnose ⇒ Hash
Returns a Hash of configuration and other useful diagnostic information.
-
#initialize(options = {}) ⇒ Platform
constructor
Constructs a new platform.
- #windows?(options) ⇒ Boolean
Constructor Details
#initialize(options = {}) ⇒ Platform
Constructs a new platform.
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/kitchen/platform.rb', line 39 def initialize( = {}) @name = .fetch(:name) do raise ClientError, "Platform#new requires option :name" end @os_type = .fetch(:os_type) do windows?() ? "windows" : "unix" end @shell_type = .fetch(:shell_type) do windows?() ? "powershell" : "bourne" end end |
Instance Attribute Details
#name ⇒ String (readonly)
Returns logical name of this platform.
26 27 28 |
# File 'lib/kitchen/platform.rb', line 26 def name @name end |
#os_type ⇒ String (readonly)
Returns operating system type hint (default: ‘“unix”`).
29 30 31 |
# File 'lib/kitchen/platform.rb', line 29 def os_type @os_type end |
#shell_type ⇒ String (readonly)
Returns shell command flavor hint (default: ‘“bourne”`).
32 33 34 |
# File 'lib/kitchen/platform.rb', line 32 def shell_type @shell_type end |
Instance Method Details
#diagnose ⇒ Hash
Returns a Hash of configuration and other useful diagnostic information.
60 61 62 |
# File 'lib/kitchen/platform.rb', line 60 def diagnose { os_type:, shell_type: } end |
#windows?(options) ⇒ Boolean
51 52 53 54 55 |
# File 'lib/kitchen/platform.rb', line 51 def windows?() @name.downcase =~ /^win/ || ( ![:transport].nil? && [:transport][:name] == "winrm" ) end |