class Builder
Attributes
parameters[RW]
rules[RW]
target_class[RW]
Public Class Methods
new(target_class, rules)
click to toggle source
# File lib/Builder/builder.rb, line 7 def initialize(target_class, rules) @target_class = target_class @rules = rules @parameters = target_class.attributes end
Public Instance Methods
build()
click to toggle source
# File lib/Builder/builder.rb, line 13 def build validate_rules target_class.new(*parameter_values) end
parameter_values()
click to toggle source
# File lib/Builder/builder.rb, line 18 def parameter_values parameters.map do |parameter| send(parameter) end end
validate_rules()
click to toggle source
# File lib/Builder/builder.rb, line 24 def validate_rules rules.each do |rule| raise ValidationError, rule unless rule.satisfies?(self) end end