Sha256: f2a17d32ee3cf8c385dac52eb34bee3be5babb52d02e2f1c25457b2099e0b91a
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
require "himekaminize/filters/base_filter" module Himekaminize module Filters class HeaderFilter < BaseFilter DEFAULT_HEADER_SIZE = 6 def call(context:, output:) @context = context output = output.map do |line| if line.is_a?(String) && line =~ /\A\s*(#{Himekaminize::Nodes::Header::PATTERN})/ Himekaminize::Nodes::Header.new(line) else line end end if only_header? output = output.select { |line| line.is_a?(Himekaminize::Nodes::Header) } end if header_size.present? output = output.select { |line| (line.is_a?(Himekaminize::Nodes::Header) && header_size >= line.size) || !line.is_a?(Himekaminize::Nodes::Header) } end { context: context, output: output, } end private def only_header? @context[:only_header].presence || false end def header_size @context[:header_size].presence || DEFAULT_HEADER_SIZE end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
himekaminize-0.1.0 | lib/himekaminize/filters/header_filter.rb |
himekaminize-0.0.10 | lib/himekaminize/filters/header_filter.rb |