Module: MandateClaw
- Defined in:
- lib/mandate_claw.rb,
lib/mandate_claw/version.rb,
lib/mandate_claw/dsl/party.rb,
lib/mandate_claw/dsl/contract.rb,
lib/mandate_claw/dsl/temporal.rb,
lib/mandate_claw/dsl/obligation.rb,
lib/mandate_claw/dsl/permission.rb,
lib/mandate_claw/dsl/attestation.rb,
lib/mandate_claw/dsl/prohibition.rb,
lib/mandate_claw/dsl/agent_bounds.rb,
lib/mandate_claw/dsl/decision_rule.rb,
lib/mandate_claw/renderers/markdown_renderer.rb,
lib/mandate_claw/validators/contract_validator.rb
Defined Under Namespace
Modules: DSL, Renderers, Validators Classes: BreachError, Error, ValidationError
Constant Summary collapse
- VERSION =
"0.0.1"
Class Method Summary collapse
-
.define(name, &block) ⇒ Object
Convenience: define a contract class inline.
Class Method Details
.define(name, &block) ⇒ Object
Convenience: define a contract class inline
MandateClaw.define(:invoice_contract) do
party :buyer, identifies_by: :customer_id
...
end
31 32 33 34 35 |
# File 'lib/mandate_claw.rb', line 31 def self.define(name, &block) contract = Class.new(MandateClaw::DSL::Contract) contract.contract(&block) contract end |