Sha256: 1fd11cbf98dcd87a160feb49dec2f5e96cf58771243c758133d376c27b6d4122

Contents?: true

Size: 569 Bytes

Versions: 2

Compression:

Stored size: 569 Bytes

Contents

module Himekaminize
  module Nodes
    class Header < BaseNode

      PATTERN = /\#{1,6}/
      attr_accessor :space, :name, :level, :size

      def initialize(line)
        @space, @level, @name = split_name_and_level(line)
        @size = count_size
      end

      def to_s
        sprintf("%s%s%s\n", @space, @level, @name)
      end

      private

      def split_name_and_level(line)
        /\A(\s*)(#{PATTERN})(.*)/.match(line) do |m|
          [m[1], m[2], m[3]]
        end
      end

      def count_size
        @level.length
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
himekaminize-0.1.0 lib/himekaminize/nodes/header.rb
himekaminize-0.0.10 lib/himekaminize/nodes/header.rb