class Lookbook::DataParser
def call
def call result = @input.present? ? parse(@input) : @fallback result.is_a?(Hash) ? result.deep_symbolize_keys : result rescue => exception @fail_silently ? @fallback : raise(exception) end
def initialize(input, fail_silently: false, fallback: nil)
def initialize(input, fail_silently: false, fallback: nil) @input = input @fail_silently = fail_silently @fallback = fallback end
def parse(input)
def parse(input) raise ParserError.new "DataParser must be subclassed with a :parse method defined" end