module Ccd::Dsl

Public Instance Methods

constraint(*args) click to toggle source
# File lib/ccd/dsl.rb, line 16
def constraint(*args)
  add_constraint(*args)
end
dump(path) click to toggle source
# File lib/ccd/dsl.rb, line 20
def dump(path)
  File.open(File.join(path, "#{self.name.underscore}.yml"), 'w') do |f|
    f.puts defaults.to_yaml
  end
end
validate!(object) click to toggle source
# File lib/ccd/dsl.rb, line 26
def validate!(object)
  (@cardinalities || {}).each do |name, card|
    case card
      when '1..1'
        value = name.split('.').reduce(object) { |obj, chunk| obj.__send__(chunk) }
        raise CardinalityError.new(object, name) unless value
    end
  end
end