class Arrayish::String

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/arrayish/string.rb, line 4
def initialize(*args)
  if args.respond_to? :each
    super(args.join(separator))
  else
    super
  end
end

Public Instance Methods

+(something) click to toggle source
# File lib/arrayish/string.rb, line 16
def +(something)
  new_string( self.to_a + coerce_to_array(something) )
end
[](*args) click to toggle source
# File lib/arrayish/string.rb, line 20
def [](*args)
  new_string( self.to_a.send(:[],*args) )
end
to_a() click to toggle source
# File lib/arrayish/string.rb, line 12
def to_a
  self.split(separator)
end

Private Instance Methods

coerce_to_array(input) click to toggle source
# File lib/arrayish/string.rb, line 30
def coerce_to_array(input)
  return [] if input.nil? || input.empty?
  [input]
end
new_string(something) click to toggle source
# File lib/arrayish/string.rb, line 35
def new_string(something)
  self.class.new(something)
end
separator() click to toggle source
# File lib/arrayish/string.rb, line 26
def separator
  ','
end