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.
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/kitchen/platform.rb', line 40 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.
27 28 29 |
# File 'lib/kitchen/platform.rb', line 27 def name @name end |
#os_type ⇒ String (readonly)
Returns operating system type hint (default: ‘“unix”`).
30 31 32 |
# File 'lib/kitchen/platform.rb', line 30 def os_type @os_type end |
#shell_type ⇒ String (readonly)
Returns shell command flavor hint (default: ‘“bourne”`).
33 34 35 |
# File 'lib/kitchen/platform.rb', line 33 def shell_type @shell_type end |
Instance Method Details
#diagnose ⇒ Hash
Returns a Hash of configuration and other useful diagnostic information.
61 62 63 |
# File 'lib/kitchen/platform.rb', line 61 def diagnose { os_type: os_type, shell_type: shell_type } end |
#windows?(options) ⇒ Boolean
52 53 54 55 56 |
# File 'lib/kitchen/platform.rb', line 52 def windows?() @name.downcase =~ /^win/ || ( ![:transport].nil? && [:transport][:name] == "winrm" ) end |