Sha256: 1c38c8569bcc5882a00981306b9077f3cbd291763951848dd6807d8c942db6bc
Contents?: true
Size: 492 Bytes
Versions: 2
Compression:
Stored size: 492 Bytes
Contents
require_relative 'build_method_base' module Verbalize class BuildSafeActionMethod < BuildMethodBase private def declaration "def self.#{method_name}(#{declaration_keyword_arguments})" end def body <<-BODY.chomp action = new(#{initialize_keywords_and_values}) result = catch(:verbalize_error) { action.send(#{method_name.inspect}) } if result.is_a?(Result) result else Result.new(outcome: :ok, value: result) end BODY end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
verbalize-1.2.0 | lib/verbalize/build_safe_action_method.rb |
verbalize-1.1.1 | lib/verbalize/build_safe_action_method.rb |