Class: OSCRuby::Connect

Inherits:
Object
  • Object
show all
Defined in:
lib/osc_ruby/connect.rb

Class Method Summary collapse

Class Method Details

.check_client_config(client) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/osc_ruby/connect.rb', line 57

def self.check_client_config(client)

  if client.nil?
    raise ArgumentError, "Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings"
  else
    @config = client.config
  end

  if @config.nil?
    raise ArgumentError, "Client configuration cannot be nil or blank"  
  elsif @config.interface.nil?
    raise ArgumentError, "The configured client interface cannot be nil or blank" 
  elsif @config.username.nil?
    raise ArgumentError, "The configured client username cannot be nil or blank"  
  elsif @config.password.nil?
    raise ArgumentError, "The configured client password cannot be nil or blank"  
  end

end

.generate_url_and_config(client, resource_url = nil) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/osc_ruby/connect.rb', line 39

def self.generate_url_and_config(client,resource_url = nil)

  check_client_config(client)

  @config = client.config

  if !resource_url.nil?
    @resource_url = resource_url
  end

    @url = "https://" + @config.interface + ".custhelp.com/services/rest/connect/v1.3/#{resource_url}"
    
    @final_uri = URI(@url)
    
    @final_config = {'site_url' => @final_uri, 'username' => @config.username, 'password' => @config.password}

end

.get(client, resource_url = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/osc_ruby/connect.rb', line 12

def self.get(client,resource_url = nil)

  if client.nil?
    raise ArgumentError, "Client must have some configuration set; please create an instance of OSCRuby::Client with configuration settings"
  elsif !resource_url.nil?
    @final_config = generate_url_and_config(client,resource_url)
  else
    @final_config = generate_url_and_config(client,nil)
  end

  @uri = @final_config['site_url']
  @username = @final_config['username']
  @password = @final_config['password']

  Net::HTTP.start(@uri.host, @uri.port,
    :use_ssl => true,
    :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |http|

    request = Net::HTTP::Get.new @uri.request_uri
    request.basic_auth @username, @password

    response = http.request request # Net::HTTPResponse object
  end
end