workos 0.10.1 → 0.11.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 +4 -4
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/.semaphore/semaphore.yml +8 -2
- data/Gemfile.lock +49 -36
- data/README.md +13 -230
- data/lib/workos.rb +3 -0
- data/lib/workos/client.rb +21 -4
- data/lib/workos/connection.rb +12 -1
- data/lib/workos/directory.rb +53 -0
- data/lib/workos/directory_group.rb +44 -0
- data/lib/workos/directory_sync.rb +63 -7
- data/lib/workos/directory_user.rb +63 -0
- data/lib/workos/passwordless.rb +4 -0
- data/lib/workos/portal.rb +54 -1
- data/lib/workos/profile.rb +1 -2
- data/lib/workos/sso.rb +31 -6
- data/lib/workos/types.rb +3 -0
- data/lib/workos/types/connection_struct.rb +3 -0
- data/lib/workos/types/directory_group_struct.rb +13 -0
- data/lib/workos/types/directory_struct.rb +16 -0
- data/lib/workos/types/directory_user_struct.rb +19 -0
- data/lib/workos/types/intent_enum.rb +1 -0
- data/lib/workos/version.rb +1 -1
- data/sorbet/rbi/gems/addressable.rbi +199 -0
- data/sorbet/rbi/gems/ast.rbi +49 -0
- data/sorbet/rbi/gems/codecov.rbi +37 -0
- data/sorbet/rbi/gems/crack.rbi +62 -0
- data/sorbet/rbi/gems/docile.rbi +36 -0
- data/sorbet/rbi/gems/hashdiff.rbi +66 -0
- data/sorbet/rbi/gems/parallel.rbi +83 -0
- data/sorbet/rbi/gems/parser.rbi +1429 -0
- data/sorbet/rbi/gems/public_suffix.rbi +104 -0
- data/sorbet/rbi/gems/rainbow.rbi +118 -0
- data/sorbet/rbi/gems/rake.rbi +644 -0
- data/sorbet/rbi/gems/regexp_parser.rbi +926 -0
- data/sorbet/rbi/gems/rexml.rbi +628 -0
- data/sorbet/rbi/gems/rspec-core.rbi +1898 -0
- data/sorbet/rbi/gems/rspec-expectations.rbi +1127 -0
- data/sorbet/rbi/gems/rspec-mocks.rbi +1099 -0
- data/sorbet/rbi/gems/rspec-support.rbi +280 -0
- data/sorbet/rbi/gems/rspec.rbi +15 -0
- data/sorbet/rbi/gems/rubocop-ast.rbi +1355 -0
- data/sorbet/rbi/gems/rubocop.rbi +7253 -0
- data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
- data/sorbet/rbi/gems/simplecov-html.rbi +35 -0
- data/sorbet/rbi/gems/simplecov.rbi +406 -0
- data/sorbet/rbi/gems/unicode-display_width.rbi +17 -0
- data/sorbet/rbi/gems/vcr.rbi +572 -0
- data/sorbet/rbi/gems/webmock.rbi +556 -0
- data/sorbet/rbi/gems/yard.rbi +1165 -0
- data/sorbet/rbi/sorbet-typed/lib/rake/all/rake.rbi +645 -0
- data/sorbet/rbi/sorbet-typed/lib/rspec-core/all/rspec-core.rbi +1891 -0
- data/sorbet/rbi/sorbet-typed/lib/rubocop/~>0.85/rubocop.rbi +2072 -0
- data/sorbet/rbi/sorbet-typed/lib/yard/all/yard.rbi +1214 -0
- data/sorbet/rbi/todo.rbi +1 -3
- data/spec/lib/workos/audit_trail_spec.rb +0 -8
- data/spec/lib/workos/directory_sync_spec.rb +347 -40
- data/spec/lib/workos/passwordless_spec.rb +0 -8
- data/spec/lib/workos/portal_spec.rb +65 -11
- data/spec/lib/workos/sso_spec.rb +142 -76
- data/spec/spec_helper.rb +2 -1
- data/spec/support/fixtures/vcr_cassettes/directory_sync/delete_directory.yml +72 -0
- data/spec/support/fixtures/vcr_cassettes/{sso/list_connections.yml → directory_sync/list_directories/with_after.yml} +7 -7
- data/spec/support/fixtures/vcr_cassettes/{sso/list_connections_with_limit_param.yml → directory_sync/list_directories/with_before.yml} +8 -8
- data/spec/support/fixtures/vcr_cassettes/{sso/list_connections_with_connection_type_param.yml → directory_sync/list_directories/with_domain.yml} +11 -10
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_limit.yml +74 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/{list_directories.yml → list_directories/with_no_options.yml} +1 -1
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories/with_search.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_after.yml +76 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_before.yml +74 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_directory.yml +78 -0
- data/spec/support/fixtures/vcr_cassettes/{sso/list_connections_with_before_param.yml → directory_sync/list_groups/with_limit.yml} +12 -11
- data/spec/support/fixtures/vcr_cassettes/directory_sync/{list_groups.yml → list_groups/with_no_options.yml} +16 -6
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups/with_user.yml +72 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_after.yml +86 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_before.yml +75 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_directory.yml +93 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_group.yml +76 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users/with_limit.yml +75 -0
- data/spec/support/fixtures/vcr_cassettes/directory_sync/{list_users.yml → list_users/with_no_options.yml} +16 -6
- data/spec/support/fixtures/vcr_cassettes/organization/get.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/organization/get_invalid.yml +72 -0
- data/spec/support/fixtures/vcr_cassettes/organization/update.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/organization/update_invalid.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/portal/generate_link_dsync.yml +72 -0
- data/spec/support/fixtures/vcr_cassettes/portal/{generate_link.yml → generate_link_sso.yml} +1 -1
- data/spec/support/fixtures/vcr_cassettes/sso/create_connection_with_valid_source.yml +3 -3
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_after.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_before.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_connection_type.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/sso/{list_connections_with_domain_param.yml → list_connections/with_domain.yml} +6 -6
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_limit.yml +74 -0
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections/with_no_options.yml +73 -0
- data/spec/support/fixtures/vcr_cassettes/sso/{list_connections_with_organization_id_param.yml → list_connections/with_organization_id.yml} +6 -6
- data/workos.gemspec +2 -0
- metadata +109 -42
- data/sorbet/rbi/hidden-definitions/errors.txt +0 -24896
- data/sorbet/rbi/hidden-definitions/hidden.rbi +0 -38411
- data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +0 -8684
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +0 -4222
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +0 -111
- data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +0 -543
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_directories_with_domain_param.yml +0 -63
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_groups_with_directory_param.yml +0 -62
- data/spec/support/fixtures/vcr_cassettes/directory_sync/list_users_with_directory_param.yml +0 -62
- data/spec/support/fixtures/vcr_cassettes/sso/list_connections_with_after_param.yml +0 -72
data/lib/workos/profile.rb
CHANGED
|
@@ -13,7 +13,7 @@ module WorkOS
|
|
|
13
13
|
sig { returns(String) }
|
|
14
14
|
attr_accessor :id, :email, :first_name, :last_name, :connection_id,
|
|
15
15
|
:connection_type, :idp_id, :raw_attributes
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
sig { params(profile_json: String).void }
|
|
18
18
|
def initialize(profile_json)
|
|
19
19
|
raw = parse_json(profile_json)
|
|
@@ -27,7 +27,6 @@ module WorkOS
|
|
|
27
27
|
@idp_id = raw.idp_id
|
|
28
28
|
@raw_attributes = raw.raw_attributes
|
|
29
29
|
end
|
|
30
|
-
# rubocop:enable Metrics/AbcSize
|
|
31
30
|
|
|
32
31
|
sig { returns(String) }
|
|
33
32
|
def full_name
|
data/lib/workos/sso.rb
CHANGED
|
@@ -26,6 +26,8 @@ module WorkOS
|
|
|
26
26
|
# required
|
|
27
27
|
# @param [String] provider A provider name for an Identity Provider
|
|
28
28
|
# configured on your WorkOS dashboard. Only 'Google' is supported.
|
|
29
|
+
# @param [String] connection The ID for a Connection configured on
|
|
30
|
+
# WorkOS.
|
|
29
31
|
# @param [String] client_id The WorkOS client ID for the environment
|
|
30
32
|
# where you've configured your SSO connection.
|
|
31
33
|
# @param [String] project_id The WorkOS project ID for the project.
|
|
@@ -58,15 +60,18 @@ module WorkOS
|
|
|
58
60
|
client_id: T.nilable(String),
|
|
59
61
|
domain: T.nilable(String),
|
|
60
62
|
provider: T.nilable(String),
|
|
63
|
+
connection: T.nilable(String),
|
|
61
64
|
state: T.nilable(String),
|
|
62
65
|
).returns(String)
|
|
63
66
|
end
|
|
67
|
+
# rubocop:disable Metrics/MethodLength, Metrics/ParameterLists
|
|
64
68
|
def authorization_url(
|
|
65
69
|
redirect_uri:,
|
|
66
70
|
project_id: nil,
|
|
67
71
|
client_id: nil,
|
|
68
72
|
domain: nil,
|
|
69
73
|
provider: nil,
|
|
74
|
+
connection: nil,
|
|
70
75
|
state: ''
|
|
71
76
|
)
|
|
72
77
|
if project_id
|
|
@@ -75,7 +80,11 @@ module WorkOS
|
|
|
75
80
|
client_id = project_id
|
|
76
81
|
end
|
|
77
82
|
|
|
78
|
-
|
|
83
|
+
validate_authorization_url_arguments(
|
|
84
|
+
provider: provider,
|
|
85
|
+
domain: domain,
|
|
86
|
+
connection: connection,
|
|
87
|
+
)
|
|
79
88
|
|
|
80
89
|
query = URI.encode_www_form({
|
|
81
90
|
client_id: client_id,
|
|
@@ -84,10 +93,12 @@ module WorkOS
|
|
|
84
93
|
state: state,
|
|
85
94
|
domain: domain,
|
|
86
95
|
provider: provider,
|
|
96
|
+
connection: connection,
|
|
87
97
|
}.compact)
|
|
88
98
|
|
|
89
99
|
"https://#{WorkOS::API_HOSTNAME}/sso/authorize?#{query}"
|
|
90
100
|
end
|
|
101
|
+
# rubocop:enable Metrics/MethodLength, Metrics/ParameterLists
|
|
91
102
|
|
|
92
103
|
# Fetch the profile details for the authenticated SSO user.
|
|
93
104
|
#
|
|
@@ -215,7 +226,7 @@ module WorkOS
|
|
|
215
226
|
sig do
|
|
216
227
|
params(
|
|
217
228
|
options: T::Hash[Symbol, String],
|
|
218
|
-
).returns(
|
|
229
|
+
).returns(WorkOS::Types::ListStruct)
|
|
219
230
|
end
|
|
220
231
|
def list_connections(options = {})
|
|
221
232
|
response = execute_request(
|
|
@@ -226,7 +237,15 @@ module WorkOS
|
|
|
226
237
|
),
|
|
227
238
|
)
|
|
228
239
|
|
|
229
|
-
JSON.parse(response.body)
|
|
240
|
+
parsed_response = JSON.parse(response.body)
|
|
241
|
+
connections = parsed_response['data'].map do |connection|
|
|
242
|
+
::WorkOS::Connection.new(connection.to_json)
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
WorkOS::Types::ListStruct.new(
|
|
246
|
+
data: connections,
|
|
247
|
+
list_metadata: parsed_response['listMetadata'],
|
|
248
|
+
)
|
|
230
249
|
end
|
|
231
250
|
|
|
232
251
|
# Get a Connection
|
|
@@ -284,11 +303,17 @@ module WorkOS
|
|
|
284
303
|
params(
|
|
285
304
|
domain: T.nilable(String),
|
|
286
305
|
provider: T.nilable(String),
|
|
306
|
+
connection: T.nilable(String),
|
|
287
307
|
).void
|
|
288
308
|
end
|
|
289
|
-
def
|
|
290
|
-
|
|
291
|
-
|
|
309
|
+
def validate_authorization_url_arguments(
|
|
310
|
+
domain:,
|
|
311
|
+
provider:,
|
|
312
|
+
connection:
|
|
313
|
+
)
|
|
314
|
+
if [domain, provider, connection].all?(&:nil?)
|
|
315
|
+
raise ArgumentError, 'Either connection, domain, or ' \
|
|
316
|
+
'provider is required.'
|
|
292
317
|
end
|
|
293
318
|
|
|
294
319
|
return unless provider && !PROVIDERS.include?(provider)
|
data/lib/workos/types.rb
CHANGED
|
@@ -6,11 +6,14 @@ module WorkOS
|
|
|
6
6
|
# so we're using Sorbet throughout this Ruby gem.
|
|
7
7
|
module Types
|
|
8
8
|
require_relative 'types/connection_struct'
|
|
9
|
+
require_relative 'types/directory_struct'
|
|
10
|
+
require_relative 'types/directory_group_struct'
|
|
9
11
|
require_relative 'types/intent_enum'
|
|
10
12
|
require_relative 'types/list_struct'
|
|
11
13
|
require_relative 'types/organization_struct'
|
|
12
14
|
require_relative 'types/passwordless_session_struct'
|
|
13
15
|
require_relative 'types/profile_struct'
|
|
14
16
|
require_relative 'types/provider_enum'
|
|
17
|
+
require_relative 'types/directory_user_struct'
|
|
15
18
|
end
|
|
16
19
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# typed: strict
|
|
3
|
+
|
|
4
|
+
module WorkOS
|
|
5
|
+
module Types
|
|
6
|
+
# This DirectoryGroupStruct acts as a typed interface
|
|
7
|
+
# for the DirectoryGroup class
|
|
8
|
+
class DirectoryGroupStruct < T::Struct
|
|
9
|
+
const :id, String
|
|
10
|
+
const :name, String
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# typed: strict
|
|
3
|
+
|
|
4
|
+
module WorkOS
|
|
5
|
+
module Types
|
|
6
|
+
# This DirectoryStruct acts as a typed interface
|
|
7
|
+
# for the Directory class
|
|
8
|
+
class DirectoryStruct < T::Struct
|
|
9
|
+
const :id, String
|
|
10
|
+
const :name, String
|
|
11
|
+
const :domain, String
|
|
12
|
+
const :type, String
|
|
13
|
+
const :state, String
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
# typed: strict
|
|
3
|
+
|
|
4
|
+
module WorkOS
|
|
5
|
+
module Types
|
|
6
|
+
# The DirectoryUserStruct acts as a typed interface
|
|
7
|
+
# for the DirectoryUser class
|
|
8
|
+
class DirectoryUserStruct < T::Struct
|
|
9
|
+
const :id, String
|
|
10
|
+
const :idp_id, String
|
|
11
|
+
const :emails, T::Array[T.untyped]
|
|
12
|
+
const :first_name, T.nilable(String)
|
|
13
|
+
const :last_name, T.nilable(String)
|
|
14
|
+
const :username, T.nilable(String)
|
|
15
|
+
const :state, T.nilable(String)
|
|
16
|
+
const :raw_attributes, T::Hash[Symbol, Object]
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
data/lib/workos/version.rb
CHANGED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
# This file is autogenerated. Do not edit it by hand. Regenerate it with:
|
|
2
|
+
# srb rbi gems
|
|
3
|
+
|
|
4
|
+
# typed: strict
|
|
5
|
+
#
|
|
6
|
+
# If you would like to make changes to this file, great! Please create the gem's shim here:
|
|
7
|
+
#
|
|
8
|
+
# https://github.com/sorbet/sorbet-typed/new/master?filename=lib/addressable/all/addressable.rbi
|
|
9
|
+
#
|
|
10
|
+
# addressable-2.7.0
|
|
11
|
+
|
|
12
|
+
module Addressable
|
|
13
|
+
end
|
|
14
|
+
module Addressable::VERSION
|
|
15
|
+
end
|
|
16
|
+
module Addressable::IDNA
|
|
17
|
+
def self.lookup_unicode_combining_class(codepoint); end
|
|
18
|
+
def self.lookup_unicode_compatibility(codepoint); end
|
|
19
|
+
def self.lookup_unicode_composition(unpacked); end
|
|
20
|
+
def self.lookup_unicode_lowercase(codepoint); end
|
|
21
|
+
def self.punycode_adapt(delta, numpoints, firsttime); end
|
|
22
|
+
def self.punycode_basic?(codepoint); end
|
|
23
|
+
def self.punycode_decode(punycode); end
|
|
24
|
+
def self.punycode_decode_digit(codepoint); end
|
|
25
|
+
def self.punycode_delimiter?(codepoint); end
|
|
26
|
+
def self.punycode_encode(unicode); end
|
|
27
|
+
def self.punycode_encode_digit(d); end
|
|
28
|
+
def self.to_ascii(input); end
|
|
29
|
+
def self.to_unicode(input); end
|
|
30
|
+
def self.unicode_compose(unpacked); end
|
|
31
|
+
def self.unicode_compose_pair(ch_one, ch_two); end
|
|
32
|
+
def self.unicode_decompose(unpacked); end
|
|
33
|
+
def self.unicode_decompose_hangul(codepoint); end
|
|
34
|
+
def self.unicode_downcase(input); end
|
|
35
|
+
def self.unicode_normalize_kc(input); end
|
|
36
|
+
def self.unicode_sort_canonical(unpacked); end
|
|
37
|
+
end
|
|
38
|
+
class Addressable::IDNA::PunycodeBadInput < StandardError
|
|
39
|
+
end
|
|
40
|
+
class Addressable::IDNA::PunycodeBigOutput < StandardError
|
|
41
|
+
end
|
|
42
|
+
class Addressable::IDNA::PunycodeOverflow < StandardError
|
|
43
|
+
end
|
|
44
|
+
class Addressable::URI
|
|
45
|
+
def +(uri); end
|
|
46
|
+
def ==(uri); end
|
|
47
|
+
def ===(uri); end
|
|
48
|
+
def absolute?; end
|
|
49
|
+
def authority; end
|
|
50
|
+
def authority=(new_authority); end
|
|
51
|
+
def basename; end
|
|
52
|
+
def default_port; end
|
|
53
|
+
def defer_validation; end
|
|
54
|
+
def display_uri; end
|
|
55
|
+
def domain; end
|
|
56
|
+
def dup; end
|
|
57
|
+
def empty?; end
|
|
58
|
+
def eql?(uri); end
|
|
59
|
+
def extname; end
|
|
60
|
+
def fragment; end
|
|
61
|
+
def fragment=(new_fragment); end
|
|
62
|
+
def freeze; end
|
|
63
|
+
def hash; end
|
|
64
|
+
def host; end
|
|
65
|
+
def host=(new_host); end
|
|
66
|
+
def hostname; end
|
|
67
|
+
def hostname=(new_hostname); end
|
|
68
|
+
def inferred_port; end
|
|
69
|
+
def initialize(options = nil); end
|
|
70
|
+
def inspect; end
|
|
71
|
+
def ip_based?; end
|
|
72
|
+
def join!(uri); end
|
|
73
|
+
def join(uri); end
|
|
74
|
+
def merge!(uri); end
|
|
75
|
+
def merge(hash); end
|
|
76
|
+
def normalize!; end
|
|
77
|
+
def normalize; end
|
|
78
|
+
def normalized_authority; end
|
|
79
|
+
def normalized_fragment; end
|
|
80
|
+
def normalized_host; end
|
|
81
|
+
def normalized_password; end
|
|
82
|
+
def normalized_path; end
|
|
83
|
+
def normalized_port; end
|
|
84
|
+
def normalized_query(*flags); end
|
|
85
|
+
def normalized_scheme; end
|
|
86
|
+
def normalized_site; end
|
|
87
|
+
def normalized_user; end
|
|
88
|
+
def normalized_userinfo; end
|
|
89
|
+
def omit!(*components); end
|
|
90
|
+
def omit(*components); end
|
|
91
|
+
def origin; end
|
|
92
|
+
def origin=(new_origin); end
|
|
93
|
+
def password; end
|
|
94
|
+
def password=(new_password); end
|
|
95
|
+
def path; end
|
|
96
|
+
def path=(new_path); end
|
|
97
|
+
def port; end
|
|
98
|
+
def port=(new_port); end
|
|
99
|
+
def query; end
|
|
100
|
+
def query=(new_query); end
|
|
101
|
+
def query_values(return_type = nil); end
|
|
102
|
+
def query_values=(new_query_values); end
|
|
103
|
+
def relative?; end
|
|
104
|
+
def remove_composite_values; end
|
|
105
|
+
def replace_self(uri); end
|
|
106
|
+
def request_uri; end
|
|
107
|
+
def request_uri=(new_request_uri); end
|
|
108
|
+
def route_from(uri); end
|
|
109
|
+
def route_to(uri); end
|
|
110
|
+
def scheme; end
|
|
111
|
+
def scheme=(new_scheme); end
|
|
112
|
+
def self.convert_path(path); end
|
|
113
|
+
def self.encode(uri, return_type = nil); end
|
|
114
|
+
def self.encode_component(component, character_class = nil, upcase_encoded = nil); end
|
|
115
|
+
def self.escape(uri, return_type = nil); end
|
|
116
|
+
def self.form_encode(form_values, sort = nil); end
|
|
117
|
+
def self.form_unencode(encoded_value); end
|
|
118
|
+
def self.heuristic_parse(uri, hints = nil); end
|
|
119
|
+
def self.ip_based_schemes; end
|
|
120
|
+
def self.join(*uris); end
|
|
121
|
+
def self.normalize_component(component, character_class = nil, leave_encoded = nil); end
|
|
122
|
+
def self.normalize_path(path); end
|
|
123
|
+
def self.normalized_encode(uri, return_type = nil); end
|
|
124
|
+
def self.parse(uri); end
|
|
125
|
+
def self.port_mapping; end
|
|
126
|
+
def self.unencode(uri, return_type = nil, leave_encoded = nil); end
|
|
127
|
+
def self.unencode_component(uri, return_type = nil, leave_encoded = nil); end
|
|
128
|
+
def self.unescape(uri, return_type = nil, leave_encoded = nil); end
|
|
129
|
+
def self.unescape_component(uri, return_type = nil, leave_encoded = nil); end
|
|
130
|
+
def site; end
|
|
131
|
+
def site=(new_site); end
|
|
132
|
+
def split_path(path); end
|
|
133
|
+
def tld; end
|
|
134
|
+
def tld=(new_tld); end
|
|
135
|
+
def to_hash; end
|
|
136
|
+
def to_s; end
|
|
137
|
+
def to_str; end
|
|
138
|
+
def user; end
|
|
139
|
+
def user=(new_user); end
|
|
140
|
+
def userinfo; end
|
|
141
|
+
def userinfo=(new_userinfo); end
|
|
142
|
+
def validate; end
|
|
143
|
+
end
|
|
144
|
+
class Addressable::URI::InvalidURIError < StandardError
|
|
145
|
+
end
|
|
146
|
+
module Addressable::URI::CharacterClasses
|
|
147
|
+
end
|
|
148
|
+
class Addressable::Template
|
|
149
|
+
def ==(template); end
|
|
150
|
+
def eql?(template); end
|
|
151
|
+
def expand(mapping, processor = nil, normalize_values = nil); end
|
|
152
|
+
def extract(uri, processor = nil); end
|
|
153
|
+
def freeze; end
|
|
154
|
+
def generate(params = nil, recall = nil, options = nil); end
|
|
155
|
+
def initialize(pattern); end
|
|
156
|
+
def inspect; end
|
|
157
|
+
def join_values(operator, return_value); end
|
|
158
|
+
def keys; end
|
|
159
|
+
def match(uri, processor = nil); end
|
|
160
|
+
def named_captures; end
|
|
161
|
+
def names; end
|
|
162
|
+
def normalize_keys(mapping); end
|
|
163
|
+
def normalize_value(value); end
|
|
164
|
+
def ordered_variable_defaults; end
|
|
165
|
+
def parse_template_pattern(pattern, processor = nil); end
|
|
166
|
+
def partial_expand(mapping, processor = nil, normalize_values = nil); end
|
|
167
|
+
def pattern; end
|
|
168
|
+
def source; end
|
|
169
|
+
def to_regexp; end
|
|
170
|
+
def transform_capture(mapping, capture, processor = nil, normalize_values = nil); end
|
|
171
|
+
def transform_partial_capture(mapping, capture, processor = nil, normalize_values = nil); end
|
|
172
|
+
def variable_defaults; end
|
|
173
|
+
def variables; end
|
|
174
|
+
end
|
|
175
|
+
class Addressable::Template::InvalidTemplateValueError < StandardError
|
|
176
|
+
end
|
|
177
|
+
class Addressable::Template::InvalidTemplateOperatorError < StandardError
|
|
178
|
+
end
|
|
179
|
+
class Addressable::Template::TemplateOperatorAbortedError < StandardError
|
|
180
|
+
end
|
|
181
|
+
class Addressable::Template::MatchData
|
|
182
|
+
def [](key, len = nil); end
|
|
183
|
+
def captures; end
|
|
184
|
+
def initialize(uri, template, mapping); end
|
|
185
|
+
def inspect; end
|
|
186
|
+
def keys; end
|
|
187
|
+
def mapping; end
|
|
188
|
+
def names; end
|
|
189
|
+
def post_match; end
|
|
190
|
+
def pre_match; end
|
|
191
|
+
def string; end
|
|
192
|
+
def template; end
|
|
193
|
+
def to_a; end
|
|
194
|
+
def to_s; end
|
|
195
|
+
def uri; end
|
|
196
|
+
def values; end
|
|
197
|
+
def values_at(*indexes); end
|
|
198
|
+
def variables; end
|
|
199
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# This file is autogenerated. Do not edit it by hand. Regenerate it with:
|
|
2
|
+
# srb rbi gems
|
|
3
|
+
|
|
4
|
+
# typed: strict
|
|
5
|
+
#
|
|
6
|
+
# If you would like to make changes to this file, great! Please create the gem's shim here:
|
|
7
|
+
#
|
|
8
|
+
# https://github.com/sorbet/sorbet-typed/new/master?filename=lib/ast/all/ast.rbi
|
|
9
|
+
#
|
|
10
|
+
# ast-2.4.2
|
|
11
|
+
|
|
12
|
+
module AST
|
|
13
|
+
end
|
|
14
|
+
class AST::Node
|
|
15
|
+
def +(array); end
|
|
16
|
+
def <<(element); end
|
|
17
|
+
def ==(other); end
|
|
18
|
+
def append(element); end
|
|
19
|
+
def assign_properties(properties); end
|
|
20
|
+
def children; end
|
|
21
|
+
def clone; end
|
|
22
|
+
def concat(array); end
|
|
23
|
+
def deconstruct; end
|
|
24
|
+
def dup; end
|
|
25
|
+
def eql?(other); end
|
|
26
|
+
def fancy_type; end
|
|
27
|
+
def hash; end
|
|
28
|
+
def initialize(type, children = nil, properties = nil); end
|
|
29
|
+
def inspect(indent = nil); end
|
|
30
|
+
def original_dup; end
|
|
31
|
+
def to_a; end
|
|
32
|
+
def to_ast; end
|
|
33
|
+
def to_s(indent = nil); end
|
|
34
|
+
def to_sexp(indent = nil); end
|
|
35
|
+
def to_sexp_array; end
|
|
36
|
+
def type; end
|
|
37
|
+
def updated(type = nil, children = nil, properties = nil); end
|
|
38
|
+
end
|
|
39
|
+
class AST::Processor
|
|
40
|
+
include AST::Processor::Mixin
|
|
41
|
+
end
|
|
42
|
+
module AST::Processor::Mixin
|
|
43
|
+
def handler_missing(node); end
|
|
44
|
+
def process(node); end
|
|
45
|
+
def process_all(nodes); end
|
|
46
|
+
end
|
|
47
|
+
module AST::Sexp
|
|
48
|
+
def s(type, *children); end
|
|
49
|
+
end
|