Sha256: 01681220670ad28105280cf14cb32490804230f4b0f745274e79f3aab2a68f96

Contents?: true

Size: 889 Bytes

Versions: 26

Compression:

Stored size: 889 Bytes

Contents

# frozen_string_literal: true

require "core"

module Git
  module Lint
    module Reporters
      module Lines
        # Reports paragraph details.
        class Paragraph
          def initialize data = Core::EMPTY_HASH
            @data = data
          end

          def to_s
            %(#{label}"#{paragraph}"\n)
          end

          alias to_str to_s

          private

          attr_reader :data

          def label = "#{Line::DEFAULT_INDENT}Line #{number}: "

          def paragraph = formatted_lines.join("\n")

          def formatted_lines
            content.split("\n").map.with_index do |line, index|
              index.zero? ? line : "#{indent}#{line}"
            end
          end

          def indent = " " * (label.length + 1)

          def number = data.fetch(:number)

          def content = data.fetch(:content)
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
git-lint-9.0.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.8.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.7.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.6.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.5.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.4.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.3.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.2.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.1.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-8.0.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-7.5.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-7.3.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-7.2.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-7.1.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-7.0.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-6.2.1 lib/git/lint/reporters/lines/paragraph.rb
git-lint-6.2.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-6.1.0 lib/git/lint/reporters/lines/paragraph.rb
git-lint-6.0.2 lib/git/lint/reporters/lines/paragraph.rb
git-lint-6.0.1 lib/git/lint/reporters/lines/paragraph.rb