lib/act_a.rb in act_a-0.0.1 vs lib/act_a.rb in act_a-0.0.2

- old
+ new

@@ -3,20 +3,33 @@ def call(*args) new(*args) end def new(klass) - Base.new(klass) + Actor.new(klass) end end + class Actor + attr_accessor :klass - class Base def initialize(klass) self.klass = klass end + def apply(*args) + Validator.new(klass).apply(*args) + end + end + + class Validator + attr_accessor :record, :keys, :klass + + def initialize(klass) + self.klass = klass + end + def apply(key_and_values = {}) self.keys = key_and_values.keys self.record = klass.new(key_and_values) self end @@ -76,11 +89,9 @@ raise ActiveRecord::RecordInvalid, record end end private - attr_accessor :record, :keys, :klass - def validators(attribute_name) klass._validators[attribute_name.to_sym] end def duplicate_validator(validator, attribute_name)