class Spine::Parameters::Parsers::List
Public Class Methods
new(parser = Parsers::Anything)
click to toggle source
# File lib/spine/parameters/parsers/list.rb, line 5 def initialize(parser = Parsers::Anything) @parser = parser end
Public Instance Methods
parse(name, value)
click to toggle source
# File lib/spine/parameters/parsers/list.rb, line 9 def parse(name, value) return [] unless value return parse_collection(value) if value.is_a?(Enumerable) return parse_collection(value.split(',')) if value.is_a?(::String) raise ArgumentError.new end
Private Instance Methods
parse_collection(collection)
click to toggle source
# File lib/spine/parameters/parsers/list.rb, line 19 def parse_collection(collection) collection.map { |item| parse_element(item) } end
parse_element(element)
click to toggle source
# File lib/spine/parameters/parsers/list.rb, line 23 def parse_element(element) @parser.parse(nil, element) end