Sha256: 28c52c5c04faafa3958b0db0698ed7a2b810c8e5dff3b88aeb2aaeb0f18af95c

Contents?: true

Size: 434 Bytes

Versions: 5

Compression:

Stored size: 434 Bytes

Contents

require "git_diff/line/context"
require "git_diff/line/addition"
require "git_diff/line/deletion"

module GitDiff
  module Line
    module ClassMethods
      def from_string(string)
        line_class(string[0]).new(string)
      end

      def line_class(symbol)
        line_classes[symbol] || Context
      end

      def line_classes
        { "+" => Addition, "-" => Deletion }
      end
    end
    extend ClassMethods
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
git_diff-0.4.2 lib/git_diff/line.rb
git_diff-0.4.1 lib/git_diff/line.rb
git_diff-0.4.0 lib/git_diff/line.rb
git_diff-0.3.1 lib/git_diff/line.rb
git_diff-0.3.0 lib/git_diff/line.rb