oso-cloud 1.8.0 → 1.9.1.pre.vendored.0

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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -1
  3. data/Gemfile +5 -0
  4. data/Gemfile.lock +31 -12
  5. data/README.md +1 -1
  6. data/lib/oso/api.rb +18 -2
  7. data/lib/oso/oso.rb +10 -7
  8. data/lib/oso/version.rb +1 -1
  9. data/vendor/gems/faraday-2.5.2/CHANGELOG.md +574 -0
  10. data/vendor/gems/faraday-2.5.2/LICENSE.md +20 -0
  11. data/vendor/gems/faraday-2.5.2/README.md +55 -0
  12. data/vendor/gems/faraday-2.5.2/Rakefile +7 -0
  13. data/vendor/gems/faraday-2.5.2/examples/client_spec.rb +119 -0
  14. data/vendor/gems/faraday-2.5.2/examples/client_test.rb +144 -0
  15. data/vendor/gems/faraday-2.5.2/lib/faraday/adapter/test.rb +298 -0
  16. data/vendor/gems/faraday-2.5.2/lib/faraday/adapter.rb +102 -0
  17. data/vendor/gems/faraday-2.5.2/lib/faraday/adapter_registry.rb +30 -0
  18. data/vendor/gems/faraday-2.5.2/lib/faraday/connection.rb +561 -0
  19. data/vendor/gems/faraday-2.5.2/lib/faraday/encoders/flat_params_encoder.rb +105 -0
  20. data/vendor/gems/faraday-2.5.2/lib/faraday/encoders/nested_params_encoder.rb +183 -0
  21. data/vendor/gems/faraday-2.5.2/lib/faraday/error.rb +147 -0
  22. data/vendor/gems/faraday-2.5.2/lib/faraday/logging/formatter.rb +106 -0
  23. data/vendor/gems/faraday-2.5.2/lib/faraday/methods.rb +6 -0
  24. data/vendor/gems/faraday-2.5.2/lib/faraday/middleware.rb +30 -0
  25. data/vendor/gems/faraday-2.5.2/lib/faraday/middleware_registry.rb +83 -0
  26. data/vendor/gems/faraday-2.5.2/lib/faraday/options/connection_options.rb +22 -0
  27. data/vendor/gems/faraday-2.5.2/lib/faraday/options/env.rb +199 -0
  28. data/vendor/gems/faraday-2.5.2/lib/faraday/options/proxy_options.rb +32 -0
  29. data/vendor/gems/faraday-2.5.2/lib/faraday/options/request_options.rb +22 -0
  30. data/vendor/gems/faraday-2.5.2/lib/faraday/options/ssl_options.rb +69 -0
  31. data/vendor/gems/faraday-2.5.2/lib/faraday/options.rb +218 -0
  32. data/vendor/gems/faraday-2.5.2/lib/faraday/parameters.rb +5 -0
  33. data/vendor/gems/faraday-2.5.2/lib/faraday/rack_builder.rb +252 -0
  34. data/vendor/gems/faraday-2.5.2/lib/faraday/request/authorization.rb +49 -0
  35. data/vendor/gems/faraday-2.5.2/lib/faraday/request/instrumentation.rb +56 -0
  36. data/vendor/gems/faraday-2.5.2/lib/faraday/request/json.rb +55 -0
  37. data/vendor/gems/faraday-2.5.2/lib/faraday/request/url_encoded.rb +60 -0
  38. data/vendor/gems/faraday-2.5.2/lib/faraday/request.rb +136 -0
  39. data/vendor/gems/faraday-2.5.2/lib/faraday/response/json.rb +54 -0
  40. data/vendor/gems/faraday-2.5.2/lib/faraday/response/logger.rb +33 -0
  41. data/vendor/gems/faraday-2.5.2/lib/faraday/response/raise_error.rb +64 -0
  42. data/vendor/gems/faraday-2.5.2/lib/faraday/response.rb +90 -0
  43. data/vendor/gems/faraday-2.5.2/lib/faraday/utils/headers.rb +139 -0
  44. data/vendor/gems/faraday-2.5.2/lib/faraday/utils/params_hash.rb +61 -0
  45. data/vendor/gems/faraday-2.5.2/lib/faraday/utils.rb +122 -0
  46. data/vendor/gems/faraday-2.5.2/lib/faraday/version.rb +5 -0
  47. data/vendor/gems/faraday-2.5.2/lib/faraday.rb +157 -0
  48. data/vendor/gems/faraday-2.5.2/spec/external_adapters/faraday_specs_setup.rb +14 -0
  49. data/vendor/gems/faraday-2.5.2/spec/faraday/adapter/test_spec.rb +413 -0
  50. data/vendor/gems/faraday-2.5.2/spec/faraday/adapter_registry_spec.rb +28 -0
  51. data/vendor/gems/faraday-2.5.2/spec/faraday/adapter_spec.rb +55 -0
  52. data/vendor/gems/faraday-2.5.2/spec/faraday/connection_spec.rb +793 -0
  53. data/vendor/gems/faraday-2.5.2/spec/faraday/error_spec.rb +60 -0
  54. data/vendor/gems/faraday-2.5.2/spec/faraday/middleware_registry_spec.rb +31 -0
  55. data/vendor/gems/faraday-2.5.2/spec/faraday/middleware_spec.rb +52 -0
  56. data/vendor/gems/faraday-2.5.2/spec/faraday/options/env_spec.rb +76 -0
  57. data/vendor/gems/faraday-2.5.2/spec/faraday/options/options_spec.rb +297 -0
  58. data/vendor/gems/faraday-2.5.2/spec/faraday/options/proxy_options_spec.rb +44 -0
  59. data/vendor/gems/faraday-2.5.2/spec/faraday/options/request_options_spec.rb +19 -0
  60. data/vendor/gems/faraday-2.5.2/spec/faraday/params_encoders/flat_spec.rb +42 -0
  61. data/vendor/gems/faraday-2.5.2/spec/faraday/params_encoders/nested_spec.rb +150 -0
  62. data/vendor/gems/faraday-2.5.2/spec/faraday/rack_builder_spec.rb +317 -0
  63. data/vendor/gems/faraday-2.5.2/spec/faraday/request/authorization_spec.rb +83 -0
  64. data/vendor/gems/faraday-2.5.2/spec/faraday/request/instrumentation_spec.rb +74 -0
  65. data/vendor/gems/faraday-2.5.2/spec/faraday/request/json_spec.rb +111 -0
  66. data/vendor/gems/faraday-2.5.2/spec/faraday/request/url_encoded_spec.rb +93 -0
  67. data/vendor/gems/faraday-2.5.2/spec/faraday/request_spec.rb +110 -0
  68. data/vendor/gems/faraday-2.5.2/spec/faraday/response/json_spec.rb +117 -0
  69. data/vendor/gems/faraday-2.5.2/spec/faraday/response/logger_spec.rb +220 -0
  70. data/vendor/gems/faraday-2.5.2/spec/faraday/response/raise_error_spec.rb +172 -0
  71. data/vendor/gems/faraday-2.5.2/spec/faraday/response_spec.rb +75 -0
  72. data/vendor/gems/faraday-2.5.2/spec/faraday/utils/headers_spec.rb +82 -0
  73. data/vendor/gems/faraday-2.5.2/spec/faraday/utils_spec.rb +118 -0
  74. data/vendor/gems/faraday-2.5.2/spec/faraday_spec.rb +37 -0
  75. data/vendor/gems/faraday-2.5.2/spec/spec_helper.rb +132 -0
  76. data/vendor/gems/faraday-2.5.2/spec/support/disabling_stub.rb +14 -0
  77. data/vendor/gems/faraday-2.5.2/spec/support/fake_safe_buffer.rb +15 -0
  78. data/vendor/gems/faraday-2.5.2/spec/support/helper_methods.rb +96 -0
  79. data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/adapter.rb +105 -0
  80. data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/params_encoder.rb +18 -0
  81. data/vendor/gems/faraday-2.5.2/spec/support/shared_examples/request_method.rb +263 -0
  82. data/vendor/gems/faraday-2.5.2/spec/support/streaming_response_checker.rb +35 -0
  83. data/vendor/gems/faraday-net_http-3.0.2/LICENSE.md +21 -0
  84. data/vendor/gems/faraday-net_http-3.0.2/README.md +57 -0
  85. data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/adapter/net_http.rb +208 -0
  86. data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/net_http/version.rb +7 -0
  87. data/vendor/gems/faraday-net_http-3.0.2/lib/faraday/net_http.rb +10 -0
  88. data/vendor/gems/faraday-net_http_persistent-2.3.0/LICENSE.md +21 -0
  89. data/vendor/gems/faraday-net_http_persistent-2.3.0/README.md +66 -0
  90. data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/adapter/net_http_persistent.rb +234 -0
  91. data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/net_http_persistent/version.rb +7 -0
  92. data/vendor/gems/faraday-net_http_persistent-2.3.0/lib/faraday/net_http_persistent.rb +18 -0
  93. data/vendor/gems/faraday-retry-2.0.0/CHANGELOG.md +24 -0
  94. data/vendor/gems/faraday-retry-2.0.0/LICENSE.md +21 -0
  95. data/vendor/gems/faraday-retry-2.0.0/README.md +169 -0
  96. data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retriable_response.rb +8 -0
  97. data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry/middleware.rb +254 -0
  98. data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry/version.rb +7 -0
  99. data/vendor/gems/faraday-retry-2.0.0/lib/faraday/retry.rb +13 -0
  100. data/vendor/gems/net-http-persistent-4.0.5/.autotest +9 -0
  101. data/vendor/gems/net-http-persistent-4.0.5/.gemtest +0 -0
  102. data/vendor/gems/net-http-persistent-4.0.5/Gemfile +14 -0
  103. data/vendor/gems/net-http-persistent-4.0.5/History.txt +460 -0
  104. data/vendor/gems/net-http-persistent-4.0.5/Manifest.txt +13 -0
  105. data/vendor/gems/net-http-persistent-4.0.5/README.rdoc +82 -0
  106. data/vendor/gems/net-http-persistent-4.0.5/Rakefile +25 -0
  107. data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/connection.rb +41 -0
  108. data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/pool.rb +65 -0
  109. data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  110. data/vendor/gems/net-http-persistent-4.0.5/lib/net/http/persistent.rb +1158 -0
  111. data/vendor/gems/net-http-persistent-4.0.5/test/test_net_http_persistent.rb +1512 -0
  112. data/vendor/gems/net-http-persistent-4.0.5/test/test_net_http_persistent_timed_stack_multi.rb +151 -0
  113. metadata +112 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa3ca5a542cd09609eab342416030091943a7e777e6fdccd8b6caf1b1b6a5a99
