Module: WkhtmltopdfRunner::Utils

Defined in:
lib/wkhtmltopdf_runner/utils.rb

Constant Summary collapse

BLANK_RE =
/\A[[:space:]]*\z/.freeze

Class Method Summary collapse

Class Method Details

.blank?(obj) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/wkhtmltopdf_runner/utils.rb', line 22

def self.blank?(obj)
  return !!BLANK_RE.match(obj) if obj.is_a?(String)

  obj.respond_to?(:empty?) ? !!obj.empty? : !obj
end

.dasherize(word) ⇒ Object



7
8
9
# File 'lib/wkhtmltopdf_runner/utils.rb', line 7

def self.dasherize(word)
  underscore(word).tr('_', '-')
end

.presence(obj) ⇒ Object



32
33
34
# File 'lib/wkhtmltopdf_runner/utils.rb', line 32

def self.presence(obj)
  obj if present?(obj)
end

.present?(obj) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/wkhtmltopdf_runner/utils.rb', line 28

def self.present?(obj)
  !blank?(obj)
end

.underscore(camel_cased_word) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/wkhtmltopdf_runner/utils.rb', line 11

def self.underscore(camel_cased_word)
  return camel_cased_word unless /[A-Z-]|::/.match?(camel_cased_word)

  word = camel_cased_word.to_s.gsub('::', '/')
  word.gsub!(/([A-Z\d]+)([A-Z][a-z])/, '\1_\2')
  word.gsub!(/([a-z\d])([A-Z])/, '\1_\2')
  word.tr!('-', '_')
  word.downcase!
  word
end