Ruby modules in TypeScript

TypeScript implementations of 44 Ruby standard library functions across 3 modules. Each function is individually importable and tree-shakeable.

Array Math String

We have 44 Ruby functions so far - help us add more

Got a rainy Sunday afternoon and a taste for a porting puzzle?

  • Get inspiration from the Ruby core documentation.
  • Click "New file" in the appropriate folder on GitHub. This will fork the project to your account, directly add the file to it, and send a Pull Request to us.

We will then review it. If it's useful to the project and in line with our contributing guidelines your work will become part of Locutus and you'll be automatically credited in the authors section accordingly.

Upstream Surface Inventory 44/942 shipped · 577 next 5%

Locutus tracks 16 upstream namespaces for Ruby and sorts them into what is already shipped, what we still want, what we intentionally keep, and what still needs a decision.

This inventory now tracks a broader slice of official Ruby core and stdlib plain-value surfaces rather than the broader gem ecosystem.

5% catalog shipped
Shipped Next Explicit non-goals
Math 58% String 12% Array 10% Hash 0% Integer 0% Float 0% Enumerable 0% Numeric 0% MatchData 0% Range 0% Comparable 0% File 0% Regexp 0% Dir 0% Symbol 0% Time 0%
Tracked namespaces 16
Shipped 44/942
Next to port 577
Explicit non-goals 321

In progress

String instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

13% shipped
15/112 shipped 97 next 18 explicit non-goals
Shipped (15)

Next

Most Ruby String methods are strong plain-value portability targets.

  • -@
  • []
  • []=
  • *
  • %
  • +
  • +@
  • <
  • <<
  • <=
  • =~
  • >
  • >=
  • ascii_only?
  • between?
  • capitalize!
  • casecmp
  • casecmp?
  • center
  • chars
  • chomp!
  • chop!
  • chr
  • clamp
  • clear
  • codepoints
  • concat
  • count
  • dedup
  • delete
  • delete_prefix!
  • delete_suffix!
  • delete!
  • downcase!
  • dump
  • empty?
  • getbyte
  • grapheme_clusters
  • gsub!
  • hex
  • index
  • insert
  • lines
  • ljust
  • lstrip
  • lstrip!
  • match
  • match?
  • next
  • next!
  • oct
  • ord
  • partition
  • prepend
  • replace
  • reverse!
  • rindex
  • rjust
  • rpartition
  • rstrip
  • rstrip!
  • scan
  • scrub
  • scrub!
  • setbyte
  • size
  • slice
  • slice!
  • split
  • squeeze
  • squeeze!
  • strip!
  • sub
  • sub!
  • succ
  • succ!
  • sum
  • swapcase
  • swapcase!
  • to_c
  • to_f
  • to_i
  • to_r
  • to_str
  • to_sym
  • tr_s
  • tr_s!
  • tr!
  • undump
  • unicode_normalize
  • unicode_normalize!
  • unicode_normalized?
  • unpack
  • unpack1
  • upcase!
  • upto
  • valid_encoding?
Explicit non-goals (18)
  • b Skip Ruby's binary-string clone helper adds little value in JS.
  • byteindex Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • byterindex Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • bytes Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • bytesize Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • byteslice Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • bytesplice Skip Byte-oriented string APIs do not fit Locutus' current plain-value model.
  • crypt Skip Password-hash wrappers are security-sensitive and not a good Locutus target.
  • each_byte Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_char Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_codepoint Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_grapheme_cluster Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_line Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • encode Skip Encoding-object semantics do not fit Locutus' plain-value model.
  • encode! Skip Encoding-object semantics do not fit Locutus' plain-value model.
  • encoding Skip Encoding objects are not a stable plain-value target.
  • force_encoding Skip Encoding mutation does not fit Locutus' plain-value model.
  • intern Skip Symbol-table interning does not fit Locutus' plain-value model.

Array instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

11% shipped
14/123 shipped 109 next 11 explicit non-goals
Shipped (14)

Next

