Sha256: 4c2262c9116731ac86512393f8df1c328c5643e70994e064a74e2c978ad8a8f0

Contents?: true

Size: 702 Bytes

Versions: 6

Compression:

Stored size: 702 Bytes

Contents

$LOAD_PATH.unshift(File.expand_path('../../lib', __FILE__))
require_relative '../sample_app'
require 'pp'

MarkMapper.application.create

class Field
  include MarkMapper::EmbeddedDocument
  key :name
  validates_presence_of :name
end

class Template
  include MarkMapper::Document
  key :name
  many :fields

  # This tells the template to validate all
  # fields when validating the template.
  validates_associated :fields
end

# Name is missing on embedded field
template = Template.new(:fields => [Field.new])
puts template.valid? # false

# Name is present on embedded field
template = Template.new(:fields => [Field.new(:name => 'Yay')])
puts template.valid? # true

MarkMapper.application.drop

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mark_mapper-0.0.6 examples/validating/embedded_docs.rb
mark_mapper-0.0.5 examples/validating/embedded_docs.rb
mark_mapper-0.0.4 examples/validating/embedded_docs.rb
mark_mapper-0.0.3 examples/validating/embedded_docs.rb
mark_mapper-0.0.2 examples/validating/embedded_docs.rb
mark_mapper-0.0.1 examples/validating/embedded_docs.rb