aspera-cli 4.26.0 → 4.26.1

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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +17 -3
  4. data/lib/aspera/api/aoc.rb +2 -1
  5. data/lib/aspera/api/node.rb +2 -2
  6. data/lib/aspera/ascp/installation.rb +7 -4
  7. data/lib/aspera/assert.rb +17 -13
  8. data/lib/aspera/cli/extended_value.rb +6 -2
  9. data/lib/aspera/cli/formatter.rb +65 -60
  10. data/lib/aspera/cli/main.rb +69 -10
  11. data/lib/aspera/cli/manager.rb +130 -76
  12. data/lib/aspera/cli/options.schema.yaml +82 -0
  13. data/lib/aspera/cli/plugins/aoc.rb +36 -11
  14. data/lib/aspera/cli/plugins/base.rb +46 -37
  15. data/lib/aspera/cli/plugins/config.rb +9 -9
  16. data/lib/aspera/cli/plugins/faspex.rb +1 -1
  17. data/lib/aspera/cli/plugins/faspex5.rb +4 -5
  18. data/lib/aspera/cli/plugins/node.rb +1 -1
  19. data/lib/aspera/cli/sync_actions.rb +1 -1
  20. data/lib/aspera/cli/transfer_agent.rb +17 -15
  21. data/lib/aspera/cli/version.rb +1 -1
  22. data/lib/aspera/command_line_builder.rb +22 -18
  23. data/lib/aspera/environment.rb +3 -3
  24. data/lib/aspera/formatter_interface.rb +14 -0
  25. data/lib/aspera/hash_ext.rb +6 -0
  26. data/lib/aspera/log.rb +4 -3
  27. data/lib/aspera/markdown.rb +4 -1
  28. data/lib/aspera/oauth/factory.rb +1 -1
  29. data/lib/aspera/proxy_auto_config.rb +3 -0
  30. data/lib/aspera/rest.rb +1 -1
  31. data/lib/aspera/schema/IBM Aspera Faspex API-5.0-enhanced.yaml +62801 -0
  32. data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +8898 -0
  33. data/lib/aspera/schema/documentation.rb +107 -0
  34. data/lib/aspera/schema/reader.rb +75 -0
  35. data/lib/aspera/schema/registry.rb +63 -0
  36. data/lib/aspera/sync/conf.schema.yaml +0 -26
  37. data/lib/aspera/sync/operations.rb +9 -5
  38. data/lib/aspera/transfer/faux_file.rb +1 -1
  39. data/lib/aspera/transfer/resumer.rb +1 -1
  40. data/lib/aspera/transfer/spec.rb +3 -3
  41. data/lib/aspera/transfer/spec.schema.yaml +1 -1
  42. data/lib/aspera/uri_reader.rb +1 -1
  43. data/lib/aspera/yaml.rb +4 -2
  44. data.tar.gz.sig +0 -0
  45. metadata +9 -3
  46. metadata.gz.sig +0 -0
  47. data/lib/aspera/transfer/spec_doc.rb +0 -76
@@ -8,11 +8,14 @@ module Aspera
8
8
  HTML_BREAK = '<br/>'
9
9
 
10
10
  class << self
11
+ COL_WIDTH = 80
11
12
  # Generate markdown from the provided 2D table
13
+ # @param table [Array<Array<String>>] 2D array of strings
14
+ # @return [String] markdown table
12
15
  def table(table)
13
16
  # get max width of each columns
14
17
  col_widths = table.transpose.map do |col|
15
- [col.flat_map{ |c| c.to_s.delete('`').split(HTML_BREAK).map(&:size)}.max, 80].min
18
+ [col.flat_map{ |c| c.to_s.delete('`').split(HTML_BREAK).map(&:size)}.max, COL_WIDTH].min
16
19
  end
17
20
  headings = table.shift
18
21
  table.unshift(col_widths.map{ |col_width| '-' * col_width})
@@ -33,7 +33,7 @@ module Aspera
33
33
  # Extract only token from Authorization (remove scheme)
34
34
  def bearer_token(authorization)
35
35
  Aspera.assert(bearer_auth?(authorization)){'not a bearer token, wrong prefix scheme'}
36
- return authorization[SPACE_BEARER_AUTH_SCHEME.length..-1]
36
+ return authorization.delete_prefix(SPACE_BEARER_AUTH_SCHEME)
37
37
  end
38
38
 
39
39
  # Generate a unique cache id for a token creator
@@ -10,6 +10,9 @@ module URI
10
10
  # save original method that finds proxy in URI::Generic, it uses env var http_proxy
11
11
  alias_method :find_proxy_orig, :find_proxy
12
12
  class << self
13
+ # Register a custom proxy finder block
14
+ # @yieldparam url [String] The URL to find proxy for
15
+ # @yieldreturn [String, nil] Proxy URL or nil to fallback to original method
13
16
  def register_proxy_finder
14
17
  Aspera.assert(block_given?)
15
18
  # overload the method in URI : call user's provided block and fallback to original method
data/lib/aspera/rest.rb CHANGED
@@ -166,7 +166,7 @@ module Aspera
166
166
  next unless url_match
167
167
  url = url_match[1]
168
168
  # Extract parameters after the URL
169
- params_str = link_part[url_match.end(0)..-1]
169
+ params_str = link_part[url_match.end(0)..]
170
170
  # Check if this link has the specified rel (with or without quotes, case insensitive)
171
171
  next unless /;\s*rel\s*=\s*"?#{Regexp.escape(rel)}"?/i.match?(params_str)
172
172
  return url