class RSpecApprovals::ApprovalHandler
Handles user input and interactive approvals
Attributes
actual[R]
approval_file[R]
expected[R]
Public Instance Methods
run(expected, actual, approval_file)
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 13 def run(expected, actual, approval_file) @expected = expected @actual = actual @approval_file = approval_file show expected.empty? ? actual : diff prompt_user end
Private Instance Methods
approve()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 65 def approve say "!txtgrn!Approved" File.deep_write approval_file, actual true end
auto_approve?()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 42 def auto_approve? RSpec.configuration.auto_approve end
diff()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 80 def diff Diffy::Diff.new(expected, actual, context: 2).to_s :color end
get_response()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 46 def get_response Prompt.select "Please Choose:", 'r', menu_options end
prompt_user()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 24 def prompt_user response = auto_approve? ? :approve : get_response case response when :approve, :reject send response when :actual, :expected, :diff show send response prompt_user else false end end
reject()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 71 def reject say "!txtred!Not Approved" false end
separator()
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 76 def separator "!txtgrn!" + ('_' * terminal_width) end
show(what)
click to toggle source
# File lib/rspec_approvals/approval_handler.rb, line 84 def show(what) say "" say separator say what say separator end