Sha256: c21ec0647dc101a30121d2a0d69669146e0992c169eb3bf6be15ca64bcfb20a0
Contents?: true
Size: 1.17 KB
Versions: 5
Compression:
Stored size: 1.17 KB
Contents
# frozen_string_literal: true require "active_model" unless defined?(ActiveModel) module Lite module Command class Base def self.inherited(base) super base.include ActiveModel::Validations base.include Lite::Command::Internals::Attributes base.include Lite::Command::Internals::Calls base.include Lite::Command::Internals::Executions base.include Lite::Command::Internals::Faults base.include Lite::Command::Internals::Results if Lite::Command.configuration.raise_dynamic_faults # rubocop:disable Style/GuardClause base.class_eval <<-RUBY, __FILE__, __LINE__ + 1 #{base}::Fault = Class.new(Lite::Command::Fault) #{base}::Noop = Class.new(#{base}::Fault) #{base}::Invalid = Class.new(#{base}::Fault) #{base}::Failure = Class.new(#{base}::Fault) #{base}::Error = Class.new(#{base}::Fault) RUBY end end attr_reader :context alias ctx context def initialize(context = {}) @context = Lite::Command::Context.build(context) Utils.try(self, :on_pending) end end end end
Version data entries
5 entries across 5 versions & 1 rubygems