module Cassie::Statements::Statement::Idempotency::ClassMethods
@!parse extend ClassMethods
Public Instance Methods
idempotent(val=:get)
click to toggle source
DSL to set a statement as idempotent @param [Boolean] val The value to set for idempotency. Returns the current value if no parameter is given. @return [Boolean] idempotent value
# File lib/cassie/statements/statement/idempotency.rb, line 37 def idempotent(val=:get) if val == :get return @idempotent if defined?(@idempotent) Cassie::Statements.default_idempotency else self.idempotent = val end end
idempotent=(val)
click to toggle source
# File lib/cassie/statements/statement/idempotency.rb, line 30 def idempotent=(val) @idempotent = val 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 55 def idempotent? !!idempotent end
inherited(subclass)
click to toggle source
@!visibility private
Calls superclass method
# File lib/cassie/statements/statement/idempotency.rb, line 25 def inherited(subclass) subclass.idempotent = idempotent if defined?(@idempotent) super end
non_idempotent()
click to toggle source
DSL to set a satement as non-idempotent @return [Boolean] false
# File lib/cassie/statements/statement/idempotency.rb, line 48 def non_idempotent self.idempotent = false end