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 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