module Cassie::Statements::Statement::Idempotency

Sepcific functionality and DSL for idempotent statements.

Public Class Methods

included(base) click to toggle source

@!visibility private

# File lib/cassie/statements/statement/idempotency.rb, line 15
def self.included(base)
  base.instance_eval do
    attr_writer :idempotent
  end
  base.extend ClassMethods
end

Public Instance Methods

idempotent() click to toggle source

Indicates where the statement has no negative side-effect if issued multiple times. @return [Boolean] indicating idempotency. Defaults to {Cassie::Statements.default_idempotency} if no value has been set.

# File lib/cassie/statements/statement/idempotency.rb, line 63
def idempotent
  return @idempotent if defined?(@idempotent)
  self.class.idempotent
end
idempotent?() click to toggle source

Indicates where the statement has no negative side-effect if issued multiple times. @return [Boolean] indicating idempotency. Defaults to {Cassie::Statements.default_idempotency} if no value has been set.

# File lib/cassie/statements/statement/idempotency.rb, line 71
def idempotent?
  !!idempotent
end