4
- data.tar.gz: 34c40e85594b08ef91ead85505c1488d42fc1291bcf1f3583dacce49abb47446
3
+ metadata.gz: 2e6e451a7a4bf36fa1e34670ffd71de8c8d0777b80257eff2a33988721886021
4
+ data.tar.gz: a563939cb00850f94d9cdb97ae47e53d9416f4266a88dc7a6af88b7f2e77bf26
5
5
  SHA512:
6
- metadata.gz: e950c324bbb312688fe5b2e119d761fb5e7189ac087386ef232d632b1179d7ad2db0a3f7c63ea468088fd3a4d1b4953d4837f8462b6582bb3f09f4c0ed93eb9e
7
- data.tar.gz: 24bed9cfb7b77c0fa77867166188e55e2811e63c5ed0fedb111d013338b8a8fdd59c0edf084169ad58d11c1988f4fb53a0e14d882aa8d827a195afc12f1129e7
6
+ metadata.gz: c24aaa5d60c172fc85a545f97180db79a828923e5ed89fdf0de85b7a505f466ac3a4c3d31b7d46795c4c10b58578e0afe9690174ab6429a7d1c99d11f634df28
7
+ data.tar.gz: 46356c35150c44a61868034a7a4cbae0f495e310557e2a2d309db50bc68ff0048386eb992557bf313c72d3dbd438618d66f5e3c8385df6ea964a8e7a4d3c9a6c
data/.gitignore CHANGED
@@ -1,2 +1 @@
1
1
  .bundle
