workos 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -2
  3. data/Gemfile.lock +6 -2
  4. data/README.md +179 -8
  5. data/bin/docs +2 -2
  6. data/codecov.yml +1 -0
  7. data/docs/WorkOS.html +22 -26
  8. data/docs/WorkOS/APIError.html +160 -0
  9. data/docs/WorkOS/AuditLog.html +235 -0
  10. data/docs/WorkOS/AuthenticationError.html +160 -0
  11. data/docs/WorkOS/Base.html +27 -32
  12. data/docs/WorkOS/Client.html +493 -0
  13. data/docs/WorkOS/InvalidRequestError.html +160 -0
  14. data/docs/WorkOS/Profile.html +80 -17
  15. data/docs/WorkOS/RequestError.html +6 -6
  16. data/docs/WorkOS/SSO.html +118 -74
  17. data/docs/WorkOS/Types.html +9 -10
  18. data/docs/WorkOS/Types/ProfileStruct.html +6 -6
  19. data/docs/WorkOS/Types/Provider.html +135 -0
  20. data/docs/WorkOS/WorkOSError.html +447 -0
  21. data/docs/class_list.html +3 -3
  22. data/docs/css/style.css +2 -2
  23. data/docs/file.README.html +173 -13
  24. data/docs/file_list.html +2 -2
  25. data/docs/frames.html +2 -2
  26. data/docs/index.html +77 -16
  27. data/docs/js/app.js +14 -3
  28. data/docs/method_list.html +96 -8
  29. data/docs/top-level-namespace.html +6 -6
  30. data/lib/workos.rb +7 -2
  31. data/lib/workos/audit_log.rb +78 -0
  32. data/lib/workos/base.rb +5 -6
  33. data/lib/workos/client.rb +86 -0
  34. data/lib/workos/errors.rb +48 -0
  35. data/lib/workos/sso.rb +49 -27
  36. data/lib/workos/types.rb +2 -1
  37. data/lib/workos/types/provider_enum.rb +14 -0
  38. data/lib/workos/version.rb +2 -2
  39. data/sorbet/rbi/hidden-definitions/errors.txt +22108 -4368
  40. data/sorbet/rbi/hidden-definitions/hidden.rbi +32490 -6059
  41. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +1 -1
  42. data/sorbet/rbi/todo.rbi +5 -0
  43. data/spec/lib/workos/audit_log_spec.rb +140 -0
  44. data/spec/lib/workos/base_spec.rb +30 -0
  45. data/spec/lib/workos/sso_spec.rb +131 -36
  46. data/spec/spec_helper.rb +21 -1
  47. data/spec/support/fixtures/vcr_cassettes/audit_log/create_event.yml +65 -0
  48. data/spec/support/fixtures/vcr_cassettes/audit_log/create_event_custom_idempotency_key.yml +67 -0
  49. data/spec/support/fixtures/vcr_cassettes/audit_log/create_event_invalid.yml +68 -0
  50. data/spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_and_payload.yml +131 -0
  51. data/spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_different_payload.yml +134 -0
  52. data/spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml +66 -0
  53. data/workos.gemspec +2 -0
  54. metadata +57 -27
  55. data/lib/workos/request_error.rb +0 -5
  56. data/sorbet/rbi/gems/addressable.rbi +0 -198
  57. data/sorbet/rbi/gems/ast.rbi +0 -47
  58. data/sorbet/rbi/gems/codecov.rbi +0 -19
  59. data/sorbet/rbi/gems/crack.rbi +0 -47
  60. data/sorbet/rbi/gems/docile.rbi +0 -31
  61. data/sorbet/rbi/gems/hashdiff.rbi +0 -65
  62. data/sorbet/rbi/gems/jaro_winkler.rbi +0 -14
  63. data/sorbet/rbi/gems/parallel.rbi +0 -81
  64. data/sorbet/rbi/gems/parser.rbi +0 -856
  65. data/sorbet/rbi/gems/public_suffix.rbi +0 -102
  66. data/sorbet/rbi/gems/rack.rbi +0 -103
  67. data/sorbet/rbi/gems/rainbow.rbi +0 -117
  68. data/sorbet/rbi/gems/rake.rbi +0 -632
  69. data/sorbet/rbi/gems/rspec-core.rbi +0 -1661
  70. data/sorbet/rbi/gems/rspec-expectations.rbi +0 -388
  71. data/sorbet/rbi/gems/rspec-mocks.rbi +0 -823
  72. data/sorbet/rbi/gems/rspec-support.rbi +0 -266
  73. data/sorbet/rbi/gems/rspec.rbi +0 -14
  74. data/sorbet/rbi/gems/rubocop.rbi +0 -7083
  75. data/sorbet/rbi/gems/ruby-progressbar.rbi +0 -304
  76. data/sorbet/rbi/gems/simplecov-html.rbi +0 -30
  77. data/sorbet/rbi/gems/simplecov.rbi +0 -225
  78. data/sorbet/rbi/gems/unicode-display_width.rbi +0 -16
  79. data/sorbet/rbi/gems/webmock.rbi +0 -526
