Sha256: 99bb735efb6a9cdb199b8e7c6c462fc31f83d1f410c573500eaa1cdfa8f2bdc7

Contents?: true

Size: 760 Bytes

Versions: 16

Compression:

Stored size: 760 Bytes

Contents

# frozen_string_literal: true

module UiBibz::Utils
  # Utils methods can be used outside of Ui Bibz
  class Screwdriver
    include Singleton

    class << self
      def join_classes(*classes)
        klasses = Array(classes).flatten.filter_map(&:to_s).uniq.reject(&:blank?)
        klasses.empty? ? nil : klasses
      end

      def exclude_classes(html_classes, *classes)
        klasses = (html_classes || []).flatten.map(&:to_s).reject { |klass_name| Array(classes).flatten.include?(klass_name.to_s) || klass_name.blank? }
        klasses.empty? ? nil : klasses
      end

      def uniq_word_in_string(str)
        str.split(/\s/).uniq
      end

      def tapped?(block)
        block.present? && block.parameters.present?
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
ui_bibz-3.0.13 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.12 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.11 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.10 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.9 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.8 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.7 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.6 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.5 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.4 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.3 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.2 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.1 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.0 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.0.beta19 lib/ui_bibz/utils/screwdriver.rb
ui_bibz-3.0.0.beta18 lib/ui_bibz/utils/screwdriver.rb