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