Class: Metka::GenericParser
- Inherits:
-
Object
- Object
- Metka::GenericParser
- Includes:
- Singleton
- Defined in:
- lib/metka/generic_parser.rb
Overview
Returns a new Metka::TagList using the given tag string.
Example: tag_list = Metka::GenericParser.instance.(“One , Two, Three”) tag_list # [“One”, “Two”, “Three”]
Instance Method Summary collapse
- #call(value) ⇒ Object
-
#initialize ⇒ GenericParser
constructor
A new instance of GenericParser.
Constructor Details
#initialize ⇒ GenericParser
Returns a new instance of GenericParser.
15 16 17 18 |
# File 'lib/metka/generic_parser.rb', line 15 def initialize @single_quote_pattern ||= {} @double_quote_pattern ||= {} end |
Instance Method Details
#call(value) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/metka/generic_parser.rb', line 20 def call(value) TagList.new.tap do |tag_list| case value when String value = value.to_s.dup gsub_quote_pattern!(tag_list, value, double_quote_pattern) gsub_quote_pattern!(tag_list, value, single_quote_pattern) tag_list.merge value.split(Regexp.new(delimiter)).map(&:strip).reject(&:empty?) when Enumerable tag_list.merge value.reject(&:empty?) end end end |