asana 0.6.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/Appraisals +37 -0
- data/Gemfile +2 -2
- data/Rakefile +26 -4
- data/asana.gemspec +1 -0
- data/lib/asana/authentication/oauth2/bearer_token_authentication.rb +2 -1
- data/lib/asana/client/configuration.rb +1 -1
- data/lib/asana/errors.rb +1 -2
- data/lib/asana/http_client.rb +2 -2
- data/lib/asana/http_client/environment_info.rb +1 -1
- data/lib/asana/http_client/response.rb +1 -1
- data/lib/asana/resource_includes/attachment_uploading.rb +1 -1
- data/lib/asana/resource_includes/collection.rb +2 -3
- data/lib/asana/resource_includes/events.rb +2 -2
- data/lib/asana/resource_includes/resource.rb +4 -7
- data/lib/asana/resource_includes/response_helper.rb +1 -1
- data/lib/asana/ruby2_0_0_compatibility.rb +1 -1
- data/lib/asana/version.rb +1 -1
- metadata +46 -25
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZDQ3OThkZDJmNmExNTlhMjI4Y2VlZDQ1NWIzNmFmZDkzNzRkOWRiYg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 145003ef16856b51b561cd5235c2f91295a57dc9
|
4
|
+
data.tar.gz: 10ebb67b4d0be9a80a94f46ba7fbdb073a6888bf
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NmRiNDY5Njc5ZjMyMjVkODFiZmIyZmE2NmY3OTYzNDg3NGMwMzAzMDRkMzU1
|
11
|
-
ZWYzMjFiNGYzMDdlZTkzNmE4ODNhYTQxNGQ0MzM3MDYxOGE0ZTU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
NzEwMTI5ZjZlNjQxMzFhMzJmY2QzNWI2NTU1MzMwZjZlYTI1ODcwY2NmYWIz
|
14
|
-
ZjdjYzQ1MjE2Y2VhOTJhNWMzNWNlMWYyZmFlYmU1ZDM0YWU2NDJiZTgyMzg1
|
15
|
-
ZThjNDVlYThhZjY2ZmI1MDAzMzJjYjczMmU3NTdlODQyMzVkNzE=
|
6
|
+
metadata.gz: 698b02ebc64a3b44db3dcb448973c97bf1798d2edae1e8e12b5500c8214056a91c0617f1059194e0ad375101ca124fcf888b1b6f9a66272359e255873d7ca6eb
|
7
|
+
data.tar.gz: bd4ed6bdb09e50085d12481ae0430154b07289cbcc923f3deba6d0c0f69d9601d5322e91a2cd9576b4494907266184211337ead0545c7678c6a9331ba162d704
|
data/Appraisals
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
appraise "faraday-0.9.0" do
|
3
|
+
gem "faraday", "0.9.0"
|
4
|
+
end
|
5
|
+
|
6
|
+
appraise "faraday-0.9.1" do
|
7
|
+
gem "faraday", "0.9.1"
|
8
|
+
end
|
9
|
+
|
10
|
+
appraise "faraday-0.9.2" do
|
11
|
+
gem "faraday", "0.9.2"
|
12
|
+
end
|
13
|
+
|
14
|
+
appraise "faraday-0.10.0" do
|
15
|
+
gem "faraday", "0.10.0"
|
16
|
+
end
|
17
|
+
appraise "faraday-0.10.1" do
|
18
|
+
gem "faraday", "0.10.1"
|
19
|
+
end
|
20
|
+
|
21
|
+
appraise "faraday-0.11.0" do
|
22
|
+
gem "faraday", "0.11.0"
|
23
|
+
end
|
24
|
+
|
25
|
+
# Oauth2 does not yet support 0.12
|
26
|
+
|
27
|
+
# appraise "faraday-0.12.0" do
|
28
|
+
# gem "faraday", "0.12.0"
|
29
|
+
# end
|
30
|
+
#
|
31
|
+
# appraise "faraday-0.12.0.1" do
|
32
|
+
# gem "faraday", "0.12.0.1"
|
33
|
+
# end
|
34
|
+
#
|
35
|
+
# appraise "faraday-0.12.1" do
|
36
|
+
# gem "faraday", "0.12.1"
|
37
|
+
# end
|
data/Gemfile
CHANGED
@@ -9,8 +9,8 @@ group :tools do
|
|
9
9
|
# routinely adds new checks which can cause our build to "break" even when no
|
10
10
|
# changes have been made. In this situation it's better to intentionally
|
11
11
|
# upgrade Rubocop and fix issues at that time.
|
12
|
-
gem 'rubocop', '~> 0.
|
13
|
-
gem 'rubocop-rspec', '~> 1.
|
12
|
+
gem 'rubocop', '~> 0.37.2'
|
13
|
+
gem 'rubocop-rspec', '~> 1.4.0'
|
14
14
|
|
15
15
|
gem 'guard'
|
16
16
|
gem 'guard-rspec'
|
data/Rakefile
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'appraisal'
|
1
4
|
require 'rspec/core/rake_task'
|
2
5
|
require 'rubocop/rake_task'
|
3
6
|
require 'yard'
|
@@ -19,9 +22,9 @@ end
|
|
19
22
|
namespace :bump do
|
20
23
|
def read_version
|
21
24
|
File.readlines('./lib/asana/version.rb')
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
+
.detect { |l| l =~ /VERSION/ }
|
26
|
+
.scan(/VERSION = '([^']+)/).flatten.first.split('.')
|
27
|
+
.map { |n| Integer(n) }
|
25
28
|
end
|
26
29
|
|
27
30
|
# rubocop:disable Metrics/MethodLength
|
@@ -63,4 +66,23 @@ EOS
|
|
63
66
|
end
|
64
67
|
end
|
65
68
|
|
66
|
-
|
69
|
+
desc 'Default: run the unit tests.'
|
70
|
+
task default: [:all, :rubocop, :yard]
|
71
|
+
|
72
|
+
|
73
|
+
desc 'Test the plugin under all supported Rails versions.'
|
74
|
+
task :all do |_t|
|
75
|
+
if ENV['TRAVIS']
|
76
|
+
# require 'json'
|
77
|
+
# puts JSON.pretty_generate(ENV.to_hash)
|
78
|
+
if ENV['BUNDLE_GEMFILE'] =~ /gemfiles/
|
79
|
+
appraisal_name = ENV['BUNDLE_GEMFILE'].scan(/faraday\_(.*)\.gemfile/).flatten.first
|
80
|
+
command_prefix = "appraisal faraday-#{appraisal_name}"
|
81
|
+
exec("#{command_prefix} bundle install && #{command_prefix} bundle exec rspec")
|
82
|
+
else
|
83
|
+
exec(' bundle exec appraisal install && bundle exec rake appraisal spec')
|
84
|
+
end
|
85
|
+
else
|
86
|
+
exec('bundle exec appraisal install && bundle exec rake appraisal spec')
|
87
|
+
end
|
88
|
+
end
|
data/asana.gemspec
CHANGED
data/lib/asana/errors.rb
CHANGED
@@ -55,8 +55,7 @@ module Asana
|
|
55
55
|
|
56
56
|
def to_s
|
57
57
|
"There has been an error on Asana's end. Use this unique phrase to "\
|
58
|
-
'identify the problem when contacting
|
59
|
-
%("#{@phrase}")
|
58
|
+
'identify the problem when contacting support: ' + %("#{@phrase}")
|
60
59
|
end
|
61
60
|
end
|
62
61
|
|
data/lib/asana/http_client.rb
CHANGED
@@ -11,7 +11,7 @@ module Asana
|
|
11
11
|
# parsing and common options.
|
12
12
|
class HttpClient
|
13
13
|
# Internal: The API base URI.
|
14
|
-
BASE_URI = 'https://app.asana.com/api/1.0'
|
14
|
+
BASE_URI = 'https://app.asana.com/api/1.0'.freeze
|
15
15
|
|
16
16
|
# Public: Initializes an HttpClient to make requests to the Asana API.
|
17
17
|
#
|
@@ -105,7 +105,7 @@ module Asana
|
|
105
105
|
Faraday.new do |builder|
|
106
106
|
@authentication.configure(builder)
|
107
107
|
@environment_info.configure(builder)
|
108
|
-
|
108
|
+
yield builder if request_config
|
109
109
|
configure_format(builder)
|
110
110
|
add_middleware(builder)
|
111
111
|
@config.call(builder) if @config
|
@@ -6,7 +6,7 @@ module Asana
|
|
6
6
|
# Internal: Adds environment information to a Faraday request.
|
7
7
|
class EnvironmentInfo
|
8
8
|
# Internal: The default user agent to use in all requests to the API.
|
9
|
-
USER_AGENT = "ruby-asana v#{Asana::VERSION}"
|
9
|
+
USER_AGENT = "ruby-asana v#{Asana::VERSION}".freeze
|
10
10
|
|
11
11
|
def initialize(user_agent = nil)
|
12
12
|
@user_agent = user_agent || USER_AGENT
|
@@ -17,7 +17,7 @@ module Asana
|
|
17
17
|
options: {}, **data)
|
18
18
|
path = File.expand_path(filename)
|
19
19
|
unless File.exist?(path)
|
20
|
-
|
20
|
+
raise ArgumentError, "file #{filename} doesn't exist"
|
21
21
|
end
|
22
22
|
upload = Faraday::UploadIO.new(path, mime)
|
23
23
|
response = client.post("/#{self.class.plural_name}/#{id}/attachments",
|
@@ -40,7 +40,7 @@ module Asana
|
|
40
40
|
def size
|
41
41
|
to_a.size
|
42
42
|
end
|
43
|
-
|
43
|
+
alias length size
|
44
44
|
|
45
45
|
# Public: Returns a String representation of the collection.
|
46
46
|
def to_s
|
@@ -48,8 +48,7 @@ module Asana
|
|
48
48
|
"[#{@elements.map(&:inspect).join(', ')}" +
|
49
49
|
(@next_page_data ? ', ...' : '') + ']>'
|
50
50
|
end
|
51
|
-
|
52
|
-
alias_method :inspect, :to_s
|
51
|
+
alias inspect to_s
|
53
52
|
|
54
53
|
# Public: Returns a new Asana::Resources::Collection with the next page
|
55
54
|
# or nil if there are no more pages. Caches the result.
|
@@ -94,9 +94,9 @@ module Asana
|
|
94
94
|
|
95
95
|
# Internal: Executes a block if at least @wait seconds have passed since
|
96
96
|
# @last_poll.
|
97
|
-
def rate_limiting
|
97
|
+
def rate_limiting
|
98
98
|
return if @last_poll && Time.now - @last_poll <= @wait
|
99
|
-
|
99
|
+
yield.tap { @last_poll = Time.now }
|
100
100
|
end
|
101
101
|
end
|
102
102
|
end
|
@@ -23,11 +23,9 @@ module Asana
|
|
23
23
|
|
24
24
|
# If it has findById, it implements #refresh
|
25
25
|
def refresh
|
26
|
-
|
27
|
-
self.class.find_by_id
|
28
|
-
|
29
|
-
fail "#{self.class.name} does not respond to #find_by_id"
|
30
|
-
end
|
26
|
+
raise "#{self.class.name} does not respond to #find_by_id" unless \
|
27
|
+
self.class.respond_to?(:find_by_id)
|
28
|
+
self.class.find_by_id(client, id)
|
31
29
|
end
|
32
30
|
|
33
31
|
# Internal: Proxies method calls to the data, wrapping it accordingly and
|
@@ -59,8 +57,7 @@ module Asana
|
|
59
57
|
attrs = to_h.map { |k, _| "#{k}: #{public_send(k).inspect}" }.join(', ')
|
60
58
|
"#<Asana::#{self.class.name.split('::').last} #{attrs}>"
|
61
59
|
end
|
62
|
-
|
63
|
-
alias_method :inspect, :to_s
|
60
|
+
alias inspect to_s
|
64
61
|
|
65
62
|
private
|
66
63
|
|
@@ -4,7 +4,7 @@ module Asana
|
|
4
4
|
module ResponseHelper
|
5
5
|
def parse(response)
|
6
6
|
data = response.body.fetch('data') do
|
7
|
-
|
7
|
+
raise("Unexpected response body: #{response.body}")
|
8
8
|
end
|
9
9
|
extra = response.body.reject { |k, _| k == 'data' }
|
10
10
|
[data, extra]
|
data/lib/asana/version.rb
CHANGED
metadata
CHANGED
@@ -1,113 +1,133 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Txus
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oauth2
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: faraday
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.9'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.9'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: faraday_middleware
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0.9'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.9'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: faraday_middleware-multi_json
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: bundler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '1.7'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '1.7'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '10.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '10.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '3.2'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '3.2'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: appraisal
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '2.1'
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
version: '2.1'
|
121
|
+
type: :development
|
122
|
+
prerelease: false
|
123
|
+
version_requirements: !ruby/object:Gem::Requirement
|
124
|
+
requirements:
|
125
|
+
- - "~>"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '2.1'
|
128
|
+
- - ">="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '2.1'
|
111
131
|
description: Official Ruby client for the Asana API
|
112
132
|
email:
|
113
133
|
- me@txus.io
|
@@ -115,12 +135,13 @@ executables: []
|
|
115
135
|
extensions: []
|
116
136
|
extra_rdoc_files: []
|
117
137
|
files:
|
118
|
-
- .codeclimate.yml
|
119
|
-
- .gitignore
|
120
|
-
- .rspec
|
121
|
-
- .rubocop.yml
|
122
|
-
- .travis.yml
|
123
|
-
- .yardopts
|
138
|
+
- ".codeclimate.yml"
|
139
|
+
- ".gitignore"
|
140
|
+
- ".rspec"
|
141
|
+
- ".rubocop.yml"
|
142
|
+
- ".travis.yml"
|
143
|
+
- ".yardopts"
|
144
|
+
- Appraisals
|
124
145
|
- CODE_OF_CONDUCT.md
|
125
146
|
- Gemfile
|
126
147
|
- Guardfile
|
@@ -185,17 +206,17 @@ require_paths:
|
|
185
206
|
- lib
|
186
207
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
208
|
requirements:
|
188
|
-
- - ~>
|
209
|
+
- - "~>"
|
189
210
|
- !ruby/object:Gem::Version
|
190
211
|
version: '2.0'
|
191
212
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
213
|
requirements:
|
193
|
-
- -
|
214
|
+
- - ">="
|
194
215
|
- !ruby/object:Gem::Version
|
195
216
|
version: '0'
|
196
217
|
requirements: []
|
197
218
|
rubyforge_project:
|
198
|
-
rubygems_version: 2.
|
219
|
+
rubygems_version: 2.6.13
|
199
220
|
signing_key:
|
200
221
|
specification_version: 4
|
201
222
|
summary: Official Ruby client for the Asana API
|