Class: Zensana::Asana
- Inherits:
-
Object
- Object
- Zensana::Asana
- Includes:
- HTTMultiParty
- Defined in:
- lib/zensana/services/asana.rb,
lib/zensana/models/asana/task.rb,
lib/zensana/models/asana/user.rb,
lib/zensana/models/asana/project.rb,
lib/zensana/models/asana/attachment.rb
Defined Under Namespace
Modules: Access Classes: Attachment, Project, Task, User
Class Method Summary collapse
-
.inst ⇒ Object
debug_output.
Instance Method Summary collapse
- #fetch(path, params = {}, &block) ⇒ Object
-
#initialize ⇒ Asana
constructor
A new instance of Asana.
- #request(method, path, params = {}, &block) ⇒ Object
Constructor Details
#initialize ⇒ Asana
Returns a new instance of Asana.
21 22 23 24 25 26 27 28 |
# File 'lib/zensana/services/asana.rb', line 21 def initialize user, pword = if ENV['ASANA_USERNAME'] [ ENV['ASANA_USERNAME'], ENV['ASANA_PASSWORD'] ] else [ ENV['ASANA_API_KEY'], nil ] end self.class.basic_auth user, pword end |
Class Method Details
.inst ⇒ Object
debug_output
11 12 13 |
# File 'lib/zensana/services/asana.rb', line 11 def self.inst @inst ||= new end |
Instance Method Details
#fetch(path, params = {}, &block) ⇒ Object
30 31 32 |
# File 'lib/zensana/services/asana.rb', line 30 def fetch(path, params={}, &block) request :get, path, params, &block end |
#request(method, path, params = {}, &block) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/zensana/services/asana.rb', line 34 def request(method, path, params={}, &block) result = self.class.send(method, path, params) Zensana::Error.handle_http_errors result Zensana::Response.new(result).tap do |response| block.call(response) if block_given? end rescue Net::OpenTimeout raise Unprocessable, "Connection timed out" end |