Class: Redmine::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/redmine-ruby.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url, token) ⇒ Client

Returns a new instance of Client.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/redmine-ruby.rb', line 17

def initialize(url, token)
  self.url    = url
  self.token  = token
  self.api = Her::API.new
  self.api.setup url: url, ssl: { verify: false } do |c|
    c.use Faraday::Request::BasicAuthentication, token, ''
    c.use Faraday::Request::UrlEncoded
    c.use Redmine::Middleware::XmlParser
    c.use Faraday::Adapter::NetHttp
  end
end

Instance Attribute Details

#apiObject

Returns the value of attribute api.



15
16
17
# File 'lib/redmine-ruby.rb', line 15

def api
  @api
end

#tokenObject

Returns the value of attribute token.



15
16
17
# File 'lib/redmine-ruby.rb', line 15

def token
  @token
end

#urlObject

Returns the value of attribute url.



15
16
17
# File 'lib/redmine-ruby.rb', line 15

def url
  @url
end

Instance Method Details

#issuesObject



46
47
48
# File 'lib/redmine-ruby.rb', line 46

def issues
  resource(:issue)
end

#projectsObject



42
43
44
# File 'lib/redmine-ruby.rb', line 42

def projects
  resource(:project)
end

#resource(name, options = {}) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/redmine-ruby.rb', line 29

def resource(name, options={})
  klass   = "Redmine::#{name.to_s.classify}".constantize
  the_api = api
  the_token = token
  Class.new(klass) do |c|
    c.uses_api        the_api
    c.api_token       the_token
    c.element_name    name.to_s.underscore.to_sym
    c.collection_path klass.collection_path
    c.resource_path   klass.resource_path
  end
end

#time_entriesObject



54
55
56
# File 'lib/redmine-ruby.rb', line 54

def time_entries
  resource(:time_entry)
end

#uploadsObject



50
51
52
# File 'lib/redmine-ruby.rb', line 50

def uploads
  resource(:upload)
end