Module: CardPrinter::Parser

Defined in:
lib/card_printer/parser.rb

Defined Under Namespace

Classes: Base, CsvParser, JsonLine, TrelloJsonExport

Class Method Summary collapse

Class Method Details

.available_parsersObject



10
11
12
# File 'lib/card_printer/parser.rb', line 10

def self.available_parsers
  @parsers.keys
end

.default_parserObject



14
15
16
# File 'lib/card_printer/parser.rb', line 14

def self.default_parser
  'trello_json_export'
end

.parse(iostream, parser_type = default_parser) ⇒ Object



6
7
8
# File 'lib/card_printer/parser.rb', line 6

def self.parse(iostream, parser_type = default_parser)
  parser_for(parser_type).call(iostream)
end

.parser_for(parser_type) ⇒ Object



18
19
20
21
# File 'lib/card_printer/parser.rb', line 18

def self.parser_for(parser_type)
  parser_class = @parsers.fetch(parser_type)
  ->(iostream) { parser_class.new(iostream).parse }
end

.register_parser(name, klass) ⇒ Object



23
24
25
# File 'lib/card_printer/parser.rb', line 23

def self.register_parser(name, klass)
  @parsers[name] = klass
end