lib/lite/service/command.rb in lite-service-1.0.0 vs lib/lite/service/command.rb in lite-service-1.0.1

- old
+ new

@@ -3,38 +3,34 @@ require 'lite/errors' require 'lite/memoize' module Lite module Service + class Command - class NotImplementedError < StandardError; end - class ValidationError < StandardError; end + class << self - module Command - - module ClassMethods - def call(*args) klass = new(*args) klass.call klass end end attr_reader :result - def self.prepended(base) - base.extend(ClassMethods) + def initialize(*args) + @args = args end def call - raise Lite::Service::NotImplementedError unless defined?(super) + raise Lite::Service::NotImplementedError unless defined?(run) return @result if called? @called = true - @result = super + @result = run end def cache @cache ||= Lite::Memoize::Instance.new end @@ -80,8 +76,7 @@ end alias valid? validate! end - end end