Sha256: f083e803d5f7b5b1da25b35f490c44683b9c2ba61bc75c8782c1c8337244a17e

Contents?: true

Size: 574 Bytes

Versions: 1

Compression:

Stored size: 574 Bytes

Contents

require_relative 'build_method_base'

module Verbalize
  class BuildDangerousActionMethod < BuildMethodBase
    private

    def declaration
      "def self.#{method_name}!(#{declaration_keyword_arguments})"
    end

    def body
      <<-BODY.chomp
  new(#{initialize_keywords_and_values}).send(:#{method_name})
rescue UncaughtThrowError => uncaught_throw_error
  error = VerbalizeError.new("Unhandled fail! called with: \#{uncaught_throw_error.value.value.inspect}.")
  error.set_backtrace(uncaught_throw_error.backtrace[2..-1])
  raise error
      BODY
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
verbalize-1.2.0 lib/verbalize/build_dangerous_action_method.rb