@@ -0,0 +1,66 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.workos.com/events
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ Content-Type:
11
+ - application/json
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ User-Agent:
17
+ - WorkOS; ruby/2.6.5; x86_64-darwin19; v0.1.0
18
+ Authorization:
19
+ - 'Bearer '
20
+ response:
21
+ status:
22
+ code: 401
23
+ message: Unauthorized
24
+ headers:
25
+ Server:
26
+ - Cowboy
27
+ Connection:
28
+ - keep-alive
29
+ Access-Control-Allow-Origin:
30
+ - https://dashboard.workos-test.com
31
+ Vary:
32
+ - Origin, Accept-Encoding
33
+ Access-Control-Allow-Credentials:
34
+ - 'true'
35
+ X-Dns-Prefetch-Control:
36
+ - 'off'
37
+ X-Frame-Options:
38
+ - SAMEORIGIN
39
+ Strict-Transport-Security:
40
+ - max-age=15552000; includeSubDomains
41
+ X-Download-Options:
42
+ - noopen
43
+ X-Content-Type-Options:
44
+ - nosniff
45
+ X-Xss-Protection:
46
+ - 1; mode=block
47
+ X-Request-Id:
48
+ - 32a67a24-bfaf-4463-bf47-c407d54955d3
49
+ Request-Id:
50
+ - 32a67a24-bfaf-4463-bf47-c407d54955d3
51
+ Content-Type:
52
+ - application/json; charset=utf-8
53
+ Content-Length:
54
+ - '26'
55
+ Etag:
56
+ - W/"1a-pljHtlo127JYJR4E/RYOPb6ucbw"
57
+ Date:
58
+ - Sat, 11 Jan 2020 03:50:27 GMT
59
+ Via:
60
+ - 1.1 vegur
61
+ body:
62
+ encoding: UTF-8
63
+ string: '{"message":"Unauthorized"}'
64
+ http_version:
65
+ recorded_at: Sat, 11 Jan 2020 03:50:27 GMT
66
+ recorded_with: VCR 5.0.0
@@ -27,5 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'rspec', '~> 3.9.0'
28
28
  spec.add_development_dependency 'rubocop', '~> 0.77'
29
29
  spec.add_development_dependency 'sorbet', '~> 0.5'
30
+ spec.add_development_dependency 'vcr', '~> 5.0.0'
30
31
  spec.add_development_dependency 'webmock'
32
+ spec.add_development_dependency 'yard'
31
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - WorkOS
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2019-12-27 00:00:00.000000000 Z
13
+ date: 2020-01-31 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: sorbet-runtime
@@ -110,6 +110,20 @@ dependencies:
110
110
  - - "~>"
111
111
  - !ruby/object:Gem::Version
112
112
  version: '0.5'
113
+ - !ruby/object:Gem::Dependency
114
+ name: vcr
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: 5.0.0
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - "~>"
125
+ - !ruby/object:Gem::Version
126
+ version: 5.0.0
113
127
  - !ruby/object:Gem::Dependency
114
128
  name: webmock
115
129
  requirement: !ruby/object:Gem::Requirement
@@ -124,6 +138,20 @@ dependencies:
124
138
  - - ">="
125
139
  - !ruby/object:Gem::Version
126
140
  version: '0'
141
+ - !ruby/object:Gem::Dependency
142
+ name: yard
143
+ requirement: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ type: :development
149
+ prerelease: false
150
+ version_requirements: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
127
155
  description: API client for WorkOS
128
156
  email:
129
157
  - team@workos.com
@@ -155,12 +183,19 @@ files:
155
183
  - bin/publish
156
184
  - codecov.yml
157
185
  - docs/WorkOS.html
