Sha256: b4f5767fc4f8996daac61b7efe989e0c75355c242f0ee0550565fbb5d750db10
Contents?: true
Size: 952 Bytes
Versions: 1
Compression:
Stored size: 952 Bytes
Contents
class NarrativeMethodCommand < Liza::Command class Error < StandardError; end class Invalid < Error; end def self.call(args) log "args = #{args.inspect}" new.call(args) end # instance methods def call(args) @args = args log "@args = #{args.inspect}" return help if args.empty? validate perform rescue StandardError => error @error = error handle ensure @result end def validate raise NotImplementedError end def perform raise NotImplementedError end def handle log render "error.txt" end def help log render "help.txt" end end __END__ # view success.txt.erb RESULT: class <%= @result.class %> value <%= @result %> # view error.txt.erb ERROR: class <%= @error.class %> message <%= @error.message %> backtrace <%= @error.backtrace.select { |s| @stop = true if s.include?("/exe/lizarb:"); !defined? @stop }.join "\n " %>
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lizarb-1.0.4 | app_new/dev/commands/narrative_method_command.rb |