Module: WrapAndJoin

Defined in:
lib/core/ruby/wrap_and_join.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
# File 'lib/core/ruby/wrap_and_join.rb', line 5

def included(base)
  base.const_set(:WRAP_AND_JOIN_JOIN_TOKEN, ', ')
end

Instance Method Details

#wrap_and_join(wrapper: %w["],, join: Array::WRAP_AND_JOIN_JOIN_TOKEN) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/core/ruby/wrap_and_join.rb', line 10

def wrap_and_join(wrapper: %w["], join: Array::WRAP_AND_JOIN_JOIN_TOKEN)
  validate_wrapper!(wrapper)
  validate_join!(join)

  wrapper << wrapper.first if wrapper.count == 1
  map { |element| "#{wrapper[0]}#{element}#{wrapper[1]}" }.join(join)
end