Sha256: 394a2de78755505578b5f408e7b34ee07735852c8b933979d9c0191bae6a5852

Contents?: true

Size: 579 Bytes

Versions: 5

Compression:

Stored size: 579 Bytes

Contents

module MailerLite
  module Utils
    BLANK_RE = /\A[[:space:]]*\z/

    class << self
      def underscore(string)
        string.gsub(/::/, '/')
          .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
          .gsub(/([a-z\d])([A-Z])/, '\1_\2')
          .tr('-', '_')
          .downcase
      end

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

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

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

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mailerlite-1.6.0 lib/mailerlite/utils.rb
mailerlite-1.5.0 lib/mailerlite/utils.rb
mailerlite-1.4.0 lib/mailerlite/utils.rb
mailerlite-1.3.0 lib/mailerlite/utils.rb
mailerlite-1.2.0 lib/mailerlite/utils.rb