Most Ruby Array methods map naturally onto JS arrays and plain objects.

  • -
  • []
  • []=
  • *
  • &
  • +
  • <<
  • |
  • all?
  • any?
  • append
  • assoc
  • at
  • chunk
  • chunk_while
  • clear
  • collect
  • collect_concat
  • collect!
  • combination
  • compact!
  • concat
  • count
  • cycle
  • deconstruct
  • delete
  • delete_at
  • delete_if
  • detect
  • difference
  • dig
  • drop
  • drop_while
  • empty?
  • entries
  • fetch
  • fill
  • filter
  • filter!
  • find
  • find_all
  • find_index
  • flat_map
  • flatten!
  • grep
  • grep_v
  • include?
  • index
  • inject
  • insert
  • intersect?
  • intersection
  • join
  • keep_if
  • length
  • map
  • map!
  • max
  • max_by
  • member?
  • min
  • min_by
  • minmax
  • minmax_by
  • none?
  • one?
  • partition
  • pop
  • prepend
  • product
  • push
  • rassoc
  • reduce
  • reject
  • reject!
  • repeated_combination
  • repeated_permutation
  • replace
  • reverse
  • reverse_each
  • reverse!
  • rindex
  • rotate
  • rotate!
  • select
  • select!
  • shift
  • shuffle
  • shuffle!
  • size
  • slice
  • slice_after
  • slice_before
  • slice!
  • sort
  • sort_by
  • sort_by!
  • sort!
  • sum
  • take
  • take_while
  • to_a
  • to_ary
  • to_h
  • transpose
  • union
  • uniq!
  • unshift
  • values_at
Explicit non-goals (11)
  • chain Skip Lazy enumerator chaining is not a stable plain-value target.
  • each Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_cons Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_entry Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_index Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_slice Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_index Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_object Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • lazy Skip Lazy enumerators do not fit Locutus' plain-value model.
  • pack Skip Binary packing semantics do not map cleanly to JS plain values.
  • to_set Skip Ruby Set values are not a stable plain-value target for Locutus.

Hash instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/86 shipped 86 next 33 explicit non-goals

Next

Hash readers and pure transforms often map cleanly onto JS objects and entry arrays.

  • []
  • []=
  • <
  • <=
  • >
  • >=
  • all?
  • any?
  • assoc
  • chunk
  • chunk_while
  • collect
  • collect_concat
  • compact
  • count
  • cycle
  • deconstruct_keys
  • detect
  • dig
  • drop
  • drop_while
  • empty?
  • entries
  • except
  • fetch
  • fetch_values
  • filter
  • filter_map
  • find
  • find_all
  • find_index
  • first
  • flat_map
  • flatten
  • grep
  • grep_v
  • group_by
  • has_key?
  • has_value?
  • include?
  • inject
  • invert
  • key
  • key?
  • keys
  • length
  • map
  • max
  • max_by
  • member?
  • merge
  • min
  • min_by
  • minmax
  • minmax_by
  • none?
  • one?
  • partition
  • rassoc
  • reduce
  • reject
  • reverse_each
  • select
  • size
  • slice
  • slice_after
  • slice_before
  • slice_when
  • sort
  • sort_by
  • sum
  • take
  • take_while
  • tally
  • to_a
  • to_h
  • to_hash
  • to_proc
  • transform_keys
  • transform_values
  • uniq
  • update
  • value?
  • values
  • values_at
  • zip
Explicit non-goals (33)
  • chain Skip Lazy enumerator chaining is not a stable plain-value target.
  • clear Skip Hash mutation is outside Locutus' value-only model.
  • compact! Skip Bang methods mutate caller-owned hash state.
  • compare_by_identity Skip Identity-based key semantics do not match plain JS object behavior.
  • compare_by_identity? Skip Identity-based key semantics do not match plain JS object behavior.
  • default Skip Default-proc semantics depend on mutable hash behavior and callable state.
  • default_proc Skip Default-proc semantics depend on callable runtime state.
  • default_proc= Skip Changing hash defaults mutates caller-owned state.
  • default= Skip Changing hash defaults mutates caller-owned state.
  • delete Skip Hash mutation is outside Locutus' value-only model.
  • delete_if Skip Hash mutation is outside Locutus' value-only model.
  • each Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_cons Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_entry Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_key Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_pair Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_slice Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_value Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_index Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_object Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • filter! Skip Bang methods mutate caller-owned hash state.
  • keep_if Skip Hash mutation is outside Locutus' value-only model.
  • lazy Skip Lazy enumerators do not fit Locutus' plain-value model.
  • merge! Skip Bang methods mutate caller-owned hash state.
  • rehash Skip Hash rehashing depends on Ruby's mutable identity semantics.
  • reject! Skip Bang methods mutate caller-owned hash state.
  • replace Skip Hash mutation is outside Locutus' value-only model.
  • select! Skip Bang methods mutate caller-owned hash state.
  • shift Skip Hash mutation is outside Locutus' value-only model.
  • store Skip Hash mutation is outside Locutus' value-only model.
  • to_set Skip Ruby Set values are not a stable plain-value target for Locutus.
  • transform_keys! Skip Bang methods mutate caller-owned hash state.
  • transform_values! Skip Bang methods mutate caller-owned hash state.

