Files
calligraphy/lib/calligraphy/utils.rb
2017-10-28 11:44:22 -05:00

39 lines
830 B
Ruby

module Calligraphy
module Utils
TRUE_VALUES = [true, 1, '1', 't', 'T', 'true', 'TRUE']
FALSE_VALUES = [false, 0, '0', 'f', 'F', 'false', 'FALSE']
def is_true?(val)
TRUE_VALUES.include? val
end
def is_false?(val)
FALSE_VALUES.include? val
end
def join_paths(*paths)
paths.join '/'
end
def split_and_pop(path:, separator: '/')
path.split(separator)[0..-2]
end
def obj_exists_and_is_not_type?(obj:, type:)
obj.nil? ? false : obj != type
end
def map_array_of_hashes(arr_hashes)
[].tap do |output_array|
arr_hashes.each do |hash|
output_array.push hash.map { |k, v| v }
end
end
end
def extract_lock_token(if_header)
if_header.scan(Calligraphy::LOCK_TOKEN_REGEX)&.flatten[0]
end
end
end