Sha256: b6d78bc37ba952b7cf69525ece9b186df988fb28781ac274553d92f02f635b7c

Contents?: true

Size: 829 Bytes

Versions: 7

Compression:

Stored size: 829 Bytes

Contents

module Reform
  class Form < Contract
    self.representer_class = Reform::Representer.for(:form_class => self)

    require 'reform/form/validate'
    include Validate # extend Contract#validate with additional behaviour.
    require 'reform/form/sync'
    include Sync
    require 'reform/form/save'
    include Save

    require 'reform/form/multi_parameter_attributes'
    include MultiParameterAttributes # TODO: make features dynamic.

  private
    def aliased_model
      # TODO: cache the Expose.from class!
      Reform::Expose.from(mapper).new(:model => model)
    end


    require 'reform/form/scalar'
    extend Scalar::Property # experimental feature!


    # DISCUSS: should that be optional? hooks into #validate, too.
    require 'reform/form/changed'
    register_feature Changed
    include Changed
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
reform-1.2.5 lib/reform/form.rb
reform-1.2.4 lib/reform/form.rb
reform-1.2.3 lib/reform/form.rb
reform-1.2.2 lib/reform/form.rb
reform-1.2.1 lib/reform/form.rb
reform-1.2.0.beta2 lib/reform/form.rb
reform-1.2.0.beta1 lib/reform/form.rb