Integer instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/82 shipped 82 next 4 explicit non-goals

Next

Ruby Integer helpers are strong scalar portability targets.

  • -
  • -@
  • []
  • *
  • **
  • /
  • &
  • %
  • ^
  • +
  • +@
  • <
  • <<
  • <=
  • >
  • >=
  • >>
  • |
  • ~
  • abs
  • abs2
  • allbits?
  • angle
  • anybits?
  • arg
  • between?
  • bit_length
  • ceil
  • ceildiv
  • chr
  • clamp
  • coerce
  • conj
  • conjugate
  • denominator
  • digits
  • div
  • divmod
  • even?
  • fdiv
  • finite?
  • floor
  • gcd
  • gcdlcm
  • i
  • imag
  • imaginary
  • infinite?
  • integer?
  • lcm
  • magnitude
  • modulo
  • negative?
  • next
  • nobits?
  • nonzero?
  • numerator
  • odd?
  • ord
  • phase
  • polar
  • positive?
  • pow
  • pred
  • quo
  • rationalize
  • real
  • real?
  • rect
  • rectangular
  • remainder
  • round
  • singleton_method_added
  • size
  • step
  • succ
  • to_c
  • to_f
  • to_i
  • to_int
  • truncate
  • zero?
Explicit non-goals (4)
  • downto Skip Enumerator-style integer iteration does not fit Locutus' plain-value model.
  • times Skip Enumerator-style integer iteration does not fit Locutus' plain-value model.
  • to_r Skip Rational values do not fit Locutus' current plain-value model.
  • upto Skip Enumerator-style integer iteration does not fit Locutus' plain-value model.

Float instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/60 shipped 60 next 1 explicit non-goals

Next

Ruby Float helpers are strong scalar portability targets.

  • -
  • -@
  • *
  • **
  • /
  • %
  • +
  • +@
  • <
  • <=
  • >
  • >=
  • abs
  • abs2
  • angle
  • arg
  • between?
  • ceil
  • clamp
  • coerce
  • conj
  • conjugate
  • denominator
  • div
  • divmod
  • fdiv
  • finite?
  • floor
  • i
  • imag
  • imaginary
  • infinite?
  • integer?
  • magnitude
  • modulo
  • nan?
  • negative?
  • next_float
  • nonzero?
  • numerator
  • phase
  • polar
  • positive?
  • prev_float
  • quo
  • rationalize
  • real
  • real?
  • rect
  • rectangular
  • remainder
  • round
  • singleton_method_added
  • step
  • to_c
  • to_f
  • to_i
  • to_int
  • truncate
  • zero?
Explicit non-goals (1)
  • to_r Skip Rational values do not fit Locutus' current plain-value model.

Enumerable instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/52 shipped 52 next 9 explicit non-goals

Next

Most Enumerable transforms can be represented over arrays and plain values.

  • all?
  • any?
  • chunk
  • chunk_while
  • collect
  • collect_concat
  • compact
  • count
  • detect
  • drop
  • drop_while
  • entries
  • filter
  • filter_map
  • find
  • find_all
  • find_index
  • first
  • flat_map
  • grep
  • grep_v
  • group_by
  • include?
  • inject
  • map
  • max
  • max_by
  • member?
  • min
  • min_by
  • minmax
  • minmax_by
  • none?
  • one?
  • partition
  • reduce
  • reject
  • reverse_each
  • select
  • slice_after
  • slice_before
  • slice_when
  • sort
  • sort_by
  • sum
  • take
  • take_while
  • tally
  • to_a
  • to_h
  • uniq
  • zip
Explicit non-goals (9)
  • chain Skip Lazy enumerator chaining is not a stable plain-value target.
  • cycle Skip Potentially unbounded iteration does not fit Locutus' plain-value model.
  • each_cons Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_entry Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_slice Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_index Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • each_with_object Skip Enumerator-driven iteration APIs are better expressed directly in JS.
  • lazy Skip Lazy enumerators do not fit Locutus' plain-value model.
  • to_set Skip Ruby Set values are not a stable plain-value target for Locutus.

