Class: PaperTrail::Human::Adapters::Resolvers::Text

Inherits:
Object
  • Object
show all
Includes:
Ports::Resolver
Defined in:
lib/paper_trail/human/adapters/resolvers/text.rb

Constant Summary collapse

DEFAULT_MAX_LENGTH =
80

Instance Method Summary collapse

Constructor Details

#initialize(max_length: DEFAULT_MAX_LENGTH, show_diff_stats: false, diff: false) ⇒ Text

Returns a new instance of Text.



12
13
14
15
16
# File 'lib/paper_trail/human/adapters/resolvers/text.rb', line 12

def initialize(max_length: DEFAULT_MAX_LENGTH, show_diff_stats: false, diff: false, **)
  @max_length = max_length
  @show_diff_stats = show_diff_stats
  @diff = diff
end

Instance Method Details

#resolve(value) ⇒ Object



22
23
24
# File 'lib/paper_trail/human/adapters/resolvers/text.rb', line 22

def resolve(value)
  truncate(value.to_s)
end

#resolve_change(previous_value, new_value) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/paper_trail/human/adapters/resolvers/text.rb', line 26

def resolve_change(previous_value, new_value)
  old_lines = previous_value.to_s.lines.map(&:chomp)
  new_lines = new_value.to_s.lines.map(&:chomp)

  additions = (new_lines - old_lines).size
  deletions = (old_lines - new_lines).size

  {
    previous_value: truncate(previous_value.to_s),
    value: truncate(new_value.to_s),
    additions: additions,
    deletions: deletions,
    summary: "+#{additions}/-#{deletions} lines"
  }
end

#resolve_pair?Boolean

Returns:



18
19
20
# File 'lib/paper_trail/human/adapters/resolvers/text.rb', line 18

def resolve_pair?
  @diff
end