Sha256: 150087e103b8184dcceeaa5d7f492e5f8aeca6d5c51df8aace985d67993c30ad

Contents?: true

Size: 705 Bytes

Versions: 18

Compression:

Stored size: 705 Bytes

Contents

require "delegate"

class DiffChange < Struct.new(:type, :file)
  def added?
    type == "A"
  end

  def copied?
    type == "C"
  end

  def deleted?
    type == "D"
  end

  def modified?
    type == "M"
  end

  def renamed?
    type == "R"
  end

  def type_changed?
    type == "T"
  end

  def unmerged?
    type == "U"
  end

  def broken?
    type == "B"
  end
end

class DiffChanges < SimpleDelegator
  def initialize(diff)
    super diff.to_s.scan(/^([^\t]+)\t(.*)$/).map { |(type, file)| DiffChange.new(type, file) }
  end

  def grep(regex)
    __getobj__.select { |change| change.file =~ regex }
  end

  def [](filename)
    __getobj__.detect { |change| change.file == filename }
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
houston-core-0.8.0.pre app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.7.0 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.7.0.beta4 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.7.0.beta3 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.7.0.beta2 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.7.0.beta app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.6.3 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.6.2 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.6.1 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.6.0 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.6 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.5 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.4 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.3 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.2 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.1 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.0 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb
houston-core-0.5.0.beta1 app/adapters/houston/adapters/version_control/git_adapter/diff_changes.rb