Class: MetaCommit::Extension::RubySupport::Diffs::Diff

Inherits:
Contracts::Diff
  • Object
show all
Includes:
Helpers::ContextualAstAccessor
Defined in:
lib/meta_commit_ruby_support/diffs/diff.rb

Overview

Base class for diffs

Constant Summary collapse

SUPPORTED_PARSERS =
[MetaCommit::Extension::RubySupport::Parsers::Ruby]

Instance Method Summary collapse

Methods included from Helpers::ContextualAstAccessor

#contextual_ast_has_target_node, #is_in_context_of_class?, #is_in_context_of_method?, #is_in_context_of_module?, #is_name_of_class?, #is_name_of_module?, #name_of_context_class, #name_of_context_method, #name_of_context_module, #path_to_component

Instance Method Details

#inspectString

Returns:

  • (String)


21
22
23
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 21

def inspect
  string_representation
end

#string_representationString

Returns:

  • (String)


31
32
33
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 31

def string_representation
  "perform #{change_context.type}"
end

#supports_change(context) ⇒ Boolean

Parameters:

  • context (MetaCommit::Contracts::ChangeContext)

Returns:

  • (Boolean)


16
17
18
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 16

def supports_change(context)
  true
end

#supports_parser?(parser) ⇒ Boolean

Parameters:

  • parser (Class)

Returns:

  • (Boolean)


10
11
12
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 10

def supports_parser?(parser)
  SUPPORTED_PARSERS.include?(parser)
end

#to_sString

Returns:

  • (String)


26
27
28
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 26

def to_s
  string_representation
end

#type_addition?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 36

def type_addition?
  change_context.type == TYPE_ADDITION
end

#type_deletion?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 41

def type_deletion?
  change_context.type == TYPE_DELETION
end

#type_replace?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/meta_commit_ruby_support/diffs/diff.rb', line 46

def type_replace?
  change_context.type == TYPE_REPLACE
end