Class: Wrike3::Base

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

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Base

Returns a new instance of Base.



3
4
5
6
7
8
9
10
# File 'lib/wrike3/base.rb', line 3

def initialize(options={})
  # API settings
  Wrike3.api_version  = options.fetch(:api_version) { 'v3' }
  Wrike3.protocol     = options.fetch(:protocol) { 'https' }
  Wrike3.api_host     = options.fetch(:api_host) { 'www.wrike.com' }
  # Access settings
  Wrike3.access_token = options.fetch(:access_token) { '' }
end

Instance Method Details

#accountObject



21
22
23
# File 'lib/wrike3/base.rb', line 21

def 
  @account ||= Wrike3::Account.new(self)
end

#attachmentObject



25
26
27
# File 'lib/wrike3/base.rb', line 25

def attachment
  @attachment ||= Wrike3::Attachment.new(self)
end

#base_urlObject

Returns the base url used in all Wrike API calls



17
18
19
# File 'lib/wrike3/base.rb', line 17

def base_url
  "#{site_url}/api/#{Wrike3.api_version}"
end

#commentObject



29
30
31
# File 'lib/wrike3/base.rb', line 29

def comment
  @comment ||= Wrike3::Comment.new(self)
end

#contactObject



33
34
35
# File 'lib/wrike3/base.rb', line 33

def contact
  @contact ||= Wrike3::Contact.new(self)
end

#execute(method, url, parameters = {}, request_headers = {}, include_auth_header = true, body = nil) ⇒ Object



61
62
63
64
65
66
67
68
# File 'lib/wrike3/base.rb', line 61

def execute(method, url, parameters = {}, request_headers = {}, include_auth_header = true, body = nil)
  request_headers = auth_headers(request_headers) if include_auth_header
  params          = {:query => to_j(parameters), headers: request_headers}
  params[:body]   = body if body.present?

  response = HTTParty.send(method.to_s, url, params)
  response.parsed_response
end

#folderObject



37
38
39
# File 'lib/wrike3/base.rb', line 37

def folder
  @folder ||= Wrike3::Folder.new(self)
end

#site_urlObject



12
13
14
# File 'lib/wrike3/base.rb', line 12

def site_url
  "#{Wrike3.protocol}://#{Wrike3.api_host}"
end

#taskObject



41
42
43
# File 'lib/wrike3/base.rb', line 41

def task
  @task ||= Wrike3::Task.new(self)
end

#timelogObject



45
46
47
# File 'lib/wrike3/base.rb', line 45

def timelog
  @timelog ||= Wrike3::Timelog.new(self)
end

#tokenObject



57
58
59
# File 'lib/wrike3/base.rb', line 57

def token
  @token ||= Wrike3::Token.new(self)
end

#userObject



49
50
51
# File 'lib/wrike3/base.rb', line 49

def user
  @user ||= Wrike3::User.new(self)
end

#workflowObject



53
54
55
# File 'lib/wrike3/base.rb', line 53

def workflow
  @workflow ||= Wrike3::Workflow.new(self)
end