Module: Generic

Instance Method Summary collapse

Instance Method Details

#check_valid_json(json) ⇒ Object

Check if entry is a valid JSON string



60
61
62
63
64
# File 'lib/ruby-kubernetes-controller/generic.rb', line 60

def check_valid_json(json)
  !!JSON.parse(json)
rescue JSON::ParserError => _e
  false
end

#prepareGenericRequest(uri, bearer_token, type) ⇒ Object

Prepare a Generic Request Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/ruby-kubernetes-controller/generic.rb', line 23

def prepareGenericRequest(uri, bearer_token, type)
  if type == "GET"
    request = Net::HTTP::Get.new(uri)
  elsif type == "PATCH"
    request = Net::HTTP::Patch.new(uri)
  elsif type == "PUT"
    request = Net::HTTP::Put.new(uri)
  elsif type == "POST"
    request = Net::HTTP::Post.new(uri)
  elsif type == "DELETE"
    request = Net::HTTP::Delete.new(uri)
  else
    request = Net::HTTP::Get.new(uri)
  end
  request["Authorization"] = "Bearer #{bearer_token}"
  request["Accept"] = "application/json"

  request
end

#prepareGenericRequestOptions(ssl, uri) ⇒ Object

Prepare a Generic Request Options Object



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/ruby-kubernetes-controller/generic.rb', line 44

def prepareGenericRequestOptions(ssl, uri)
  if !ssl
    req_options = {
        use_ssl: uri.scheme == "https",
        verify_mode: OpenSSL::SSL::VERIFY_NONE,
    }
  else
    req_options = {
        use_ssl: uri.scheme == "https",
    }
  end

  req_options
end

#prepareURI(endpoint, extension) ⇒ Object

Create a URI Object



10
11
12
# File 'lib/ruby-kubernetes-controller/generic.rb', line 10

def prepareURI(endpoint, extension)
  URI.parse("https://#{endpoint}#{extension}")
end

#prepareURIWithParams(endpoint, extension, params) ⇒ Object

Create a URI Object with params



15
16
17
18
19
20
# File 'lib/ruby-kubernetes-controller/generic.rb', line 15

def prepareURIWithParams(endpoint, extension, params)
  uri = URI.parse("https://#{endpoint}#{extension}")
  uri.query = URI.encode_www_form(params)
  
  uri
end

#yaml_file_to_json(yaml_file) ⇒ Object

Convert Yaml File to JSON



67
68
69
70
71
72
73
74
75
76
77
# File 'lib/ruby-kubernetes-controller/generic.rb', line 67

def yaml_file_to_json(yaml_file)
  if !check_valid_json(yaml_file)
    if yaml_file != ''
      JSON.pretty_generate(YAML.load(open(yaml_file).read))
    else
      ''
    end
  else
    raise 'JSON entered instead of yaml file for a yaml client'
  end
end