Numeric instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/47 shipped 47 next

Next

Scalar numeric helpers are strong Ruby portability targets.

  • -@
  • %
  • +@
  • <=>
  • abs
  • abs2
  • angle
  • arg
  • ceil
  • clone
  • coerce
  • conj
  • conjugate
  • denominator
  • div
  • divmod
  • dup
  • eql?
  • fdiv
  • finite?
  • floor
  • i
  • imag
  • imaginary
  • infinite?
  • integer?
  • magnitude
  • modulo
  • negative?
  • nonzero?
  • numerator
  • phase
  • polar
  • positive?
  • quo
  • real
  • real?
  • rect
  • rectangular
  • remainder
  • round
  • singleton_method_added
  • step
  • to_c
  • to_int
  • truncate
  • zero?

MatchData instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/10 shipped 10 next 10 explicit non-goals

Next

Match boundary offsets have a clean plain-value contract.

  • begin
  • end
  • offset

Capture extraction has a clean plain-value contract.

  • captures

Match-size helpers have a clean plain-value contract.

  • length

Capture-name enumeration has a clean plain-value contract.

  • names

Plain substring extraction has a clean plain-value contract.

  • post_match
  • pre_match

Source-string access has a clean plain-value contract.

  • string

Capture materialization has a clean plain-value contract.

  • to_a
Explicit non-goals (10)
  • [] Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • byteoffset Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • deconstruct Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • deconstruct_keys Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • match Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • match_length Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • named_captures Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • regexp Skip Regex-object access does not fit one stable plain-value contract.
  • size Skip Match objects depend on richer regex-engine state than one stable plain-value contract.
  • values_at Skip Match objects depend on richer regex-engine state than one stable plain-value contract.

Range instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/10 shipped 10 next 62 explicit non-goals

Next

Scalar boundary readers have a clean plain-value contract.

  • begin
  • end

Membership predicates have a clean plain-value contract.

  • cover?
  • include?

Boundary readers have a clean plain-value contract.

  • first
  • last

Scalar extrema readers have a clean plain-value contract.

  • max
  • min
  • minmax

Size helpers have a clean plain-value contract.

  • size
Explicit non-goals (62)
  • % Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • all? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • any? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • bsearch Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • chain Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • chunk Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • chunk_while Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • collect Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • collect_concat Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • compact Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • count Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • cycle Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • detect Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • drop Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • drop_while Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each_cons Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each_entry Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each_slice Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each_with_index Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • each_with_object Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • entries Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • exclude_end? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • filter Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • filter_map Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • find Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • find_all Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • find_index Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • flat_map Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • grep Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • grep_v Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • group_by Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • inject Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • lazy Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • map Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • max_by Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • member? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • min_by Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • minmax_by Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • none? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • one? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • overlap? Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • partition Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • reduce Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • reject Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • reverse_each Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • select Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • slice_after Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • slice_before Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • slice_when Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • sort Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • sort_by Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • step Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • sum Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • take Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • take_while Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • tally Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • to_a Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • to_h Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • to_set Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • uniq Skip Range iteration and object semantics do not map cleanly to plain JS values by default.
  • zip Skip Range iteration and object semantics do not map cleanly to plain JS values by default.

Comparable instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/7 shipped 7 next

Next

Comparable predicates over scalar values are strong Ruby portability targets.

  • <
  • <=
  • ==
  • >
  • >=
  • between?
  • clamp

File singleton methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/5 shipped 5 next 56 explicit non-goals

Next

Path decomposition helpers have a clean plain-string contract.

  • basename
  • dirname
  • extname

Path joining has a clean plain-string contract.

  • join

Path composition has a clean plain-string contract.

  • path
