checkoff 0.186.0 → 0.187.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab93a442000f1d706e304c5d574a9266c19dcff4be222107dc943f6c1d3ecd3f
4
- data.tar.gz: 373ce95b10e181827c2423bfce1a0a37f43a12b32ebebd79ea5b8e98dcc0787f
3
+ metadata.gz: 662bb742d6b627b5b1e95d376e0565392ecc56ea54d4dea8f76c5e5198093d6d
4
+ data.tar.gz: '01859381f83d92867afc1319a0d43fc860a6505970cce641c76565b5a99e5d13'
5
5
  SHA512:
6
- metadata.gz: b4f7267e3254bb4d22593bca64557ec58641b69ff95ceb7890c34a5c87512b27a5dda4fecf7db78ee5088692dbcc8c5380f673459a9df3c1edd744746215d364
7
- data.tar.gz: '0680cf901961be8001249375c81ceaa77ed903e0acb2f06ecc3b62093a110d7d4bcc225e706d46b31838a50d08d0f8811f4e636166715f5d48b73e33a940f521'
6
+ metadata.gz: 5f6a49cf14421028d42869e8436b5cc917e584aee545b0645487efc64fcda10ee35db189890970c9fb71349ad8498d4fe7ad548b177f140c4feb82edf3bc1df3
7
+ data.tar.gz: 26763f804929cbbcfb4af6faaed2ff14d01dd9736b465c830a5e9e9479c8428c8d14114e12b7fa6fda9e7cc9aa3fb6896d043fcea099b1678d60849b12b6420f
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.186.0)
15
+ checkoff (0.187.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -180,7 +180,7 @@ GEM
180
180
  unicode-display_width (>= 2.4.0, < 3.0)
181
181
  rubocop-ast (1.30.0)
182
182
  parser (>= 3.2.1.0)
183
- rubocop-minitest (0.34.4)
183
+ rubocop-minitest (0.34.5)
184
184
  rubocop (>= 1.39, < 2.0)
185
185
  rubocop-ast (>= 1.30.0, < 2.0)
186
186
  rubocop-rake (0.6.0)
@@ -262,4 +262,4 @@ DEPENDENCIES
262
262
  yard
263
263
 
264
264
  BUNDLED WITH
265
- 2.4.22
265
+ 2.5.5
data/fix.sh CHANGED
@@ -152,22 +152,29 @@ ensure_bundle() {
152
152
  need_better_bundler=true
153
153
  elif [ "${bundler_version_major}" -eq 2 ]
154
154
  then
155
- if [ "${bundler_version_minor}" -lt 2 ]
155
+ if [ "${bundler_version_minor}" -lt 5 ]
156
156
  then
157
157
  need_better_bundler=true
158
- elif [ "${bundler_version_minor}" -eq 2 ]
158
+ elif [ "${bundler_version_minor}" -eq 5 ]
159
159
  then
160
- if [ "${bundler_version_patch}" -lt 23 ]
160
+ if [ "${bundler_version_patch}" -lt 5 ]
161
161
  then
162
162
  need_better_bundler=true
163
163
  fi
164
164
  fi
165
165
  fi
166
+ echo "Bundler version: ${bundler_version}"
167
+ echo "Need better bundler: ${need_better_bundler}"
166
168
  if [ "${need_better_bundler}" = true ]
167
169
  then
168
170
  # need to do this first before 'bundle update --bundler' will work
169
171
  make bundle_install
172
+ set -x
170
173
  bundle update --bundler
174
+ gem install bundler:2.5.5
175
+ set +x
176
+ echo "After updating bundler:"
177
+ echo "Bundler version: ${bundler_version}"
171
178
  # ensure next step installs fresh bundle
172
179
  rm -f Gemfile.lock.installed
173
180
  fi
@@ -75,25 +75,23 @@ module Checkoff
75
75
  # not succesful
76
76
  #
77
77
  # @param uri [URI]
78
+ # @param verify_mode [OpenSSL::SSL::VERIFY_NONE,OpenSSL::SSL::VERIFY_PEER]
78
79
  #
79
80
  # @return [Object]
80
81
  # @sg-ignore
81
- def download_uri(uri, &block)
82
+ def download_uri(uri, verify_mode: OpenSSL::SSL::VERIFY_PEER, &block)
82
83
  out = nil
83
- Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
84
+ Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https', verify_mode: verify_mode) do |http|
84
85
  # @sg-ignore
85
- request = Net::HTTP::Get.new(uri)
86
- http.request(request) do |response|
87
- # use a block to ensure the file is closed after we're done with it
86
+ http.request(Net::HTTP::Get.new(uri)) do |response|
88
87
  raise("Unexpected response code: #{response.code}") unless response.code == '200'
89
88
 
90
- write_tempfile_from_response(response) do |tempfile|
91
- out = block.yield tempfile
92
- end
89
+ write_tempfile_from_response(response) { |tempfile| out = block.yield tempfile }
93
90
  end
94
91
  end
95
92
  out
96
93
  rescue StandardError => e
94
+ debug { e }
97
95
  raise "Error downloading #{uri}: #{e}"
98
96
  end
99
97
 
@@ -100,6 +100,26 @@ module Checkoff
100
100
  end
101
101
  end
102
102
 
103
+ # :in_portfolio_more_than_once? function
104
+ class InPortfolioMoreThanOncePFunctionEvaluator < FunctionEvaluator
105
+ def matches?
106
+ fn?(selector, :in_portfolio_more_than_once?)
107
+ end
108
+
109
+ # @param _index [Integer]
110
+ def evaluate_arg?(_index)
111
+ false
112
+ end
113
+
114
+ # @sg-ignore
115
+ # @param task [Asana::Resources::Task]
116
+ # @param portfolio_name [String]
117
+ # @return [Boolean]
118
+ def evaluate(task, portfolio_name)
119
+ @tasks.in_portfolio_more_than_once?(task, portfolio_name)
120
+ end
121
+ end
122
+
103
123
  # :tag? function
104
124
  class TagPFunctionEvaluator < FunctionEvaluator
105
125
  def matches?
@@ -292,6 +292,27 @@ module Checkoff
292
292
  end
293
293
  end
294
294
 
295
+ # True if the task is in a project which is in the given portfolio
296
+ #
297
+ # @param task [Asana::Resources::Task]
298
+ # @param portfolio_name [String]
299
+ # @param workspace_name [String]
300
+ def in_portfolio_more_than_once?(task,
301
+ portfolio_name,
302
+ workspace_name: @workspaces.default_workspace.name)
303
+ portfolio_projects = @portfolios.projects_in_portfolio(workspace_name, portfolio_name)
304
+ portfolio_project_gids = portfolio_projects.map(&:gid)
305
+ seen = false
306
+ task.memberships.each do |membership|
307
+ project_gid = membership.fetch('project').fetch('gid')
308
+ next unless portfolio_project_gids.include?(project_gid)
309
+ return true if seen
310
+
311
+ seen = true
312
+ end
313
+ false
314
+ end
315
+
295
316
  # @return [Hash]
296
317
  def as_cache_key
297
318
  {}
@@ -3,5 +3,5 @@
3
3
  # Command-line and gem client for Asana (unofficial)
4
4
  module Checkoff
5
5
  # Version of library
6
- VERSION = '0.186.0'
6
+ VERSION = '0.187.0'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.186.0
4
+ version: 0.187.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-27 00:00:00.000000000 Z
11
+ date: 2024-01-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport