Skip to content

Instantly share code, notes, and snippets.

@lucasmncastro
Created April 1, 2010 15:39
Show Gist options
  • Select an option

  • Save lucasmncastro/351956 to your computer and use it in GitHub Desktop.

Select an option

Save lucasmncastro/351956 to your computer and use it in GitHub Desktop.

Revisions

  1. lucasmncastro revised this gist Apr 1, 2010. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -2,19 +2,21 @@ module RequiredAttributes
    def self.included(base)
    base.class_eval do
    class << self
    attr_accessor :required_attributes
    @@required_attributes = []

    def required?(attribute)
    @@required_attributes.include? attribute
    end

    def validates_presence_of_with_reader(*attr_names)
    validates_presence_of_without_reader(*attr_names)
    attr_names.extract_options!

    self.required_attributes ||= []
    self.required_attributes += attr_names
    @@required_attributes += attr_names
    end

    alias_method_chain :validates_presence_of, :reader
    end
    end
    end
    end
    ActiveRecord::Base.send :include, RequiredAttributes
    end
  2. lucasmncastro created this gist Apr 1, 2010.
    20 changes: 20 additions & 0 deletions gistfile1.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    module RequiredAttributes
    def self.included(base)
    base.class_eval do
    class << self
    attr_accessor :required_attributes

    def validates_presence_of_with_reader(*attr_names)
    validates_presence_of_without_reader(*attr_names)
    attr_names.extract_options!

    self.required_attributes ||= []
    self.required_attributes += attr_names
    end

    alias_method_chain :validates_presence_of, :reader
    end
    end
    end
    end
    ActiveRecord::Base.send :include, RequiredAttributes