asana 0.6.0 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZDNhNmQzZDIzZWU1OWI4ZDJkMWU3MTg0MGFiMmZiNTg5YjczZDE3ZQ==
5
- data.tar.gz: !binary |-
6
- ZDQ3OThkZDJmNmExNTlhMjI4Y2VlZDQ1NWIzNmFmZDkzNzRkOWRiYg==
2
+ SHA1:
3
+ metadata.gz: 145003ef16856b51b561cd5235c2f91295a57dc9
4
+ data.tar.gz: 10ebb67b4d0be9a80a94f46ba7fbdb073a6888bf
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZjUxMWY3ZDc2ZDM2MDMyNmE4NTdkMjIxNjFlNTUzYzdiYTM5MTgyMGJhNWJk
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.35.0'
13
- gem 'rubocop-rspec', '~> 1.2.0'
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
- .detect { |l| l =~ /VERSION/ }
23
- .scan(/VERSION = '([^']+)/).flatten.first.split('.')
24
- .map { |n| Integer(n) }
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
- task default: [:spec, :rubocop, :yard]
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
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "bundler", "~> 1.7"
30
30
  spec.add_development_dependency "rake", "~> 10.0"
31
31
  spec.add_development_dependency "rspec", "~> 3.2"
32
+ spec.add_development_dependency 'appraisal', '~> 2.1', '>= 2.1'
32
33
  end
@@ -24,7 +24,8 @@ module Asana
24
24
  #
25
25
  # Returns nothing.
26
26
  def configure(connection)
27
- connection.request :oauth2, @token
27
+ connection.authorization :Bearer, @token
28
+ connection.request :oauth2, token_type: 'bearer'
28
29
  end
29
30
  end
30
31
  end
@@ -148,7 +148,7 @@ module Asana
148
148
  end
149
149
 
150
150
  def error(msg)
151
- fail ArgumentError, msg
151
+ raise ArgumentError, msg
152
152
  end
153
153
  end
154
154
  end
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 developer support: ' +
59
- %("#{@phrase}")
58
+ 'identify the problem when contacting support: ' + %("#{@phrase}")
60
59
  end
61
60
  end
62
61
 
@@ -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
- request_config.call(builder) if request_config
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
@@ -26,7 +26,7 @@ module Asana
26
26
  def to_s
27
27
  "#<Asana::HttpClient::Response status=#{@status} body=#{@body}>"
28
28
  end
29
- alias_method :inspect, :to_s
29
+ alias inspect to_s
30
30
  end
31
31
  end
32
32
  end
@@ -17,7 +17,7 @@ module Asana
17
17
  options: {}, **data)
18
18
  path = File.expand_path(filename)
19
19
  unless File.exist?(path)
20
- fail ArgumentError, "file #{filename} doesn't exist"
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
- alias_method :length, :size
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(&block)
97
+ def rate_limiting
98
98
  return if @last_poll && Time.now - @last_poll <= @wait
99
- block.call.tap { @last_poll = Time.now }
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
- if self.class.respond_to?(:find_by_id)
27
- self.class.find_by_id(client, id)
28
- else
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
- fail("Unexpected response body: #{response.body}")
7
+ raise("Unexpected response body: #{response.body}")
8
8
  end
9
9
  extra = response.body.reject { |k, _| k == 'data' }
10
10
  [data, extra]
@@ -1,3 +1,3 @@
1
1
  def required(name)
2
- fail(ArgumentError, "#{name} is a required keyword argument")
2
+ raise(ArgumentError, "#{name} is a required keyword argument")
3
3
  end
data/lib/asana/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #:nodoc:
2
2
  module Asana
3
3
  # Public: Version of the gem.
4
- VERSION = '0.6.0'
4
+ VERSION = '0.6.2'.freeze
5
5
  end
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.0
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: 2016-09-15 00:00:00.000000000 Z
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.4.5
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