Class: PaperTrail::Human::Adapters::Resolvers::Text
- Inherits:
-
Object
- Object
- PaperTrail::Human::Adapters::Resolvers::Text
- Includes:
- Ports::Resolver
- Defined in:
- lib/paper_trail/human/adapters/resolvers/text.rb
Constant Summary collapse
- DEFAULT_MAX_LENGTH =
80
Instance Method Summary collapse
-
#initialize(max_length: DEFAULT_MAX_LENGTH, show_diff_stats: false, diff: false) ⇒ Text
constructor
A new instance of Text.
- #resolve(value) ⇒ Object
- #resolve_change(previous_value, new_value) ⇒ Object
- #resolve_pair? ⇒ Boolean
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
18 19 20 |
# File 'lib/paper_trail/human/adapters/resolvers/text.rb', line 18 def resolve_pair? @diff end |