module Ensurance::ArrayEnsure::ClassMethods

Public Instance Methods

ensure(thing) click to toggle source
# File lib/ensurance/array_ensure.rb, line 12
def ensure(thing)
  case thing.class.name
  when 'NilClass'
    nil
  when 'Hash'
    thing.to_a
  when 'String'
    begin
      [JSON.parse(thing)].flatten
    rescue JSON::ParserError
      thing.split(',')
    end
  else
    Array(thing)
  end
end
ensure!(thing) click to toggle source
# File lib/ensurance/array_ensure.rb, line 29
def ensure!(thing)
  result = self.ensure(thing)
  raise ArgumentError, "Cannot Array.ensure(#{thing || 'nil'})" unless result
  result
end