Module: DisqusRails::Api

Defined in:
lib/disqus_rails/api.rb

Class Method Summary collapse

Class Method Details

.get(args, url) ⇒ Object



55
56
57
58
59
60
61
# File 'lib/disqus_rails/api.rb', line 55

def get(args, url)
  populated_url = url + '?'
  args.each{ |k, v| populated_url += "#{k}=#{v}&" }
  url.chomp('&')

  parse_response JSON.parse( open(populated_url){ |u| u.read } ).symbolize_keys
end

.parse_response(response) ⇒ Object



46
47
48
49
50
51
52
53
# File 'lib/disqus_rails/api.rb', line 46

def parse_response(response)
  if response[:code] > 0
    raise "Error, Disqus responsed with code #{response[:code]} - #{response[:response]}"
  else
    response.delete(:code)
    response
  end
end

.post(args, url) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/disqus_rails/api.rb', line 63

def post(args, url)
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Post.new(url)
  request.add_field('Content-Type', 'application/json')
  params_string = args.inject(""){|params_string, (param_name, param_value)| params_string += "#{param_name}=#{param_value}&" }
  request.body = params_string

  parse_response JSON.parse(http.request(request).body).symbolize_keys
end