Sha256: 1a127a0ea1d3e81e913bbbb9d037363c231d4d6fa060be724bca3e44d171b9ef

Contents?: true

Size: 573 Bytes

Versions: 1

Compression:

Stored size: 573 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.last.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.1.1 lib/verbalize/build_dangerous_action_method.rb