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)