186
+ - docs/WorkOS/APIError.html
187
+ - docs/WorkOS/AuditLog.html
188
+ - docs/WorkOS/AuthenticationError.html
158
189
  - docs/WorkOS/Base.html
190
+ - docs/WorkOS/Client.html
191
+ - docs/WorkOS/InvalidRequestError.html
159
192
  - docs/WorkOS/Profile.html
160
193
  - docs/WorkOS/RequestError.html
161
194
  - docs/WorkOS/SSO.html
162
195
  - docs/WorkOS/Types.html
163
196
  - docs/WorkOS/Types/ProfileStruct.html
197
+ - docs/WorkOS/Types/Provider.html
198
+ - docs/WorkOS/WorkOSError.html
164
199
  - docs/class_list.html
165
200
  - docs/css/common.css
166
201
  - docs/css/full_list.css
@@ -175,38 +210,17 @@ files:
175
210
  - docs/method_list.html
176
211
  - docs/top-level-namespace.html
177
212
  - lib/workos.rb
213
+ - lib/workos/audit_log.rb
178
214
  - lib/workos/base.rb
215
+ - lib/workos/client.rb
216
+ - lib/workos/errors.rb
179
217
  - lib/workos/profile.rb
180
- - lib/workos/request_error.rb
181
218
  - lib/workos/sso.rb
182
219
  - lib/workos/types.rb
183
220
  - lib/workos/types/profile_struct.rb
221
+ - lib/workos/types/provider_enum.rb
184
222
  - lib/workos/version.rb
185
223
  - sorbet/config
186
- - sorbet/rbi/gems/addressable.rbi
187
- - sorbet/rbi/gems/ast.rbi
188
- - sorbet/rbi/gems/codecov.rbi
189
- - sorbet/rbi/gems/crack.rbi
190
- - sorbet/rbi/gems/docile.rbi
191
- - sorbet/rbi/gems/hashdiff.rbi
192
- - sorbet/rbi/gems/jaro_winkler.rbi
193
- - sorbet/rbi/gems/parallel.rbi
194
- - sorbet/rbi/gems/parser.rbi
195
- - sorbet/rbi/gems/public_suffix.rbi
196
- - sorbet/rbi/gems/rack.rbi
197
- - sorbet/rbi/gems/rainbow.rbi
198
- - sorbet/rbi/gems/rake.rbi
199
- - sorbet/rbi/gems/rspec-core.rbi
200
- - sorbet/rbi/gems/rspec-expectations.rbi
201
- - sorbet/rbi/gems/rspec-mocks.rbi
202
- - sorbet/rbi/gems/rspec-support.rbi
203
- - sorbet/rbi/gems/rspec.rbi
204
- - sorbet/rbi/gems/rubocop.rbi
205
- - sorbet/rbi/gems/ruby-progressbar.rbi
206
- - sorbet/rbi/gems/simplecov-html.rbi
207
- - sorbet/rbi/gems/simplecov.rbi
208
- - sorbet/rbi/gems/unicode-display_width.rbi
209
- - sorbet/rbi/gems/webmock.rbi
210
224
  - sorbet/rbi/hidden-definitions/errors.txt
211
225
  - sorbet/rbi/hidden-definitions/hidden.rbi
212
226
  - sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi
@@ -215,8 +229,16 @@ files:
215
229
  - sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi
216
230
  - sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi
217
231
  - sorbet/rbi/todo.rbi
232
+ - spec/lib/workos/audit_log_spec.rb
233
+ - spec/lib/workos/base_spec.rb
218
234
  - spec/lib/workos/sso_spec.rb
219
235
  - spec/spec_helper.rb
236
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event.yml
237
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event_custom_idempotency_key.yml
238
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event_invalid.yml
239
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_and_payload.yml
240
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_different_payload.yml
241
+ - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
220
242
  - spec/support/profile.txt
221
243
  - workos.gemspec
222
244
  homepage: https://github.com/workos/workos-ruby
@@ -243,6 +265,14 @@ signing_key:
243
265
  specification_version: 4
244
266
  summary: API client for WorkOS
245
267
  test_files:
268
+ - spec/lib/workos/audit_log_spec.rb
269
+ - spec/lib/workos/base_spec.rb
246
270
  - spec/lib/workos/sso_spec.rb
247
271
  - spec/spec_helper.rb
