class Object

Constants

FALSE_VALUES
TRUE_VALUES

Public Instance Methods

array?() click to toggle source
# File lib/lite/ruby/object.rb, line 16
def array?
  is_a?(Array)
end
blank?() click to toggle source
# File lib/lite/ruby/safe/object.rb, line 5
def blank?
  object = self
  object = object.strip if respond_to?(:strip)
  respond_to?(:empty?) ? object.empty? : !object
end
bool?() click to toggle source
# File lib/lite/ruby/object.rb, line 21
def bool?
  true? || false?
end
boolean?() click to toggle source
# File lib/lite/ruby/object.rb, line 25
def boolean?
  val = to_s.downcase
  TRUE_VALUES.include?(val) || FALSE_VALUES.include?(val)
end
date?() click to toggle source
# File lib/lite/ruby/object.rb, line 30
def date?
  is_a?(Date)
end
deep_dup() click to toggle source
# File lib/lite/ruby/safe/object.rb, line 11
def deep_dup
  duplicable? ? dup : self
end
duplicable?() click to toggle source
# File lib/lite/ruby/safe/object.rb, line 15
def duplicable?
  true
end
false?() click to toggle source

rubocop:disable Style/YodaCondition

# File lib/lite/ruby/object.rb, line 35
def false?
  false == self
end
falsey?() click to toggle source

rubocop:enable Style/YodaCondition

# File lib/lite/ruby/object.rb, line 40
def falsey?
  nil? || FALSE_VALUES.include?(to_s.downcase)
end
float?() click to toggle source
# File lib/lite/ruby/object.rb, line 44
def float?
  is_a?(Float)
end
hash?() click to toggle source
# File lib/lite/ruby/object.rb, line 48
def hash?
  is_a?(Hash)
end
integer?() click to toggle source
# File lib/lite/ruby/object.rb, line 52
def integer?
  is_a?(Integer)
end
is_any?(*objects) click to toggle source

rubocop:disable Naming/PredicateName

# File lib/lite/ruby/object.rb, line 57
def is_any?(*objects)
  objects.any? { |obj| is_a?(obj) }
end
numeral?() click to toggle source

rubocop:enable Naming/PredicateName

# File lib/lite/ruby/object.rb, line 62
def numeral?
  !to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/).nil?
end
numeric?() click to toggle source
# File lib/lite/ruby/object.rb, line 66
def numeric?
  is_a?(Numeric)
end
open_struct?() click to toggle source
# File lib/lite/ruby/object.rb, line 70
def open_struct?
  is_a?(OpenStruct)
end
palindrome?() click to toggle source
# File lib/lite/ruby/object.rb, line 74
def palindrome?
  to_s == to_s.reverse
end
presence() click to toggle source
# File lib/lite/ruby/safe/object.rb, line 23
def presence
  self if present?
end
present?() click to toggle source
# File lib/lite/ruby/safe/object.rb, line 19
def present?
  !blank?
end
range?() click to toggle source
# File lib/lite/ruby/object.rb, line 78
def range?
  is_a?(Range)
end
safe_call(...) click to toggle source
# File lib/lite/ruby/object.rb, line 82
def safe_call(...)
  try_call(...) || self
end
safe_send(...) click to toggle source
# File lib/lite/ruby/object.rb, line 86
def safe_send(...)
  try_send(...) || self
end
safe_try(...) click to toggle source
# File lib/lite/ruby/object.rb, line 90
def safe_try(...)
  try(...) || self
end
salvage(placeholder = '---') click to toggle source
# File lib/lite/ruby/object.rb, line 94
def salvage(placeholder = '---')
  blank? ? placeholder : self
end
salvage_try(method_name = nil, *args, placeholder: '---', &block) click to toggle source
# File lib/lite/ruby/object.rb, line 98
def salvage_try(method_name = nil, *args, placeholder: '---', &block)
  try(method_name, *args, &block).salvage(placeholder)
end
send_chain(*args) click to toggle source
# File lib/lite/ruby/object.rb, line 102
def send_chain(*args)
  Array(args).inject(self) { |obj, argz| obj.send(*argz) }
end
send_chain_if(*args) click to toggle source
# File lib/lite/ruby/object.rb, line 106
def send_chain_if(*args)
  Array(args).inject(self) { |obj, argz| obj.send_if(*argz) }
end
send_if(key, *args, **kwargs, &block) click to toggle source
# File lib/lite/ruby/object.rb, line 110
def send_if(key, *args, **kwargs, &block)
  return self unless respond_to?(key)

  send(key, *args, **kwargs, &block)
end
set?() click to toggle source
# File lib/lite/ruby/object.rb, line 116
def set?
  is_a?(Set)
end
string?() click to toggle source
# File lib/lite/ruby/object.rb, line 120
def string?
  is_a?(String)
end
struct?() click to toggle source
# File lib/lite/ruby/object.rb, line 124
def struct?
  is_a?(Struct)
end
symbol?() click to toggle source
# File lib/lite/ruby/object.rb, line 128
def symbol?
  is_a?(Symbol)
end
time?() click to toggle source
# File lib/lite/ruby/object.rb, line 132
def time?
  is_a?(Time)
end
to_b()
Alias for: to_bool
to_bool() click to toggle source
# File lib/lite/ruby/object.rb, line 136
def to_bool
  return true if truthy?
  return false if falsey?

  nil
end
Also aliased as: to_b
true?() click to toggle source

rubocop:disable Style/YodaCondition

# File lib/lite/ruby/object.rb, line 144
def true?
  true == self
end
truthy?() click to toggle source

rubocop:enable Style/YodaCondition

# File lib/lite/ruby/object.rb, line 149
def truthy?
  TRUE_VALUES.include?(to_s.downcase)
end
try(method_name = nil, *args) { |self| ... } click to toggle source
# File lib/lite/ruby/safe/object.rb, line 27
def try(method_name = nil, *args, &block)
  if method_name.nil? && block
    block.arity.zero? ? instance_eval(&block) : yield(self)
  elsif respond_to?(method_name)
    public_send(method_name, *args, &block)
  end
end
try!(method_name = nil, *args) { |self| ... } click to toggle source
# File lib/lite/ruby/safe/object.rb, line 35
def try!(method_name = nil, *args, &block)
  if method_name.nil? && block
    block.arity.zero? ? instance_eval(&block) : yield(self)
  else
    public_send(method_name, *args, &block)
  end
end
try_call(...) click to toggle source
# File lib/lite/ruby/object.rb, line 153
def try_call(...)
  return unless respond_to?(:call)

  call(...)
end
try_send(...) click to toggle source
# File lib/lite/ruby/object.rb, line 159
def try_send(...)
  send(...)
rescue StandardError
  nil
end