module AttrRequired
Public Class Methods
included(klass)
click to toggle source
# File lib/attr_required.rb, line 5 def self.included(klass) klass.send :extend, ClassMethods end
Public Instance Methods
attr_missing()
click to toggle source
# File lib/attr_required.rb, line 63 def attr_missing required_attributes.select do |key| value = send(key) if value.respond_to?(:empty?) value.empty? else value.nil? end end end
attr_missing!()
click to toggle source
# File lib/attr_required.rb, line 57 def attr_missing! if attr_missing? raise AttrMissing.new("'#{attr_missing.join('\', \'')}' required.") end end
attr_missing?()
click to toggle source
# File lib/attr_required.rb, line 53 def attr_missing? !attr_missing.empty? end
attr_required?(key)
click to toggle source
# File lib/attr_required.rb, line 49 def attr_required?(key) self.class.attr_required? key end
required_attributes()
click to toggle source
# File lib/attr_required.rb, line 45 def required_attributes self.class.required_attributes end