2
- vendor
data/Gemfile CHANGED
@@ -4,3 +4,8 @@ source "https://rubygems.org"
4
4
  gemspec
5
5
 
6
6
  gem "rake", "~> 12.0"
7
+ gem "faraday", "2.5.2", :path => "vendor/gems/faraday-2.5.2"
8
+ gem "faraday-retry", "2.0.0", :path => "vendor/gems/faraday-retry-2.0.0"
9
+ gem "faraday-net_http_persistent", "2.3.0", :path => "vendor/gems/faraday-net_http_persistent-2.3.0"
10
+ gem "faraday-net_http", "3.0.2", :path => "vendor/gems/faraday-net_http-3.0.2"
11
+ gem "net-http-persistent", "4.0.5", :path => "vendor/gems/net-http-persistent-4.0.5"
data/Gemfile.lock CHANGED
@@ -1,11 +1,36 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oso-cloud (1.8.0)
4
+ oso-cloud (1.9.1.pre.vendored.0)
5
5
  faraday (~> 2.5.2)
6
6
  faraday-net_http_persistent (~> 2.0)
7
7
  faraday-retry (~> 2.0.0)
8
8
 
9
+ PATH
10
+ remote: vendor/gems/faraday-2.5.2
11
+ specs:
12
+ faraday (2.5.2)
13
+
14
+ PATH
15
+ remote: vendor/gems/faraday-net_http-3.0.2
16
+ specs:
17
+ faraday-net_http (3.0.2)
18
+
19
+ PATH
20
+ remote: vendor/gems/faraday-net_http_persistent-2.3.0
21
+ specs:
22
+ faraday-net_http_persistent (2.3.0)
23
+
24
+ PATH
25
+ remote: vendor/gems/faraday-retry-2.0.0
26
+ specs:
27
+ faraday-retry (2.0.0)
28
+
29
+ PATH
30
+ remote: vendor/gems/net-http-persistent-4.0.5
31
+ specs:
32
+ net-http-persistent (4.0.5)
33
+
9
34
  GEM
