Class: Xfrtuc::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(username, password, base_url = "https://transferatu.heroku.com") ⇒ Client

Returns a new instance of Client.



13
14
15
16
17
# File 'lib/xfrtuc.rb', line 13

def initialize(username, password, base_url = "https://transferatu.heroku.com")
  @base_url = base_url
  @username = username
  @password = password
end

Instance Attribute Details

#base_urlObject (readonly)

Returns the value of attribute base_url.



11
12
13
# File 'lib/xfrtuc.rb', line 11

def base_url
  @base_url
end

Instance Method Details

#delete(path) ⇒ Object



57
58
59
60
61
# File 'lib/xfrtuc.rb', line 57

def delete(path)
  uri = build_uri(path)
  request = Net::HTTP::Delete.new(uri)
  execute(uri, request)
end

#get(path, params = {}) ⇒ Object



36
37
38
39
40
41
# File 'lib/xfrtuc.rb', line 36

def get(path, params = {})
  uri = build_uri(path)
  uri.query = URI.encode_www_form(params[:params]) if params[:params]
  request = Net::HTTP::Get.new(uri)
  execute(uri, request)
end

#group(name = nil) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/xfrtuc.rb', line 27

def group(name = nil)
  if name.nil?
    @group_client ||= Xfrtuc::Group.new(self)
  else
    self.class.new(@username, @password,
      @base_url + "/groups/#{CGI.escape(name)}",)
  end
end

#post(path, data = {}) ⇒ Object



43
44
45
46
47
48
# File 'lib/xfrtuc.rb', line 43

def post(path, data = {})
  uri = build_uri(path)
  request = Net::HTTP::Post.new(uri)
  request.body = JSON.generate(data)
  execute(uri, request)
end

#put(path, data = {}) ⇒ Object



50
51
52
53
54
55
# File 'lib/xfrtuc.rb', line 50

def put(path, data = {})
  uri = build_uri(path)
  request = Net::HTTP::Put.new(uri)
  request.body = JSON.generate(data)
  execute(uri, request)
end

#scheduleObject



23
24
25
# File 'lib/xfrtuc.rb', line 23

def schedule
  @sched_client ||= Xfrtuc::Schedule.new(self)
end

#transferObject



19
20
21
# File 'lib/xfrtuc.rb', line 19

def transfer
  @xfer_client ||= Xfrtuc::Transfer.new(self)
end