Explicit non-goals (56)
  • absolute_path Skip File metadata and I/O helpers depend on host filesystem state.
  • absolute_path? Skip File metadata and I/O helpers depend on host filesystem state.
  • atime Skip File metadata and I/O helpers depend on host filesystem state.
  • birthtime Skip File metadata and I/O helpers depend on host filesystem state.
  • blockdev? Skip File metadata and I/O helpers depend on host filesystem state.
  • chardev? Skip File metadata and I/O helpers depend on host filesystem state.
  • chmod Skip File metadata and I/O helpers depend on host filesystem state.
  • chown Skip File metadata and I/O helpers depend on host filesystem state.
  • ctime Skip File metadata and I/O helpers depend on host filesystem state.
  • delete Skip File metadata and I/O helpers depend on host filesystem state.
  • directory? Skip File metadata and I/O helpers depend on host filesystem state.
  • empty? Skip File metadata and I/O helpers depend on host filesystem state.
  • executable_real? Skip File metadata and I/O helpers depend on host filesystem state.
  • executable? Skip File metadata and I/O helpers depend on host filesystem state.
  • exist? Skip File metadata and I/O helpers depend on host filesystem state.
  • expand_path Skip File metadata and I/O helpers depend on host filesystem state.
  • file? Skip File metadata and I/O helpers depend on host filesystem state.
  • fnmatch Skip File metadata and I/O helpers depend on host filesystem state.
  • fnmatch? Skip File metadata and I/O helpers depend on host filesystem state.
  • ftype Skip File metadata and I/O helpers depend on host filesystem state.
  • grpowned? Skip File metadata and I/O helpers depend on host filesystem state.
  • identical? Skip File metadata and I/O helpers depend on host filesystem state.
  • lchmod Skip File metadata and I/O helpers depend on host filesystem state.
  • lchown Skip File metadata and I/O helpers depend on host filesystem state.
  • link Skip File metadata and I/O helpers depend on host filesystem state.
  • lstat Skip File metadata and I/O helpers depend on host filesystem state.
  • lutime Skip File metadata and I/O helpers depend on host filesystem state.
  • mkfifo Skip File metadata and I/O helpers depend on host filesystem state.
  • mtime Skip File metadata and I/O helpers depend on host filesystem state.
  • owned? Skip File metadata and I/O helpers depend on host filesystem state.
  • pipe? Skip File metadata and I/O helpers depend on host filesystem state.
  • readable_real? Skip File metadata and I/O helpers depend on host filesystem state.
  • readable? Skip File metadata and I/O helpers depend on host filesystem state.
  • readlink Skip File metadata and I/O helpers depend on host filesystem state.
  • realdirpath Skip File metadata and I/O helpers depend on host filesystem state.
  • realpath Skip File metadata and I/O helpers depend on host filesystem state.
  • rename Skip File metadata and I/O helpers depend on host filesystem state.
  • setgid? Skip File metadata and I/O helpers depend on host filesystem state.
  • setuid? Skip File metadata and I/O helpers depend on host filesystem state.
  • size Skip File metadata and I/O helpers depend on host filesystem state.
  • size? Skip File metadata and I/O helpers depend on host filesystem state.
  • socket? Skip File metadata and I/O helpers depend on host filesystem state.
  • split Skip File metadata and I/O helpers depend on host filesystem state.
  • stat Skip File metadata and I/O helpers depend on host filesystem state.
  • sticky? Skip File metadata and I/O helpers depend on host filesystem state.
  • symlink Skip File metadata and I/O helpers depend on host filesystem state.
  • symlink? Skip File metadata and I/O helpers depend on host filesystem state.
  • truncate Skip File metadata and I/O helpers depend on host filesystem state.
  • umask Skip File metadata and I/O helpers depend on host filesystem state.
  • unlink Skip File metadata and I/O helpers depend on host filesystem state.
  • utime Skip File metadata and I/O helpers depend on host filesystem state.
  • world_readable? Skip File metadata and I/O helpers depend on host filesystem state.
  • world_writable? Skip File metadata and I/O helpers depend on host filesystem state.
  • writable_real? Skip File metadata and I/O helpers depend on host filesystem state.
  • writable? Skip File metadata and I/O helpers depend on host filesystem state.
  • zero? Skip File metadata and I/O helpers depend on host filesystem state.

Regexp instance methods

Ruby 3.3 · Catalog source: live runtime snapshot ruby:3.3

0% shipped
0/1 shipped 1 next 11 explicit non-goals

Next

Pattern-source readers have a clean plain-value contract.

  • source
Explicit non-goals (11)
  • =~ Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • ~ Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • casefold? Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • encoding Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • fixed_encoding? Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • match Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • match? Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • named_captures Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • names Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • options Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.
  • timeout Skip Match-data- and engine-oriented regex object APIs are not direct plain-value targets.

Triaged as out of scope

Dir singleton methods Ruby 3.3
0/0 20 skipped
Symbol instance methods Ruby 3.3
0/0 30 skipped
Time instance methods Ruby 3.3
0/0 56 skipped