Module: Arson::ClassMethods

Defined in:
lib/arson.rb

Instance Method Summary collapse

Instance Method Details

#arsonObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/arson.rb', line 6

def arson
  class_eval "    @@arson_validations = {}\n\n    def to_arson(class_name=nil)\n      @class_name ||= class_name || self.class.to_s\n      self.valid?\n      ActiveSupport::JSON.encode({@class_name=>instance_values.update(\"arson_validations\"=>@@arson_validations)})\n    end\n\n    protected\n\n    def self.validates_presence_of(*attr_names)\n      add_arson_validation(\"presence\",attr_names.clone)\n      super\n    end\n\n    def self.validates_format_of(*attr_names)\n      add_arson_validation(\"format\",attr_names.clone)\n      super\n    end\n\n    def self.add_arson_validation(validation, configuration)\n      validation_options = configuration.extract_options!\n      method = configuration.flatten.to_s\n      @@arson_validations[method] ||= []\n      @@arson_validations[method] << {validation=>validation_options}\n    end\n  EOC\nend\n"