class KakaxiParse::User
Attributes
email[RW]
password[RW]
Public Class Methods
name()
click to toggle source
# File lib/kakaxi_parse/user.rb, line 23 def self.name '_User' end
new( id: nil, name: nil, email: nil, password: nil, updated_at: nil, created_at: nil )
click to toggle source
Calls superclass method
KakaxiParse::BaseModel::new
# File lib/kakaxi_parse/user.rb, line 6 def initialize( id: nil, name: nil, email: nil, password: nil, updated_at: nil, created_at: nil ) @email = email @password = password super(id, name, updated_at, created_at) end
reference_name()
click to toggle source
# File lib/kakaxi_parse/user.rb, line 31 def self.reference_name 'users' end
short_name()
click to toggle source
# File lib/kakaxi_parse/user.rb, line 27 def self.short_name 'farmer' end
where(hash, limit: DEFUALT_LIMIT)
click to toggle source
Calls superclass method
KakaxiParse::BaseModel::where
# File lib/kakaxi_parse/user.rb, line 19 def self.where(hash, limit: DEFUALT_LIMIT) to_objects(super(self, name_to_nickname(hash), limit, [], @@related_to)) if valid_key?(hash) end
Private Class Methods
name_to_nickname(params)
click to toggle source
# File lib/kakaxi_parse/user.rb, line 58 def self.name_to_nickname(params) replace_key(params, :name, :nickname) end
to_objects(users)
click to toggle source
# File lib/kakaxi_parse/user.rb, line 66 def self.to_objects(users) users.map do |user| new( id: user['objectId'], name: user['nickname'], email: user['email'], updated_at: user['updatedAt'], created_at: user['createdAt'] ) end end
valid_key?(hash)
click to toggle source
# File lib/kakaxi_parse/user.rb, line 62 def self.valid_key?(hash) hash.keys.all? { |key| %i(id name email password updated_at created_at role_id).include? key } end
Public Instance Methods
farms()
click to toggle source
# File lib/kakaxi_parse/user.rb, line 53 def farms Farm.where(farmer_id: id) end
save()
click to toggle source
Calls superclass method
KakaxiParse::BaseModel#save
# File lib/kakaxi_parse/user.rb, line 39 def save id ? false : super(self, { nickname: name, email: email, password: password, username: email }) end
sign_in()
click to toggle source
# File lib/kakaxi_parse/user.rb, line 35 def sign_in API.new('login', params: {username: email, password: password}).get end
update(params)
click to toggle source
Calls superclass method
KakaxiParse::BaseModel#update
# File lib/kakaxi_parse/user.rb, line 43 def update(params) original_params = build_original_params(params) if super(self, User.name_to_nickname(params)) original_params.each { |key, value| self.send("#{key}=", value) } true else false end end