Module: Sms77::Util

Defined in:
lib/sms77/util.rb

Class Method Summary collapse

Class Method Details

.boolean?(val) ⇒ Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/sms77/util.rb', line 57

def self.boolean?(val)
  [true, false].include? val
end

.get_module_constant_values(mod) ⇒ Object



22
23
24
# File 'lib/sms77/util.rb', line 22

def self.get_module_constant_values(mod)
  mod.constants(false).map &mod.method(:const_get)
end

.get_namespace_classes(ns) ⇒ Object



18
19
20
# File 'lib/sms77/util.rb', line 18

def self.get_namespace_classes(ns)
  return self.get_namespace_members_by_type(ns, Class)
end

.get_namespace_members_by_type(ns, type) ⇒ Object



14
15
16
# File 'lib/sms77/util.rb', line 14

def self.get_namespace_members_by_type(ns, type)
  ns.constants.map(&ns.method(:const_get)).grep(type)
end

.in_module_constants?(needle, mod) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/sms77/util.rb', line 43

def self.in_module_constants?(needle, mod)
  get_module_constant_values(mod).include?(needle)
end

.is_positive_integer?(val) ⇒ Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/sms77/util.rb', line 39

def self.is_positive_integer?(val)
  /\A\d+\z/.match?(val.to_s)
end

.is_valid_datetime?(str) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
34
35
36
37
# File 'lib/sms77/util.rb', line 30

def self.is_valid_datetime?(str)
  begin
    DateTime.parse(str)
    true
  rescue ArgumentError
    false
  end
end

.is_valid_url?(str) ⇒ Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/sms77/util.rb', line 26

def self.is_valid_url?(str)
  str =~ URI::regexp
end

.lengthy_string?(val) ⇒ Boolean

Returns:

  • (Boolean)


65
66
67
# File 'lib/sms77/util.rb', line 65

def self.lengthy_string?(val)
  return val.is_a?(String) && !val.empty?
end

.nil_or_lengthy_string?(val) ⇒ Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/sms77/util.rb', line 61

def self.nil_or_lengthy_string?(val)
  val.nil? || (val.is_a?(String) && val.length)
end

.numeric?(val) ⇒ Boolean

Returns:

  • (Boolean)


51
52
53
54
55
# File 'lib/sms77/util.rb', line 51

def self.numeric?(val)
  return true if val.is_a?(Integer)

  val.scan(/\D/).empty?
end

.to_numbered_bool(val) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/sms77/util.rb', line 4

def self.to_numbered_bool(val)
  if true == val
    return 1
  elsif false == val
    return 0
  end

  return val
end

.valid_float?(str) ⇒ Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/sms77/util.rb', line 47

def self.valid_float?(str)
  !!Float(str) rescue false
end