class Challah::Signup
Attributes
errors[R]
provider[RW]
user[RW]
Public Class Methods
model_name()
click to toggle source
# File lib/challah/signup.rb, line 71 def self.model_name ActiveModel::Name.new(Challah::Signup, Challah, "Signup") end
new(attributes = {})
click to toggle source
# File lib/challah/signup.rb, line 9 def initialize(attributes = {}) self.user = Challah.user.new self.provider = :password self.attributes = attributes @errors = [] end
Public Instance Methods
attributes=(value)
click to toggle source
# File lib/challah/signup.rb, line 16 def attributes=(value) return unless Hash === value value.each do |key, value| self.send("#{key}=", value) end end
method_missing(method, *attrs)
click to toggle source
# File lib/challah/signup.rb, line 24 def method_missing(method, *attrs) user.send(method, *attrs) end
password=(value)
click to toggle source
# File lib/challah/signup.rb, line 28 def password=(value) @provider = :password unless value.to_s.blank? user.password = value end
provider=(value)
click to toggle source
# File lib/challah/signup.rb, line 37 def provider=(value) if value.respond_to?(:to_sym) @provider = value.to_sym else @provider = nil end end
save()
click to toggle source
# File lib/challah/signup.rb, line 45 def save if valid? user.save else false end end
valid?()
click to toggle source
# File lib/challah/signup.rb, line 53 def valid? @errors = ActiveModel::Errors.new(user) result = true unless user.valid? result = false user.errors.each { |a, e| @errors.add(a, e) } end if !provider or !valid_provider? result = false user.errors.each { |a, e| @errors.add(a, e) unless @errors.added?(a, e) } end result end
valid_provider?()
click to toggle source
# File lib/challah/signup.rb, line 33 def valid_provider? user.valid_provider?(provider) end