Sha256: 95e47147f7575b07f8ca73a30c7c3ca08731c95389b77256b336892a8e6995c1
Contents?: true
Size: 654 Bytes
Versions: 10
Compression:
Stored size: 654 Bytes
Contents
# frozen_string_literal: true module Pragmater module Formatters # Formats all pragmas in a consistent manner. class Main FORMATTERS = [General, Shebang].freeze PATTERN = FORMATTERS.map { |formatter| formatter::PATTERN } .then { |patterns| Regexp.union(*patterns) } .freeze def initialize string, formatters: FORMATTERS @string = string @formatters = formatters end def call formatters.reduce(string) { |pragma, formatter| formatter.new(pragma).call } end private attr_reader :string, :formatters end end end
Version data entries
10 entries across 10 versions & 1 rubygems