272
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event.yml
273
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event_custom_idempotency_key.yml
274
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_event_invalid.yml
275
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_and_payload.yml
276
+ - spec/support/fixtures/vcr_cassettes/audit_log/create_events_duplicate_idempotency_key_different_payload.yml
277
+ - spec/support/fixtures/vcr_cassettes/base/execute_request_unauthenticated.yml
248
278
  - spec/support/profile.txt
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
- module WorkOS
3
- # Raised when an API request is unsuccessful
4
- class RequestError < StandardError; end
5
- end
@@ -1,198 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi gems
3
-
4
- # typed: strong
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
- module Addressable
12
- end
13
- module Addressable::VERSION
14
- end
15
- module Addressable::IDNA
16
- def self.lookup_unicode_combining_class(codepoint); end
17
- def self.lookup_unicode_compatibility(codepoint); end
18
- def self.lookup_unicode_composition(unpacked); end
19
- def self.lookup_unicode_lowercase(codepoint); end
20
- def self.punycode_adapt(delta, numpoints, firsttime); end
21
- def self.punycode_basic?(codepoint); end
22
- def self.punycode_decode(punycode); end
23
- def self.punycode_decode_digit(codepoint); end
24
- def self.punycode_delimiter?(codepoint); end
25
- def self.punycode_encode(unicode); end
26
- def self.punycode_encode_digit(d); end
27
- def self.to_ascii(input); end
28
- def self.to_unicode(input); end
29
- def self.unicode_compose(unpacked); end
30
- def self.unicode_compose_pair(ch_one, ch_two); end
31
- def self.unicode_decompose(unpacked); end
32
- def self.unicode_decompose_hangul(codepoint); end
33
- def self.unicode_downcase(input); end
34
- def self.unicode_normalize_kc(input); end
35
- def self.unicode_sort_canonical(unpacked); end
36
- end
37
- class Addressable::IDNA::PunycodeBadInput < StandardError
38
- end
39
- class Addressable::IDNA::PunycodeBigOutput < StandardError
40
- end
41
- class Addressable::IDNA::PunycodeOverflow < StandardError
42
- end
43
- class Addressable::URI
44
- def +(uri); end
45
- def ==(uri); end
46
- def ===(uri); end
47
- def absolute?; end
48
- def authority; end
49
- def authority=(new_authority); end
50
- def basename; end
51
- def default_port; end
52
- def defer_validation; end
53
- def display_uri; end
54
- def domain; end
55
- def dup; end
56
- def empty?; end
57
- def eql?(uri); end
58
- def extname; end
59
- def fragment; end
60
- def fragment=(new_fragment); end
61
- def freeze; end
62
- def hash; end
63
- def host; end
64
- def host=(new_host); end
65
- def hostname; end
66
- def hostname=(new_hostname); end
67
- def inferred_port; end
68
- def initialize(options = nil); end
69
- def inspect; end
70
- def ip_based?; end
71
- def join!(uri); end
72
- def join(uri); end
73
- def merge!(uri); end
74
- def merge(hash); end
75
- def normalize!; end
76
- def normalize; end
77
- def normalized_authority; end
78
- def normalized_fragment; end
79
- def normalized_host; end
80
- def normalized_password; end
81
- def normalized_path; end
82
- def normalized_port; end
83
- def normalized_query(*flags); end
84
- def normalized_scheme; end
85
- def normalized_site; end
86
- def normalized_user; end
87
- def normalized_userinfo; end
88
- def omit!(*components); end
89
- def omit(*components); end
90
- def origin; end
91
- def origin=(new_origin); end
92
- def password; end
93
- def password=(new_password); end
94
- def path; end
95
- def path=(new_path); end
96
- def port; end
97
- def port=(new_port); end
98
- def query; end
99
- def query=(new_query); end
100
- def query_values(return_type = nil); end
101
- def query_values=(new_query_values); end
102
- def relative?; end
103
- def remove_composite_values; end
104
- def replace_self(uri); end
105
- def request_uri; end
106
- def request_uri=(new_request_uri); end
107
- def route_from(uri); end
108
- def route_to(uri); end
109
- def scheme; end
110
- def scheme=(new_scheme); end
111
- def self.convert_path(path); end
112
- def self.encode(uri, return_type = nil); end
113
- def self.encode_component(component, character_class = nil, upcase_encoded = nil); end
114
- def self.escape(uri, return_type = nil); end
115
- def self.form_encode(form_values, sort = nil); end
116
- def self.form_unencode(encoded_value); end
117
- def self.heuristic_parse(uri, hints = nil); end
118
- def self.ip_based_schemes; end
119
- def self.join(*uris); end
120
- def self.normalize_component(component, character_class = nil, leave_encoded = nil); end
121
- def self.normalize_path(path); end
122
- def self.normalized_encode(uri, return_type = nil); end
123
- def self.parse(uri); end
124
- def self.port_mapping; end
125
- def self.unencode(uri, return_type = nil, leave_encoded = nil); end
126
- def self.unencode_component(uri, return_type = nil, leave_encoded = nil); end
127
- def self.unescape(uri, return_type = nil, leave_encoded = nil); end
128
- def self.unescape_component(uri, return_type = nil, leave_encoded = nil); end
129
- def site; end
130
- def site=(new_site); end
131
- def split_path(path); end
132
- def tld; end
133
- def tld=(new_tld); end
134
- def to_hash; end
135
- def to_s; end
136
- def to_str; end
137
- def user; end
138
- def user=(new_user); end
139
- def userinfo; end
140
- def userinfo=(new_userinfo); end
141
- def validate; end
142
- end
143
- class Addressable::URI::InvalidURIError < StandardError
144
- end
145
- module Addressable::URI::CharacterClasses
146
- end
147
- class Addressable::Template
148
- def ==(template); end
149
- def eql?(template); end
150
- def expand(mapping, processor = nil, normalize_values = nil); end
151
- def extract(uri, processor = nil); end
152
- def freeze; end
153
- def generate(params = nil, recall = nil, options = nil); end
154
- def initialize(pattern); end
155
- def inspect; end
156
- def join_values(operator, return_value); end
157
- def keys; end
158
- def match(uri, processor = nil); end
159
- def named_captures; end
160
- def names; end
161
- def normalize_keys(mapping); end
162
- def normalize_value(value); end
163
- def ordered_variable_defaults; end
164
- def parse_template_pattern(pattern, processor = nil); end
165
- def partial_expand(mapping, processor = nil, normalize_values = nil); end
166
- def pattern; end
167
- def source; end
168
- def to_regexp; end
169
- def transform_capture(mapping, capture, processor = nil, normalize_values = nil); end
170
- def transform_partial_capture(mapping, capture, processor = nil, normalize_values = nil); end
171
- def variable_defaults; end
172
- def variables; end
173
- end
174
- class Addressable::Template::InvalidTemplateValueError < StandardError
175
- end
176
- class Addressable::Template::InvalidTemplateOperatorError < StandardError
177
- end
178
- class Addressable::Template::TemplateOperatorAbortedError < StandardError
179
- end
180
- class Addressable::Template::MatchData
181
- def [](key, len = nil); end
182
- def captures; end
183
- def initialize(uri, template, mapping); end
184
- def inspect; end
185
- def keys; end
186
- def mapping; end
187
- def names; end
188
- def post_match; end
189
- def pre_match; end
190
- def string; end
191
- def template; end
192
- def to_a; end
193
- def to_s; end
194
- def uri; end
195
- def values; end
196
- def values_at(*indexes); end
197
- def variables; end
198
- end
@@ -1,47 +0,0 @@
1
- # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
- # srb rbi gems
3
-
4
- # typed: strong
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.0
11
- module AST
12
- end
13
- class AST::Node
14
- def +(array); end
15
- def <<(element); end
16
- def ==(other); end
17
- def append(element); end
18
- def assign_properties(properties); end
19
- def children; end
20
- def clone; end
21
- def concat(array); end
22
- def dup; end
23
- def eql?(other); end
24
- def fancy_type; end
25
- def hash; end
26
- def initialize(type, children = nil, properties = nil); end
27
- def inspect(indent = nil); end
28
- def original_dup; end
29
- def to_a; end
30
- def to_ast; end
31
- def to_s(indent = nil); end
32
- def to_sexp(indent = nil); end
33
- def to_sexp_array; end
34
- def type; end
35
- def updated(type = nil, children = nil, properties = nil); end
36
- end
37
- class AST::Processor
38
- include AST::Processor::Mixin
39
- end
40
- module AST::Processor::Mixin
41
- def handler_missing(node); end
42
- def process(node); end
43
- def process_all(nodes); end
44
- end
45
- module AST::Sexp
46
- def s(type, *children); end
47
- end