Sha256: 01fe47145b7d73f21c19209756862f1fa4ce2dc7659224a3cc257c5d14296d8e

Contents?: true

Size: 577 Bytes

Versions: 2

Compression:

Stored size: 577 Bytes

Contents

# frozen_string_literal: true

require "singleton"

module Metka
  ##
  # Returns a new Metka::TagList using the given tag string.
  #
  # Example:
  # tag_list = Metka::GenericParser.instance.("One , Two, Three")
  # tag_list # ["One", "Two", "Three"]
  class GenericParser
    include Singleton

    def call(value)
      TagList.new.tap do |tag_list|
        case value
        when String
          tag_list.merge value.split(",").map(&:strip).reject(&:empty?)
        when Enumerable
          tag_list.merge value.reject(&:empty?)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
metka-0.1.1 lib/metka/generic_parser.rb
metka-0.1.0 lib/metka/generic_parser.rb