10
35
  remote: https://rubygems.org/
11
36
  specs:
@@ -31,21 +56,10 @@ GEM
31
56
  connection_pool (2.4.1)
32
57
  drb (2.2.0)
33
58
  ruby2_keywords
34
- faraday (2.5.2)
35
- faraday-net_http (>= 2.0, < 3.1)
36
- ruby2_keywords (>= 0.0.4)
37
- faraday-net_http (3.0.2)
38
- faraday-net_http_persistent (2.1.0)
39
- faraday (~> 2.5)
40
- net-http-persistent (~> 4.0)
41
- faraday-retry (2.0.0)
42
- faraday (~> 2.0)
43
59
  i18n (1.14.1)
44
60
  concurrent-ruby (~> 1.0)
45
61
  minitest (5.18.0)
46
62
  mutex_m (0.2.0)
47
- net-http-persistent (4.0.2)
48
- connection_pool (~> 2.2)
49
63
  pg (1.5.4)
50
64
  rake (12.3.3)
51
65
  ruby2_keywords (0.0.5)
@@ -58,7 +72,12 @@ PLATFORMS
58
72
 
59
73
  DEPENDENCIES
60
74
  activerecord (~> 7.0)
75
+ faraday (= 2.5.2)!
76
+ faraday-net_http (= 3.0.2)!
77
+ faraday-net_http_persistent (= 2.3.0)!
78
+ faraday-retry (= 2.0.0)!
61
79
  minitest (~> 5.15)
80
+ net-http-persistent (= 4.0.5)!
62
81
  oso-cloud!
63
82
  pg (~> 1.0)
64
83
  rake (~> 12.0)
data/README.md CHANGED
@@ -32,7 +32,7 @@ architecture, check out the
32
32
  - To get up and running with Oso Cloud, try the
