Module: Declarative::Schema::DSL

Defined in:
lib/declarative/schema.rb

Instance Method Summary collapse

Instance Method Details

#defaults(options = {}, &block) ⇒ Object



25
26
27
28
29
# File 'lib/declarative/schema.rb', line 25

def defaults(options={}, &block)
  heritage.record(:defaults, options, &block)

  _defaults.merge!(options, &block)
end

#definition_class ⇒ Object

TODO: test me.



35
36
37
# File 'lib/declarative/schema.rb', line 35

def definition_class # TODO: test me.
  Definitions::Definition
end

#definitions ⇒ Object



31
32
33
# File 'lib/declarative/schema.rb', line 31

def definitions
  @definitions ||= Definitions.new(definition_class)
end

#property(name, options = {}, &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/declarative/schema.rb', line 14

def property(name, options={}, &block)
  heritage.record(:property, name, options, &block)

  default_options = {}
  default_options[:_base]           = default_nested_class
  default_options[:_defaults]       = _defaults
  default_options[:_nested_builder] = nested_builder if block

  definitions.add(name, default_options.merge(options), &block)
end