Sha256: eefd74dad957d25e6b0b8371d2696068f5f5f9e1af6ae59cd6623200b18dcf23

Contents?: true

Size: 684 Bytes

Versions: 3

Compression:

Stored size: 684 Bytes

Contents

module InternalAffairs
  class NoopOperation
    attr_reader :attributes

    def self.load_from_operation_serialized_attributes(**_attributes)
      new(**_attributes)
    end

    def attributes_for_operation_serialization
      attributes
    end

    def initialize(_attributes)
      @attributes = _attributes
    end

    def approvable_user
      @attributes[:user]
    end

    def approvable_operation
      @attributes[:operation]
    end

    def approvable_resources
      @attributes[:resources] || []
    end

    def approvable_amount
      @attributes[:amount]
    end

    def approve!
      # do nothing
    end

    def reject!
      # do nothing
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
internal-affairs-1.2.0 lib/internal_affairs/noop_operation.rb
internal-affairs-1.1.2 lib/internal_affairs/noop_operation.rb
internal-affairs-1.1.1 lib/internal_affairs/noop_operation.rb