Class: Array
- Inherits:
-
Object
- Object
- Array
- Defined in:
- lib/joined.rb
Overview
Joins elements of array.
- Author
-
Yegor Bugayenko ([email protected])
- Copyright
-
Copyright © 2025 Yegor Bugayenko
- License
-
MIT
Instance Method Summary collapse
-
#joined(oxford: true, words_connector: ', ', last_word_connector: ', and ', comma_before: false) ⇒ String
Join strings into a single line, splitting them with comma and placing “AND” between the last two items.
Instance Method Details
#joined(oxford: true, words_connector: ', ', last_word_connector: ', and ', comma_before: false) ⇒ String
Join strings into a single line, splitting them with comma and placing “AND” between the last two items.
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/joined.rb', line 30 def joined(oxford: true, words_connector: ', ', last_word_connector: ', and ', comma_before: false) return '' if empty? return first if length == 1 final_connector = (last_word_connector || '').dup final_connector.sub!(/^,/, '') unless oxford && length > 2 result = "#{self[0...-1].join(words_connector)}#{final_connector}#{self[-1]}" result.gsub!(/"([^"]+)"\s*,/, '"\1,"') if comma_before result end |