module Trailblazer::Macro::Contract::DSL
Public Class Methods
extended(extender)
click to toggle source
# File lib/trailblazer/macro/contract/build.rb, line 43 def self.extended(extender) extender.extend(ClassDependencies) warn "[Trailblazer] Using `contract do...end` is deprecated. Please use a form class and the Builder( constant: <Form> ) option." end
Public Instance Methods
contract(name = :default, constant = nil, base: Reform::Form, &block)
click to toggle source
This is the class level DSL
method.
Op.contract #=> returns contract class Op.contract do .. end # defines contract Op.contract CommentForm # copies (and subclasses) external contract. Op.contract CommentForm do .. end # copies and extends contract.
# File lib/trailblazer/macro/contract/build.rb, line 53 def contract(name = :default, constant = nil, base: Reform::Form, &block) heritage.record(:contract, name, constant, &block) path, form_class = Trailblazer::DSL::Build.new.( {prefix: :contract, class: base, container: self}, name, constant, block ) self[path] = form_class end