Class: HammerCLICsv::HeadpinApi

Inherits:
Object
  • Object
show all
Defined in:
lib/hammer_cli_csv/headpin_api.rb

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ HeadpinApi

Returns a new instance of HeadpinApi.



16
17
18
19
20
# File 'lib/hammer_cli_csv/headpin_api.rb', line 16

def initialize(config)
  @server = config[:server]
  @username = config[:username]
  @password = config[:password]
end

Instance Method Details

#content_view(id) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/hammer_cli_csv/headpin_api.rb', line 49

def content_view(id)
  @content_views ||= {}
  content_view = @content_views[id]
  if content_view.nil?
    content_view = get("content_views/#{id}")
    raise content_view['displayMessage'] if content_view['displayMessage']
    @content_views[id] = content_view
  end

  return content_view
end

#environment(id) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
# File 'lib/hammer_cli_csv/headpin_api.rb', line 37

def environment(id)
  @environments ||= {}
  environment = @environments[id]
  if environment.nil?
    environment = get("environments/#{id}")
    raise environment['displayMessage'] if environment['displayMessage']
    @environments[id] = environment
  end

  return environment
end

#get(name) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/hammer_cli_csv/headpin_api.rb', line 22

def get(name)
  url = "#{@server}/api/#{name}"
  uri = URI(url)
  nethttp = Net::HTTP.new(uri.host, uri.port)
  nethttp.use_ssl = uri.scheme == 'https'
  nethttp.verify_mode = OpenSSL::SSL::VERIFY_NONE
  results = nethttp.start do |http|
    request = Net::HTTP::Get.new uri.request_uri
    request.basic_auth(@username, @password)
    response = http.request(request)
    JSON.parse(response.body)
  end
  results
end