rubysky 0.4.0 → 0.5.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.
- checksums.yaml +4 -4
- data/.gem_rbs_collection/activesupport/7.0/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/activesupport/7.0/activesupport-7.0.rbs +239 -0
- data/.gem_rbs_collection/activesupport/7.0/activesupport-generated.rbs +0 -141
- data/.gem_rbs_collection/activesupport/7.0/activesupport.rbs +141 -0
- data/.gem_rbs_collection/ast/2.4/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/concurrent-ruby/1.1/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/connection_pool/2.4/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/connection_pool/2.4/manifest.yaml +1 -1
- data/.gem_rbs_collection/diff-lcs/1.5/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/i18n/1.10/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/listen/3.9/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/parallel/1.20/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/parser/3.2/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/rainbow/3.0/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/rake/13.0/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/regexp_parser/2.8/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/rubocop/1.57/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/rubocop-ast/1.30/.rbs_meta.yaml +1 -1
- data/.gem_rbs_collection/tzinfo/2.0/.rbs_meta.yaml +1 -1
- data/lib/rubysky/raw/client.rb +35 -0
- data/lib/rubysky/version.rb +1 -1
- data/rbs_collection.lock.yaml +26 -22
- data/sig/rubysky.rbs +7 -1
- metadata +3 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f87f2e74de1715a21180af819d5fcca14528c11a281111f661c02046683aa161
|
4
|
+
data.tar.gz: 6bc798abba202fb175489092538862157d6e0238675e6086fb79578ddfeed5ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4490dfc932d909faf3ebb882518a19d9b922102850562e44ab04649cec114c8fbbe22edf84b10e0b7b422da00893b9733c9c63e5838bec3d6d08fa041895b978
|
7
|
+
data.tar.gz: 883934d47f33e22ce7a4020b9770c1c46bc72fd8c46eafae920b47b00e31ff37dfbf599c16cd37ab910098b84b56ed2a64001c82e3179398fc8f830916b5ddb8
|
@@ -138,3 +138,242 @@ end
|
|
138
138
|
class String
|
139
139
|
def downcase_first: () -> String
|
140
140
|
end
|
141
|
+
|
142
|
+
# active_support/core_ext/array/conversions.rb
|
143
|
+
class Array[unchecked out Elem]
|
144
|
+
# Extends <tt>Array#to_s</tt> to convert a collection of elements into a
|
145
|
+
# comma separated id list if <tt>:db</tt> argument is given as the format.
|
146
|
+
#
|
147
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
148
|
+
#
|
149
|
+
# Blog.all.to_fs(:db) # => "1,2,3"
|
150
|
+
# Blog.none.to_fs(:db) # => "null"
|
151
|
+
# [1,2].to_fs # => "[1, 2]"
|
152
|
+
def to_fs: (?Symbol format) -> String
|
153
|
+
end
|
154
|
+
|
155
|
+
# active_support/core_ext/numeric/conversions.rb
|
156
|
+
class Numeric
|
157
|
+
# \Numeric With Format
|
158
|
+
#
|
159
|
+
# Provides options for converting numbers into formatted strings.
|
160
|
+
# Options are provided for phone numbers, currency, percentage,
|
161
|
+
# precision, positional notation, file size, and pretty printing.
|
162
|
+
#
|
163
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
164
|
+
#
|
165
|
+
# ==== Options
|
166
|
+
#
|
167
|
+
# For details on which formats use which options, see ActiveSupport::NumberHelper
|
168
|
+
#
|
169
|
+
# ==== Examples
|
170
|
+
#
|
171
|
+
# Phone Numbers:
|
172
|
+
# 5551234.to_fs(:phone) # => "555-1234"
|
173
|
+
# 1235551234.to_fs(:phone) # => "123-555-1234"
|
174
|
+
# 1235551234.to_fs(:phone, area_code: true) # => "(123) 555-1234"
|
175
|
+
# 1235551234.to_fs(:phone, delimiter: ' ') # => "123 555 1234"
|
176
|
+
# 1235551234.to_fs(:phone, area_code: true, extension: 555) # => "(123) 555-1234 x 555"
|
177
|
+
# 1235551234.to_fs(:phone, country_code: 1) # => "+1-123-555-1234"
|
178
|
+
# 1235551234.to_fs(:phone, country_code: 1, extension: 1343, delimiter: '.')
|
179
|
+
# # => "+1.123.555.1234 x 1343"
|
180
|
+
#
|
181
|
+
# Currency:
|
182
|
+
# 1234567890.50.to_fs(:currency) # => "$1,234,567,890.50"
|
183
|
+
# 1234567890.506.to_fs(:currency) # => "$1,234,567,890.51"
|
184
|
+
# 1234567890.506.to_fs(:currency, precision: 3) # => "$1,234,567,890.506"
|
185
|
+
# 1234567890.506.to_fs(:currency, round_mode: :down) # => "$1,234,567,890.50"
|
186
|
+
# 1234567890.506.to_fs(:currency, locale: :fr) # => "1 234 567 890,51 €"
|
187
|
+
# -1234567890.50.to_fs(:currency, negative_format: '(%u%n)')
|
188
|
+
# # => "($1,234,567,890.50)"
|
189
|
+
# 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '')
|
190
|
+
# # => "£1234567890,50"
|
191
|
+
# 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '', format: '%n %u')
|
192
|
+
# # => "1234567890,50 £"
|
193
|
+
#
|
194
|
+
# Percentage:
|
195
|
+
# 100.to_fs(:percentage) # => "100.000%"
|
196
|
+
# 100.to_fs(:percentage, precision: 0) # => "100%"
|
197
|
+
# 1000.to_fs(:percentage, delimiter: '.', separator: ',') # => "1.000,000%"
|
198
|
+
# 302.24398923423.to_fs(:percentage, precision: 5) # => "302.24399%"
|
199
|
+
# 302.24398923423.to_fs(:percentage, round_mode: :down) # => "302.243%"
|
200
|
+
# 1000.to_fs(:percentage, locale: :fr) # => "1 000,000%"
|
201
|
+
# 100.to_fs(:percentage, format: '%n %') # => "100.000 %"
|
202
|
+
#
|
203
|
+
# Delimited:
|
204
|
+
# 12345678.to_fs(:delimited) # => "12,345,678"
|
205
|
+
# 12345678.05.to_fs(:delimited) # => "12,345,678.05"
|
206
|
+
# 12345678.to_fs(:delimited, delimiter: '.') # => "12.345.678"
|
207
|
+
# 12345678.to_fs(:delimited, delimiter: ',') # => "12,345,678"
|
208
|
+
# 12345678.05.to_fs(:delimited, separator: ' ') # => "12,345,678 05"
|
209
|
+
# 12345678.05.to_fs(:delimited, locale: :fr) # => "12 345 678,05"
|
210
|
+
# 98765432.98.to_fs(:delimited, delimiter: ' ', separator: ',')
|
211
|
+
# # => "98 765 432,98"
|
212
|
+
#
|
213
|
+
# Rounded:
|
214
|
+
# 111.2345.to_fs(:rounded) # => "111.235"
|
215
|
+
# 111.2345.to_fs(:rounded, precision: 2) # => "111.23"
|
216
|
+
# 111.2345.to_fs(:rounded, precision: 2, round_mode: :up) # => "111.24"
|
217
|
+
# 13.to_fs(:rounded, precision: 5) # => "13.00000"
|
218
|
+
# 389.32314.to_fs(:rounded, precision: 0) # => "389"
|
219
|
+
# 111.2345.to_fs(:rounded, significant: true) # => "111"
|
220
|
+
# 111.2345.to_fs(:rounded, precision: 1, significant: true) # => "100"
|
221
|
+
# 13.to_fs(:rounded, precision: 5, significant: true) # => "13.000"
|
222
|
+
# 111.234.to_fs(:rounded, locale: :fr) # => "111,234"
|
223
|
+
# 13.to_fs(:rounded, precision: 5, significant: true, strip_insignificant_zeros: true)
|
224
|
+
# # => "13"
|
225
|
+
# 389.32314.to_fs(:rounded, precision: 4, significant: true) # => "389.3"
|
226
|
+
# 1111.2345.to_fs(:rounded, precision: 2, separator: ',', delimiter: '.')
|
227
|
+
# # => "1.111,23"
|
228
|
+
#
|
229
|
+
# Human-friendly size in Bytes:
|
230
|
+
# 123.to_fs(:human_size) # => "123 Bytes"
|
231
|
+
# 1234.to_fs(:human_size) # => "1.21 KB"
|
232
|
+
# 12345.to_fs(:human_size) # => "12.1 KB"
|
233
|
+
# 1234567.to_fs(:human_size) # => "1.18 MB"
|
234
|
+
# 1234567890.to_fs(:human_size) # => "1.15 GB"
|
235
|
+
# 1234567890123.to_fs(:human_size) # => "1.12 TB"
|
236
|
+
# 1234567890123456.to_fs(:human_size) # => "1.1 PB"
|
237
|
+
# 1234567890123456789.to_fs(:human_size) # => "1.07 EB"
|
238
|
+
# 1234567.to_fs(:human_size, precision: 2) # => "1.2 MB"
|
239
|
+
# 1234567.to_fs(:human_size, precision: 2, round_mode: :up) # => "1.3 MB"
|
240
|
+
# 483989.to_fs(:human_size, precision: 2) # => "470 KB"
|
241
|
+
# 1234567.to_fs(:human_size, precision: 2, separator: ',') # => "1,2 MB"
|
242
|
+
# 1234567890123.to_fs(:human_size, precision: 5) # => "1.1228 TB"
|
243
|
+
# 524288000.to_fs(:human_size, precision: 5) # => "500 MB"
|
244
|
+
#
|
245
|
+
# Human-friendly format:
|
246
|
+
# 123.to_fs(:human) # => "123"
|
247
|
+
# 1234.to_fs(:human) # => "1.23 Thousand"
|
248
|
+
# 12345.to_fs(:human) # => "12.3 Thousand"
|
249
|
+
# 1234567.to_fs(:human) # => "1.23 Million"
|
250
|
+
# 1234567890.to_fs(:human) # => "1.23 Billion"
|
251
|
+
# 1234567890123.to_fs(:human) # => "1.23 Trillion"
|
252
|
+
# 1234567890123456.to_fs(:human) # => "1.23 Quadrillion"
|
253
|
+
# 1234567890123456789.to_fs(:human) # => "1230 Quadrillion"
|
254
|
+
# 489939.to_fs(:human, precision: 2) # => "490 Thousand"
|
255
|
+
# 489939.to_fs(:human, precision: 2, round_mode: :down) # => "480 Thousand"
|
256
|
+
# 489939.to_fs(:human, precision: 4) # => "489.9 Thousand"
|
257
|
+
# 1234567.to_fs(:human, precision: 4,
|
258
|
+
# significant: false) # => "1.2346 Million"
|
259
|
+
# 1234567.to_fs(:human, precision: 1,
|
260
|
+
# separator: ',',
|
261
|
+
# significant: false) # => "1,2 Million"
|
262
|
+
def to_fs: (?Symbol format, **untyped) -> String
|
263
|
+
end
|
264
|
+
|
265
|
+
# active_support/core_ext/range/conversions.rb
|
266
|
+
class Range[out Elem]
|
267
|
+
# Convert range to a formatted string. See RANGE_FORMATS for predefined formats.
|
268
|
+
#
|
269
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
270
|
+
#
|
271
|
+
# range = (1..100) # => 1..100
|
272
|
+
#
|
273
|
+
# range.to_s # => "1..100"
|
274
|
+
# range.to_fs(:db) # => "BETWEEN '1' AND '100'"
|
275
|
+
#
|
276
|
+
# range = (1..) # => 1..
|
277
|
+
# range.to_fs(:db) # => ">= '1'"
|
278
|
+
#
|
279
|
+
# range = (..100) # => ..100
|
280
|
+
# range.to_fs(:db) # => "<= '100'"
|
281
|
+
#
|
282
|
+
# == Adding your own range formats to to_fs
|
283
|
+
# You can add your own formats to the Range::RANGE_FORMATS hash.
|
284
|
+
# Use the format name as the hash key and a Proc instance.
|
285
|
+
#
|
286
|
+
# # config/initializers/range_formats.rb
|
287
|
+
# Range::RANGE_FORMATS[:short] = ->(start, stop) { "Between #{start.to_fs(:db)} and #{stop.to_fs(:db)}" }
|
288
|
+
def to_fs: (?Symbol format) -> String
|
289
|
+
end
|
290
|
+
|
291
|
+
# active_support/core_ext/date/conversions.rb
|
292
|
+
class Date
|
293
|
+
# Convert to a formatted string. See DATE_FORMATS for predefined formats.
|
294
|
+
#
|
295
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
296
|
+
#
|
297
|
+
# date = Date.new(2007, 11, 10) # => Sat, 10 Nov 2007
|
298
|
+
#
|
299
|
+
# date.to_fs(:db) # => "2007-11-10"
|
300
|
+
# date.to_formatted_s(:db) # => "2007-11-10"
|
301
|
+
#
|
302
|
+
# date.to_fs(:short) # => "10 Nov"
|
303
|
+
# date.to_fs(:number) # => "20071110"
|
304
|
+
# date.to_fs(:long) # => "November 10, 2007"
|
305
|
+
# date.to_fs(:long_ordinal) # => "November 10th, 2007"
|
306
|
+
# date.to_fs(:rfc822) # => "10 Nov 2007"
|
307
|
+
# date.to_fs(:iso8601) # => "2007-11-10"
|
308
|
+
#
|
309
|
+
# == Adding your own date formats to to_fs
|
310
|
+
# You can add your own formats to the Date::DATE_FORMATS hash.
|
311
|
+
# Use the format name as the hash key and either a strftime string
|
312
|
+
# or Proc instance that takes a date argument as the value.
|
313
|
+
#
|
314
|
+
# # config/initializers/date_formats.rb
|
315
|
+
# Date::DATE_FORMATS[:month_and_year] = '%B %Y'
|
316
|
+
# Date::DATE_FORMATS[:short_ordinal] = ->(date) { date.strftime("%B #{date.day.ordinalize}") }
|
317
|
+
def to_fs: (?Symbol format) -> String
|
318
|
+
end
|
319
|
+
|
320
|
+
# active_support/core_ext/time/conversions.rb
|
321
|
+
class Time
|
322
|
+
# Converts to a formatted string. See DATE_FORMATS for built-in formats.
|
323
|
+
#
|
324
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
325
|
+
#
|
326
|
+
# time = Time.now # => 2007-01-18 06:10:17 -06:00
|
327
|
+
#
|
328
|
+
# time.to_fs(:time) # => "06:10"
|
329
|
+
# time.to_formatted_s(:time) # => "06:10"
|
330
|
+
#
|
331
|
+
# time.to_fs(:db) # => "2007-01-18 06:10:17"
|
332
|
+
# time.to_fs(:number) # => "20070118061017"
|
333
|
+
# time.to_fs(:short) # => "18 Jan 06:10"
|
334
|
+
# time.to_fs(:long) # => "January 18, 2007 06:10"
|
335
|
+
# time.to_fs(:long_ordinal) # => "January 18th, 2007 06:10"
|
336
|
+
# time.to_fs(:rfc822) # => "Thu, 18 Jan 2007 06:10:17 -0600"
|
337
|
+
# time.to_fs(:rfc2822) # => "Thu, 18 Jan 2007 06:10:17 -0600"
|
338
|
+
# time.to_fs(:iso8601) # => "2007-01-18T06:10:17-06:00"
|
339
|
+
#
|
340
|
+
# == Adding your own time formats to +to_fs+
|
341
|
+
# You can add your own formats to the Time::DATE_FORMATS hash.
|
342
|
+
# Use the format name as the hash key and either a strftime string
|
343
|
+
# or Proc instance that takes a time argument as the value.
|
344
|
+
#
|
345
|
+
# # config/initializers/time_formats.rb
|
346
|
+
# Time::DATE_FORMATS[:month_and_year] = '%B %Y'
|
347
|
+
# Time::DATE_FORMATS[:short_ordinal] = ->(time) { time.strftime("%B #{time.day.ordinalize}") }
|
348
|
+
def to_fs: (?Symbol format) -> String
|
349
|
+
end
|
350
|
+
|
351
|
+
# active_support/core_ext/date_time/conversions.rb
|
352
|
+
class DateTime
|
353
|
+
# Convert to a formatted string. See Time::DATE_FORMATS for predefined formats.
|
354
|
+
#
|
355
|
+
# This method is aliased to <tt>to_formatted_s</tt>.
|
356
|
+
#
|
357
|
+
# === Examples
|
358
|
+
# datetime = DateTime.civil(2007, 12, 4, 0, 0, 0, 0) # => Tue, 04 Dec 2007 00:00:00 +0000
|
359
|
+
#
|
360
|
+
# datetime.to_fs(:db) # => "2007-12-04 00:00:00"
|
361
|
+
# datetime.to_formatted_s(:db) # => "2007-12-04 00:00:00"
|
362
|
+
# datetime.to_fs(:number) # => "20071204000000"
|
363
|
+
# datetime.to_fs(:short) # => "04 Dec 00:00"
|
364
|
+
# datetime.to_fs(:long) # => "December 04, 2007 00:00"
|
365
|
+
# datetime.to_fs(:long_ordinal) # => "December 4th, 2007 00:00"
|
366
|
+
# datetime.to_fs(:rfc822) # => "Tue, 04 Dec 2007 00:00:00 +0000"
|
367
|
+
# datetime.to_fs(:iso8601) # => "2007-12-04T00:00:00+00:00"
|
368
|
+
#
|
369
|
+
# == Adding your own datetime formats to to_fs
|
370
|
+
# DateTime formats are shared with Time. You can add your own to the
|
371
|
+
# Time::DATE_FORMATS hash. Use the format name as the hash key and
|
372
|
+
# either a strftime string or Proc instance that takes a time or
|
373
|
+
# datetime argument as the value.
|
374
|
+
#
|
375
|
+
# # config/initializers/time_formats.rb
|
376
|
+
# Time::DATE_FORMATS[:month_and_year] = '%B %Y'
|
377
|
+
# Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") }
|
378
|
+
def to_fs: (?Symbol format) -> String
|
379
|
+
end
|
@@ -1984,83 +1984,6 @@ class Array[unchecked out Elem]
|
|
1984
1984
|
def to_formatted_s: (?::Symbol format) -> untyped
|
1985
1985
|
|
1986
1986
|
alias to_default_s to_s
|
1987
|
-
|
1988
|
-
# Returns a string that represents the array in XML by invoking +to_xml+
|
1989
|
-
# on each element. Active Record collections delegate their representation
|
1990
|
-
# in XML to this method.
|
1991
|
-
#
|
1992
|
-
# All elements are expected to respond to +to_xml+, if any of them does
|
1993
|
-
# not then an exception is raised.
|
1994
|
-
#
|
1995
|
-
# The root node reflects the class name of the first element in plural
|
1996
|
-
# if all elements belong to the same type and that's not Hash:
|
1997
|
-
#
|
1998
|
-
# customer.projects.to_xml
|
1999
|
-
#
|
2000
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2001
|
-
# <projects type="array">
|
2002
|
-
# <project>
|
2003
|
-
# <amount type="decimal">20000.0</amount>
|
2004
|
-
# <customer-id type="integer">1567</customer-id>
|
2005
|
-
# <deal-date type="date">2008-04-09</deal-date>
|
2006
|
-
# ...
|
2007
|
-
# </project>
|
2008
|
-
# <project>
|
2009
|
-
# <amount type="decimal">57230.0</amount>
|
2010
|
-
# <customer-id type="integer">1567</customer-id>
|
2011
|
-
# <deal-date type="date">2008-04-15</deal-date>
|
2012
|
-
# ...
|
2013
|
-
# </project>
|
2014
|
-
# </projects>
|
2015
|
-
#
|
2016
|
-
# Otherwise the root element is "objects":
|
2017
|
-
#
|
2018
|
-
# [{ foo: 1, bar: 2}, { baz: 3}].to_xml
|
2019
|
-
#
|
2020
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2021
|
-
# <objects type="array">
|
2022
|
-
# <object>
|
2023
|
-
# <bar type="integer">2</bar>
|
2024
|
-
# <foo type="integer">1</foo>
|
2025
|
-
# </object>
|
2026
|
-
# <object>
|
2027
|
-
# <baz type="integer">3</baz>
|
2028
|
-
# </object>
|
2029
|
-
# </objects>
|
2030
|
-
#
|
2031
|
-
# If the collection is empty the root element is "nil-classes" by default:
|
2032
|
-
#
|
2033
|
-
# [].to_xml
|
2034
|
-
#
|
2035
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2036
|
-
# <nil-classes type="array"/>
|
2037
|
-
#
|
2038
|
-
# To ensure a meaningful root element use the <tt>:root</tt> option:
|
2039
|
-
#
|
2040
|
-
# customer_with_no_projects.projects.to_xml(root: 'projects')
|
2041
|
-
#
|
2042
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2043
|
-
# <projects type="array"/>
|
2044
|
-
#
|
2045
|
-
# By default name of the node for the children of root is <tt>root.singularize</tt>.
|
2046
|
-
# You can change it with the <tt>:children</tt> option.
|
2047
|
-
#
|
2048
|
-
# The +options+ hash is passed downwards:
|
2049
|
-
#
|
2050
|
-
# Message.all.to_xml(skip_types: true)
|
2051
|
-
#
|
2052
|
-
# <?xml version="1.0" encoding="UTF-8"?>
|
2053
|
-
# <messages>
|
2054
|
-
# <message>
|
2055
|
-
# <created-at>2008-03-07T09:58:18+01:00</created-at>
|
2056
|
-
# <id>1</id>
|
2057
|
-
# <name>1</name>
|
2058
|
-
# <updated-at>2008-03-07T09:58:18+01:00</updated-at>
|
2059
|
-
# <user-id>1</user-id>
|
2060
|
-
# </message>
|
2061
|
-
# </messages>
|
2062
|
-
#
|
2063
|
-
def to_xml: (?::Hash[untyped, untyped] options) { (untyped) -> untyped } -> untyped
|
2064
1987
|
end
|
2065
1988
|
|
2066
1989
|
class Array[unchecked out Elem]
|
@@ -3016,70 +2939,6 @@ class File
|
|
3016
2939
|
end
|
3017
2940
|
|
3018
2941
|
class Hash[unchecked out K, unchecked out V]
|
3019
|
-
# Returns a string containing an XML representation of its receiver:
|
3020
|
-
#
|
3021
|
-
# { foo: 1, bar: 2 }.to_xml
|
3022
|
-
# # =>
|
3023
|
-
# # <?xml version="1.0" encoding="UTF-8"?>
|
3024
|
-
# # <hash>
|
3025
|
-
# # <foo type="integer">1</foo>
|
3026
|
-
# # <bar type="integer">2</bar>
|
3027
|
-
# # </hash>
|
3028
|
-
#
|
3029
|
-
# To do so, the method loops over the pairs and builds nodes that depend on
|
3030
|
-
# the _values_. Given a pair +key+, +value+:
|
3031
|
-
#
|
3032
|
-
# * If +value+ is a hash there's a recursive call with +key+ as <tt>:root</tt>.
|
3033
|
-
#
|
3034
|
-
# * If +value+ is an array there's a recursive call with +key+ as <tt>:root</tt>,
|
3035
|
-
# and +key+ singularized as <tt>:children</tt>.
|
3036
|
-
#
|
3037
|
-
# * If +value+ is a callable object it must expect one or two arguments. Depending
|
3038
|
-
# on the arity, the callable is invoked with the +options+ hash as first argument
|
3039
|
-
# with +key+ as <tt>:root</tt>, and +key+ singularized as second argument. The
|
3040
|
-
# callable can add nodes by using <tt>options[:builder]</tt>.
|
3041
|
-
#
|
3042
|
-
# {foo: lambda { |options, key| options[:builder].b(key) }}.to_xml
|
3043
|
-
# # => "<b>foo</b>"
|
3044
|
-
#
|
3045
|
-
# * If +value+ responds to +to_xml+ the method is invoked with +key+ as <tt>:root</tt>.
|
3046
|
-
#
|
3047
|
-
# class Foo
|
3048
|
-
# def to_xml(options)
|
3049
|
-
# options[:builder].bar 'fooing!'
|
3050
|
-
# end
|
3051
|
-
# end
|
3052
|
-
#
|
3053
|
-
# { foo: Foo.new }.to_xml(skip_instruct: true)
|
3054
|
-
# # =>
|
3055
|
-
# # <hash>
|
3056
|
-
# # <bar>fooing!</bar>
|
3057
|
-
# # </hash>
|
3058
|
-
#
|
3059
|
-
# * Otherwise, a node with +key+ as tag is created with a string representation of
|
3060
|
-
# +value+ as text node. If +value+ is +nil+ an attribute "nil" set to "true" is added.
|
3061
|
-
# Unless the option <tt>:skip_types</tt> exists and is true, an attribute "type" is
|
3062
|
-
# added as well according to the following mapping:
|
3063
|
-
#
|
3064
|
-
# XML_TYPE_NAMES = {
|
3065
|
-
# "Symbol" => "symbol",
|
3066
|
-
# "Integer" => "integer",
|
3067
|
-
# "BigDecimal" => "decimal",
|
3068
|
-
# "Float" => "float",
|
3069
|
-
# "TrueClass" => "boolean",
|
3070
|
-
# "FalseClass" => "boolean",
|
3071
|
-
# "Date" => "date",
|
3072
|
-
# "DateTime" => "dateTime",
|
3073
|
-
# "Time" => "dateTime"
|
3074
|
-
# }
|
3075
|
-
#
|
3076
|
-
# By default the root node is "hash", but that's configurable via the <tt>:root</tt> option.
|
3077
|
-
#
|
3078
|
-
# The default XML builder is a fresh instance of <tt>Builder::XmlMarkup</tt>. You can
|
3079
|
-
# configure your own builder with the <tt>:builder</tt> option. The method also accepts
|
3080
|
-
# options like <tt>:dasherize</tt> and friends, they are forwarded to the builder.
|
3081
|
-
def to_xml: (?::Hash[untyped, untyped] options) { (untyped) -> untyped } -> untyped
|
3082
|
-
|
3083
2942
|
# Returns a Hash containing a collection of pairs when the key is the node name and the value is
|
3084
2943
|
# its content
|
3085
2944
|
#
|
@@ -394,6 +394,83 @@ end
|
|
394
394
|
class Array[unchecked out Elem]
|
395
395
|
# Manual definition to make block optional
|
396
396
|
def in_groups: (untyped number, ?untyped? fill_with) ?{ (untyped) -> untyped } -> untyped
|
397
|
+
|
398
|
+
# Returns a string that represents the array in XML by invoking +to_xml+
|
399
|
+
# on each element. Active Record collections delegate their representation
|
400
|
+
# in XML to this method.
|
401
|
+
#
|
402
|
+
# All elements are expected to respond to +to_xml+, if any of them does
|
403
|
+
# not then an exception is raised.
|
404
|
+
#
|
405
|
+
# The root node reflects the class name of the first element in plural
|
406
|
+
# if all elements belong to the same type and that's not Hash:
|
407
|
+
#
|
408
|
+
# customer.projects.to_xml
|
409
|
+
#
|
410
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
411
|
+
# <projects type="array">
|
412
|
+
# <project>
|
413
|
+
# <amount type="decimal">20000.0</amount>
|
414
|
+
# <customer-id type="integer">1567</customer-id>
|
415
|
+
# <deal-date type="date">2008-04-09</deal-date>
|
416
|
+
# ...
|
417
|
+
# </project>
|
418
|
+
# <project>
|
419
|
+
# <amount type="decimal">57230.0</amount>
|
420
|
+
# <customer-id type="integer">1567</customer-id>
|
421
|
+
# <deal-date type="date">2008-04-15</deal-date>
|
422
|
+
# ...
|
423
|
+
# </project>
|
424
|
+
# </projects>
|
425
|
+
#
|
426
|
+
# Otherwise the root element is "objects":
|
427
|
+
#
|
428
|
+
# [{ foo: 1, bar: 2}, { baz: 3}].to_xml
|
429
|
+
#
|
430
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
431
|
+
# <objects type="array">
|
432
|
+
# <object>
|
433
|
+
# <bar type="integer">2</bar>
|
434
|
+
# <foo type="integer">1</foo>
|
435
|
+
# </object>
|
436
|
+
# <object>
|
437
|
+
# <baz type="integer">3</baz>
|
438
|
+
# </object>
|
439
|
+
# </objects>
|
440
|
+
#
|
441
|
+
# If the collection is empty the root element is "nil-classes" by default:
|
442
|
+
#
|
443
|
+
# [].to_xml
|
444
|
+
#
|
445
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
446
|
+
# <nil-classes type="array"/>
|
447
|
+
#
|
448
|
+
# To ensure a meaningful root element use the <tt>:root</tt> option:
|
449
|
+
#
|
450
|
+
# customer_with_no_projects.projects.to_xml(root: 'projects')
|
451
|
+
#
|
452
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
453
|
+
# <projects type="array"/>
|
454
|
+
#
|
455
|
+
# By default name of the node for the children of root is <tt>root.singularize</tt>.
|
456
|
+
# You can change it with the <tt>:children</tt> option.
|
457
|
+
#
|
458
|
+
# The +options+ hash is passed downwards:
|
459
|
+
#
|
460
|
+
# Message.all.to_xml(skip_types: true)
|
461
|
+
#
|
462
|
+
# <?xml version="1.0" encoding="UTF-8"?>
|
463
|
+
# <messages>
|
464
|
+
# <message>
|
465
|
+
# <created-at>2008-03-07T09:58:18+01:00</created-at>
|
466
|
+
# <id>1</id>
|
467
|
+
# <name>1</name>
|
468
|
+
# <updated-at>2008-03-07T09:58:18+01:00</updated-at>
|
469
|
+
# <user-id>1</user-id>
|
470
|
+
# </message>
|
471
|
+
# </messages>
|
472
|
+
#
|
473
|
+
def to_xml: (?::Hash[untyped, untyped] options) ?{ (untyped) -> untyped } -> untyped
|
397
474
|
end
|
398
475
|
|
399
476
|
# active_support/core_ext/object/blank.rb
|
@@ -427,6 +504,70 @@ end
|
|
427
504
|
|
428
505
|
class Hash[unchecked out K, unchecked out V]
|
429
506
|
alias blank? empty?
|
507
|
+
|
508
|
+
# Returns a string containing an XML representation of its receiver:
|
509
|
+
#
|
510
|
+
# { foo: 1, bar: 2 }.to_xml
|
511
|
+
# # =>
|
512
|
+
# # <?xml version="1.0" encoding="UTF-8"?>
|
513
|
+
# # <hash>
|
514
|
+
# # <foo type="integer">1</foo>
|
515
|
+
# # <bar type="integer">2</bar>
|
516
|
+
# # </hash>
|
517
|
+
#
|
518
|
+
# To do so, the method loops over the pairs and builds nodes that depend on
|
519
|
+
# the _values_. Given a pair +key+, +value+:
|
520
|
+
#
|
521
|
+
# * If +value+ is a hash there's a recursive call with +key+ as <tt>:root</tt>.
|
522
|
+
#
|
523
|
+
# * If +value+ is an array there's a recursive call with +key+ as <tt>:root</tt>,
|
524
|
+
# and +key+ singularized as <tt>:children</tt>.
|
525
|
+
#
|
526
|
+
# * If +value+ is a callable object it must expect one or two arguments. Depending
|
527
|
+
# on the arity, the callable is invoked with the +options+ hash as first argument
|
528
|
+
# with +key+ as <tt>:root</tt>, and +key+ singularized as second argument. The
|
529
|
+
# callable can add nodes by using <tt>options[:builder]</tt>.
|
530
|
+
#
|
531
|
+
# {foo: lambda { |options, key| options[:builder].b(key) }}.to_xml
|
532
|
+
# # => "<b>foo</b>"
|
533
|
+
#
|
534
|
+
# * If +value+ responds to +to_xml+ the method is invoked with +key+ as <tt>:root</tt>.
|
535
|
+
#
|
536
|
+
# class Foo
|
537
|
+
# def to_xml(options)
|
538
|
+
# options[:builder].bar 'fooing!'
|
539
|
+
# end
|
540
|
+
# end
|
541
|
+
#
|
542
|
+
# { foo: Foo.new }.to_xml(skip_instruct: true)
|
543
|
+
# # =>
|
544
|
+
# # <hash>
|
545
|
+
# # <bar>fooing!</bar>
|
546
|
+
# # </hash>
|
547
|
+
#
|
548
|
+
# * Otherwise, a node with +key+ as tag is created with a string representation of
|
549
|
+
# +value+ as text node. If +value+ is +nil+ an attribute "nil" set to "true" is added.
|
550
|
+
# Unless the option <tt>:skip_types</tt> exists and is true, an attribute "type" is
|
551
|
+
# added as well according to the following mapping:
|
552
|
+
#
|
553
|
+
# XML_TYPE_NAMES = {
|
554
|
+
# "Symbol" => "symbol",
|
555
|
+
# "Integer" => "integer",
|
556
|
+
# "BigDecimal" => "decimal",
|
557
|
+
# "Float" => "float",
|
558
|
+
# "TrueClass" => "boolean",
|
559
|
+
# "FalseClass" => "boolean",
|
560
|
+
# "Date" => "date",
|
561
|
+
# "DateTime" => "dateTime",
|
562
|
+
# "Time" => "dateTime"
|
563
|
+
# }
|
564
|
+
#
|
565
|
+
# By default the root node is "hash", but that's configurable via the <tt>:root</tt> option.
|
566
|
+
#
|
567
|
+
# The default XML builder is a fresh instance of <tt>Builder::XmlMarkup</tt>. You can
|
568
|
+
# configure your own builder with the <tt>:builder</tt> option. The method also accepts
|
569
|
+
# options like <tt>:dasherize</tt> and friends, they are forwarded to the builder.
|
570
|
+
def to_xml: (?::Hash[untyped, untyped] options) ?{ (untyped) -> untyped } -> untyped
|
430
571
|
end
|
431
572
|
|
432
573
|
class String
|
@@ -1,2 +1,2 @@
|
|
1
|
-
|
1
|
+
dependencies:
|
2
2
|
- name: timeout
|
data/lib/rubysky/raw/client.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "net/http"
|
4
|
+
|
3
5
|
module RubySky
|
4
6
|
module Raw # :nodoc:
|
5
7
|
class Client # :nodoc:
|
@@ -74,6 +76,9 @@ module RubySky
|
|
74
76
|
createdAt: created_at
|
75
77
|
} # : Hash[Symbol, untyped]
|
76
78
|
|
79
|
+
facets = parse_facets(text:)
|
80
|
+
|
81
|
+
record[:facets] = facets unless facets.empty?
|
77
82
|
record[:embed] = embed if embed
|
78
83
|
|
79
84
|
res = send_post(pds: @pds, path: CREATE_RECORD_PATH,
|
@@ -127,6 +132,36 @@ module RubySky
|
|
127
132
|
json = JSON.parse(res.body)
|
128
133
|
@session = Session.from_hash(json)
|
129
134
|
end
|
135
|
+
|
136
|
+
def parse_facets(text:)
|
137
|
+
facets = [] # : Array[facet]
|
138
|
+
# parse_mentions もここでする必要が本当はあるよ。
|
139
|
+
facets += parse_uris(text:)
|
140
|
+
facets
|
141
|
+
end
|
142
|
+
|
143
|
+
def link_facet(start:, end:, uri:)
|
144
|
+
{
|
145
|
+
index: {
|
146
|
+
byteStart: start,
|
147
|
+
byteEnd: binding.local_variable_get(:end) # endは予約語
|
148
|
+
},
|
149
|
+
features: [
|
150
|
+
{
|
151
|
+
"$type": "app.bsky.richtext.facet#link",
|
152
|
+
uri:
|
153
|
+
}
|
154
|
+
]
|
155
|
+
}
|
156
|
+
end
|
157
|
+
|
158
|
+
def parse_uris(text:)
|
159
|
+
reg = URI::DEFAULT_PARSER.make_regexp(%w[http https])
|
160
|
+
text.gsub(reg).map do
|
161
|
+
m = Regexp.last_match
|
162
|
+
link_facet(start: m.begin(0), end: m.end(0), uri: m.to_s)
|
163
|
+
end
|
164
|
+
end
|
130
165
|
end
|
131
166
|
end
|
132
167
|
end
|
data/lib/rubysky/version.rb
CHANGED
data/rbs_collection.lock.yaml
CHANGED
@@ -6,7 +6,7 @@ gems:
|
|
6
6
|
source:
|
7
7
|
type: git
|
8
8
|
name: ruby/gem_rbs_collection
|
9
|
-
revision:
|
9
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
10
10
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
11
11
|
repo_dir: gems
|
12
12
|
- name: ast
|
@@ -14,7 +14,7 @@ gems:
|
|
14
14
|
source:
|
15
15
|
type: git
|
16
16
|
name: ruby/gem_rbs_collection
|
17
|
-
revision:
|
17
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
18
18
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
19
19
|
repo_dir: gems
|
20
20
|
- name: base64
|
@@ -34,7 +34,7 @@ gems:
|
|
34
34
|
source:
|
35
35
|
type: git
|
36
36
|
name: ruby/gem_rbs_collection
|
37
|
-
revision:
|
37
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
38
38
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
39
39
|
repo_dir: gems
|
40
40
|
- name: connection_pool
|
@@ -42,7 +42,7 @@ gems:
|
|
42
42
|
source:
|
43
43
|
type: git
|
44
44
|
name: ruby/gem_rbs_collection
|
45
|
-
revision:
|
45
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
46
46
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
47
47
|
repo_dir: gems
|
48
48
|
- name: csv
|
@@ -58,17 +58,17 @@ gems:
|
|
58
58
|
source:
|
59
59
|
type: git
|
60
60
|
name: ruby/gem_rbs_collection
|
61
|
-
revision:
|
61
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
62
62
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
63
63
|
repo_dir: gems
|
64
|
-
- name:
|
64
|
+
- name: digest
|
65
65
|
version: '0'
|
66
66
|
source:
|
67
67
|
type: stdlib
|
68
|
-
- name:
|
69
|
-
version:
|
68
|
+
- name: erb
|
69
|
+
version: '0'
|
70
70
|
source:
|
71
|
-
type:
|
71
|
+
type: stdlib
|
72
72
|
- name: fileutils
|
73
73
|
version: '0'
|
74
74
|
source:
|
@@ -82,7 +82,7 @@ gems:
|
|
82
82
|
source:
|
83
83
|
type: git
|
84
84
|
name: ruby/gem_rbs_collection
|
85
|
-
revision:
|
85
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
86
86
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
87
87
|
repo_dir: gems
|
88
88
|
- name: json
|
@@ -94,7 +94,7 @@ gems:
|
|
94
94
|
source:
|
95
95
|
type: git
|
96
96
|
name: ruby/gem_rbs_collection
|
97
|
-
revision:
|
97
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
98
98
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
99
99
|
repo_dir: gems
|
100
100
|
- name: logger
|
@@ -110,9 +110,9 @@ gems:
|
|
110
110
|
source:
|
111
111
|
type: stdlib
|
112
112
|
- name: mutex_m
|
113
|
-
version:
|
113
|
+
version: 0.3.0
|
114
114
|
source:
|
115
|
-
type:
|
115
|
+
type: rubygems
|
116
116
|
- name: openssl
|
117
117
|
version: '0'
|
118
118
|
source:
|
@@ -126,7 +126,7 @@ gems:
|
|
126
126
|
source:
|
127
127
|
type: git
|
128
128
|
name: ruby/gem_rbs_collection
|
129
|
-
revision:
|
129
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
130
130
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
131
131
|
repo_dir: gems
|
132
132
|
- name: parser
|
@@ -134,7 +134,7 @@ gems:
|
|
134
134
|
source:
|
135
135
|
type: git
|
136
136
|
name: ruby/gem_rbs_collection
|
137
|
-
revision:
|
137
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
138
138
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
139
139
|
repo_dir: gems
|
140
140
|
- name: pathname
|
@@ -146,7 +146,7 @@ gems:
|
|
146
146
|
source:
|
147
147
|
type: git
|
148
148
|
name: ruby/gem_rbs_collection
|
149
|
-
revision:
|
149
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
150
150
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
151
151
|
repo_dir: gems
|
152
152
|
- name: rake
|
@@ -154,11 +154,11 @@ gems:
|
|
154
154
|
source:
|
155
155
|
type: git
|
156
156
|
name: ruby/gem_rbs_collection
|
157
|
-
revision:
|
157
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
158
158
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
159
159
|
repo_dir: gems
|
160
160
|
- name: rbs
|
161
|
-
version: 3.
|
161
|
+
version: 3.8.0
|
162
162
|
source:
|
163
163
|
type: rubygems
|
164
164
|
- name: rdoc
|
@@ -170,7 +170,7 @@ gems:
|
|
170
170
|
source:
|
171
171
|
type: git
|
172
172
|
name: ruby/gem_rbs_collection
|
173
|
-
revision:
|
173
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
174
174
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
175
175
|
repo_dir: gems
|
176
176
|
- name: rubocop
|
@@ -178,7 +178,7 @@ gems:
|
|
178
178
|
source:
|
179
179
|
type: git
|
180
180
|
name: ruby/gem_rbs_collection
|
181
|
-
revision:
|
181
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
182
182
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
183
183
|
repo_dir: gems
|
184
184
|
- name: rubocop-ast
|
@@ -186,7 +186,7 @@ gems:
|
|
186
186
|
source:
|
187
187
|
type: git
|
188
188
|
name: ruby/gem_rbs_collection
|
189
|
-
revision:
|
189
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
190
190
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
191
191
|
repo_dir: gems
|
192
192
|
- name: securerandom
|
@@ -201,6 +201,10 @@ gems:
|
|
201
201
|
version: '0'
|
202
202
|
source:
|
203
203
|
type: stdlib
|
204
|
+
- name: stringio
|
205
|
+
version: '0'
|
206
|
+
source:
|
207
|
+
type: stdlib
|
204
208
|
- name: strscan
|
205
209
|
version: '0'
|
206
210
|
source:
|
@@ -222,7 +226,7 @@ gems:
|
|
222
226
|
source:
|
223
227
|
type: git
|
224
228
|
name: ruby/gem_rbs_collection
|
225
|
-
revision:
|
229
|
+
revision: ccbd2bbc6be5c195df1d90aa68d64916a9e7d0ab
|
226
230
|
remote: https://github.com/ruby/gem_rbs_collection.git
|
227
231
|
repo_dir: gems
|
228
232
|
- name: uri
|
data/sig/rubysky.rbs
CHANGED
@@ -8,7 +8,7 @@ module RubySky
|
|
8
8
|
def self.from_app_jwt: (identifier: String, password: String, ?pds: String) -> Client
|
9
9
|
|
10
10
|
def initialize: (client: Raw::Client) -> void
|
11
|
-
def post: (text: String, images: Array[{data: IO, mime_type: String, ?alt: String}]) -> Post
|
11
|
+
def post: (text: String, ?images: Array[{data: IO, mime_type: String, ?alt: String}]) -> Post
|
12
12
|
def refresh_jwt: () -> String
|
13
13
|
def user_did: () -> Hash[String, untyped]
|
14
14
|
def user_info: () -> Hash[String, untyped]
|
@@ -41,6 +41,7 @@ module RubySky
|
|
41
41
|
POST_COLLECTION: String
|
42
42
|
|
43
43
|
type embed = Raw::ImageEmbed
|
44
|
+
type facet = { index: { byteStart: Integer, byteEnd: Integer }, features: Array[Hash[Symbol, untyped]] }
|
44
45
|
|
45
46
|
def self.from_refresh_jwt: (refresh_jwt: String, pds: String) -> Client
|
46
47
|
def self.create_session: (pds: String, identifier: String, password: String) -> Client
|
@@ -55,6 +56,11 @@ module RubySky
|
|
55
56
|
|
56
57
|
def valid_access_jwt?: () -> bool
|
57
58
|
|
59
|
+
def parse_facets: (text: String) -> Array[facet]
|
60
|
+
def parse_uris: (text: String) -> Array[facet]
|
61
|
+
|
62
|
+
def link_facet: (start: Integer, end: Integer, uri: String) -> facet
|
63
|
+
|
58
64
|
attr_reader pds: String
|
59
65
|
attr_reader session: Raw::Session
|
60
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubysky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kugayama Nana
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date: 2024-12-
|
10
|
+
date: 2024-12-26 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: jwt
|
@@ -107,7 +106,6 @@ metadata:
|
|
107
106
|
source_code_uri: https://github.com/nota/rubysky
|
108
107
|
changelog_uri: https://github.com/nota/simple_tweet/blob/main/CHANGELOG.md
|
109
108
|
rubygems_mfa_required: 'true'
|
110
|
-
post_install_message:
|
111
109
|
rdoc_options: []
|
112
110
|
require_paths:
|
113
111
|
- lib
|
@@ -122,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
120
|
- !ruby/object:Gem::Version
|
123
121
|
version: '0'
|
124
122
|
requirements: []
|
125
|
-
rubygems_version: 3.
|
126
|
-
signing_key:
|
123
|
+
rubygems_version: 3.6.2
|
127
124
|
specification_version: 4
|
128
125
|
summary: BlueSky API Client
|
129
126
|
test_files: []
|