Class: AbideDevUtils::XCCDF::Diff::DiffTypeText

Inherits:
Object
  • Object
show all
Defined in:
lib/abide_dev_utils/xccdf/diff/benchmark/number_title.rb

Overview

Creates string representations of diff types

Class Method Summary collapse

Class Method Details

.both_diff_type_text(diff_type, obj, other_obj) ⇒ Object



150
151
152
153
154
155
156
157
158
159
# File 'lib/abide_dev_utils/xccdf/diff/benchmark/number_title.rb', line 150

def self.both_diff_type_text(diff_type, obj, other_obj)
  case diff_type[1]
  when :added
    "Added object: Title \"#{other_obj.title}\": Number \"#{other_obj.number}\""
  when :removed
    "Removed object: Title \"#{obj.title}\": Number \"#{obj.number}\""
  else
    raise ArgumentError, "Unknown diff type for both change: #{diff_type[1]}"
  end
end

.number_diff_type_text(diff_type, obj, other_obj) ⇒ Object



139
140
141
142
143
144
145
146
147
148
# File 'lib/abide_dev_utils/xccdf/diff/benchmark/number_title.rb', line 139

def self.number_diff_type_text(diff_type, obj, other_obj)
  case diff_type[1]
  when :added
    "Number changed (New Number): Title \"#{obj.title}\": #{obj.number} -> #{other_obj.number}"
  when :exists
    "Number changed (Existing Number): Title \"#{obj.title}\": #{obj.number} -> #{other_obj.number}"
  else
    raise ArgumentError, "Unknown diff type for number change: #{diff_type[1]}"
  end
end

.text(diff_type, obj, other_obj) ⇒ Object



120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# File 'lib/abide_dev_utils/xccdf/diff/benchmark/number_title.rb', line 120

def self.text(diff_type, obj, other_obj)
  case diff_type[0]
  when :equal
    'The objects are equal'
  when :title
    "Title changed: Number \"#{obj.number}\": #{obj.title} -> #{other_obj.title}"
  when :number
    number_diff_type_text(diff_type, obj, other_obj)
  when :both
    both_diff_type_text(diff_type, obj, other_obj)
  when :add
    "Add object with number \"#{other_obj.number}\" and title \"#{other_obj.title}\""
  when :remove
    "Remove object with number \"#{obj.number}\" and title \"#{obj.title}\""
  else
    raise ArgumentError, "Unknown diff type: #{diff_type}"
  end
end