class Object
Public Instance Methods
check_supports_spaces(server_url)
click to toggle source
# File lib/octopus_serverspec_extensions.rb, line 77 def check_supports_spaces(server_url) begin resp = Net::HTTP.get_response(URI.parse("#{server_url}/api/")) body = JSON.parse(resp.body) version = body['Version'] return Gem::Version.new(version) > Gem::Version.new('2019.0.0') rescue => e raise "check_supports_spaces: Unable to connect to #{server_url}: #{e}" end end
get_env_var(name)
click to toggle source
# File lib/octopus_serverspec_extensions.rb, line 26 def get_env_var(name) raise 'unexpected env var' if name != 'OCTOPUS_CLI_API_KEY' && name != 'OCTOPUS_CLI_SERVER' raise "env var #{name} not found" if ENV[name].nil? ENV[name] end
get_octopus_api_key(api_key)
click to toggle source
# File lib/octopus_serverspec_extensions.rb, line 41 def get_octopus_api_key(api_key) # returns the api key or nil if api_key.nil? api_key = get_env_var('OCTOPUS_CLI_API_KEY') end api_key end
get_octopus_creds(args)
click to toggle source
# File lib/octopus_serverspec_extensions.rb, line 50 def get_octopus_creds(args) server = args[0] api_key = args[1] if args.length != 0 && args.length != 2 raise "Supplied credentials invalid. Expected: [url, api_key] Received: #{args}" end if server.nil? server = get_env_var('OCTOPUS_CLI_SERVER') end if api_key.nil? api_key = get_env_var('OCTOPUS_CLI_API_KEY') end # are they still nil? raise an error if api_key.nil? or server.nil? raise "Supplied credentials invalid. One or more of [server, api_key] was null. " + "If you intended to use Environment Variables, please check the value of OCTOPUS_CLI_SERVER and OCTOPUS_CLI_API_KEY" end server = server.chomp("/") # remove the trailing slash if it exists [server, api_key] end
get_octopus_url(server_url)
click to toggle source
# File lib/octopus_serverspec_extensions.rb, line 32 def get_octopus_url(server_url) # returns the url or nil if server_url.nil? server_url = get_env_var('OCTOPUS_CLI_SERVER') end server_url end
get_version(file)
click to toggle source
# File lib/octopus_serverspec_extensions/matcher/have_version.rb, line 15 def get_version(file) version_dll = Fiddle.dlopen('version.dll') s='' vsize = Fiddle::Function.new(version_dll['GetFileVersionInfoSize'], [Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP], Fiddle::TYPE_LONG).call(file.name, s) raise 'Unable to determine the version number' unless vsize > 0 result = ' '*vsize Fiddle::Function.new(version_dll['GetFileVersionInfo'], [Fiddle::TYPE_VOIDP, Fiddle::TYPE_LONG, Fiddle::TYPE_LONG, Fiddle::TYPE_VOIDP], Fiddle::TYPE_VOIDP).call(file.name, 0, vsize, result) rstring = result.unpack('v*').map{|s| s.chr if s<256}*'' r = /FileVersion..(.*?)\000/.match(rstring) r[1] end