Class: Plyushkin::Service::Web

Inherits:
Object
  • Object
show all
Defined in:
lib/plyushkin/service/web.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Web

Returns a new instance of Web.



6
7
8
# File 'lib/plyushkin/service/web.rb', line 6

def initialize(opts={})
  @url = opts.delete(:url)
end

Instance Attribute Details

#urlObject

Returns the value of attribute url.



4
5
6
# File 'lib/plyushkin/service/web.rb', line 4

def url
  @url
end

Instance Method Details

#get(model, id) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/plyushkin/service/web.rb', line 10

def get(model, id)
  uri = URI("#{url}/#{model}/#{id}")
  use_ssl = true if uri.scheme == "https"

  response = Net::HTTP.start(uri.host, uri.port, 
                             :use_ssl => use_ssl) do |http|
    request = Net::HTTP::Get.new(uri.to_s)
    http.request(request)
  end

  JSON.parse(response.body)
end

#put(model, id, payload) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/plyushkin/service/web.rb', line 23

def put(model, id, payload)
  uri = URI("#{url}/#{model}/#{id}")
  use_ssl = true if uri.scheme == "https"

  response = Net::HTTP.start(uri.host, uri.port, 
                             :use_ssl => use_ssl) do |http|
    request = Net::HTTP::Put.new(uri.to_s)
    request.body = payload.to_json
    http.request(request)
  end
end