Sha256: bb2e8283ed0329e417614851114eb6a813435c6a6fa0f9675f7654fbf02c8c63

Contents?: true

Size: 379 Bytes

Versions: 1

Compression:

Stored size: 379 Bytes

Contents

module Shifty
  module Taggable
    def tags=(tag_arg)
      @tags = [tag_arg].flatten.compact.uniq
    end

    def criteria=(criteria_arg)
      @criteria = [criteria_arg].flatten.compact
    end

    def has_tag?(tag)
      @tags.include? tag
    end

    def criteria_passes?
      return true if @criteria.empty?

      @criteria.all? { |c| c.call(self) }
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shifty-0.5.0 lib/shifty/taggable.rb