33
33
  [Quickstart guide](https://www.osohq.com/docs/get-started/quickstart).
34
34
  - For method-level documentation, see the
35
- [Ruby Client API documentation](https://www.osohq.com/docs/reference/client-apis/ruby).
35
+ [Ruby Client API documentation](https://www.osohq.com/docs/app-integration/client-apis/ruby).
36
36
  - Full documentation is available at
37
37
  [osohq.com/docs](https://www.osohq.com/docs).
38
38
  - To learn about authorization best practices (not specific to Oso), read the
data/lib/oso/api.rb CHANGED
@@ -511,6 +511,9 @@ module OsoCloud
511
511
  req.params = params unless params.nil?
512
512
  req.headers = headers
513
513
  end
514
+
515
+ create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
516
+
514
517
  response.body
515
518
  rescue Faraday::BadRequestError, Faraday::ServerError, Faraday::ConnectionFailed, Faraday::TimeoutError,
516
519
  Faraday::SSLError => e
@@ -520,6 +523,9 @@ module OsoCloud
520
523
  req.params = params unless params.nil?
521
524
  req.headers = headers
522
525
  end
526
+
527
+ create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
528
+
523
529
  response.body
524
530
  end
525
531
  rescue Faraday::Error => e
@@ -542,6 +548,8 @@ module OsoCloud
542
548
  req.headers = headers
543
549
  end
544
550
 
551
+ create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
552
+
545
553
  @last_offset = response.headers[:OsoOffset] if isMutation
546
554
  response.body
547
555
  # only attempt fallback on 5xx, and connection failure conditions
@@ -554,6 +562,7 @@ module OsoCloud
554
562
  req.body = OsoCloud::Helpers.to_hash(body) unless body.nil?
555
563
  req.headers = headers
556
564
  end
565
+ create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
557
566
  response.body
558
567
  end
559
568
  rescue Faraday::Error => e
@@ -573,6 +582,9 @@ module OsoCloud
573
582
  req.headers = headers
574
583
  req.body = OsoCloud::Helpers.to_hash(body) unless body.nil?
575
584
  end
585
+
586
+ create_api_error(response, "Unexpected status #{response.status}") if response.status >= 300 || response.status < 200
587
+
576
588
  response.body
577
589
  rescue Faraday::Error => e
578
590
  handle_faraday_error e
@@ -580,14 +592,18 @@ module OsoCloud
580
592
 
581
593
  def handle_faraday_error(error)
582
594
  resp = error.response
595
+ create_api_error(resp, error.message)
596
+ end
597
+
598
+ def create_api_error(resp, message)
583
599
  formatted_request_id = if resp.nil? || resp[:headers].nil? || resp[:headers]['X-Request-ID'].nil?
584
600
  ''
585
601
  else
586
602
  ' (Request ID: ' + resp[:headers]['X-Request-ID'] + ')'
587
603
  end
588
604
 
589
- err = if resp.nil? || resp[:body].nil? || resp[:body][:message].nil?
590
- error.message
605
+ err = if resp.nil? || resp[:body].nil? || !resp[:body].is_a?(Hash) || resp[:body][:message].nil?
606
+ message
591
607
  else
592
608
  resp[:body][:message]
593
609
  end
data/lib/oso/oso.rb CHANGED
@@ -8,7 +8,7 @@ require 'oso/helpers'
8
8
 
9
9
  ##
10
10
  # For more detailed documentation, see
11
- # https://www.osohq.com/docs/reference/client-apis/ruby
11
+ # https://www.osohq.com/docs/app-integration/client-apis/ruby
12
12
  module OsoCloud
13
13
  # Represents an object in your application, with a type and id.
14
14
  # Both "type" and "id" should be strings.
@@ -41,8 +41,9 @@ module OsoCloud
41
41
  # @param actor [OsoCloud::Value]
42
42
  # @param action [String]
43
43
  # @param resource [OsoCloud::Value]
44
+ # @param context_facts [Array<fact>]
44
45
  # @return [String]
45
- def authorize_local(actor, action, resource)
46
+ def authorize_local(actor, action, resource, context_facts = [])
46
47
  actor_typed_id = actor.to_api_value
47
48
  resource_typed_id = resource.to_api_value
48
49
  result = @api.post_authorize_query(
@@ -52,7 +53,7 @@ module OsoCloud
52
53
  action: action,
53
54
  resource_type: resource_typed_id.type,
54
55
  resource_id: resource_typed_id.id,
55
- context_facts: []
56
+ context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
56
57
  )
57
58
  )
58
59
  result.sql
@@ -67,8 +68,9 @@ module OsoCloud
67
68
  # @param action [String]
68
69
  # @param resource_type [String]
69
70
  # @param column [String]
71
+ # @param context_facts [Array<fact>]
70
72
  # @return [String]
71
- def list_local(actor, action, resource_type, column)
73
+ def list_local(actor, action, resource_type, column, context_facts = [])
72
74
  actor_typed_id = actor.to_api_value
73
75
  result = @api.post_list_query(
74
76
  query: OsoCloud::Core::ListQuery.new(
@@ -76,7 +78,7 @@ module OsoCloud
76
78
  actor_id: actor_typed_id.id,
77
79
  action: action,
78
80
  resource_type: resource_type,
79
- context_facts: []
81
+ context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
80
82
  ),
81
83
  column: column
82
84
  )
@@ -90,8 +92,9 @@ module OsoCloud
90
92
  #
91
93
  # @param actor [OsoCloud::Value]
92
94
  # @param resource [OsoCloud::Value]
95
+ # @param context_facts [Array<fact>]
93
96
  # @return [String]
94
- def actions_local(actor, resource)
97
+ def actions_local(actor, resource, context_facts = [])
95
98
  actor_typed_id = actor.to_api_value
96
99
  resource_typed_id = resource.to_api_value
97
100
  result = @api.post_actions_query(
@@ -100,7 +103,7 @@ module OsoCloud
100
103
  actor_id: actor_typed_id.id,
101
104
  resource_type: resource_typed_id.type,
102
105
  resource_id: resource_typed_id.id,
103
- context_facts: []
106
+ context_facts: OsoCloud::Helpers.params_to_facts(context_facts)
104
107
  )
105
108
  )
106
109
  result.sql
data/lib/oso/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module OsoCloud
2
- VERSION = '1.8.0'.freeze
2
+ VERSION = '1.9.1.pre.vendored.0'.freeze
3
3
  end