Sha256: c7a9a20ab23c8f356993ea77855fbb54a0fe7fdcc917c5711c270e1d29726977
Contents?: true
Size: 1.45 KB
Versions: 1
Compression:
Stored size: 1.45 KB
Contents
module ActsAsDailycred def acts_as_dailycred serialize :facebook, Hash serialize :twitter, Hash serialize :google, Hash serialize :github, Hash serialize :tags, Array serialize :referred, Array extend ActsAsDailycred::SingletonMethods include ActsAsDailycred::InstanceMethods end module SingletonMethods def find_or_create_with_omniauth(model) @user = User.find_by_provider_and_uid(model[:provider], model[:uid]) || User.new @user.update_from_dailycred model[:info] @user end end module InstanceMethods def tag tag dc = get_client response = dc.tag self.uid, tag json = JSON.parse(response.body) if json['worked'] self.tags << tag save! end end def untag tag dc = get_client response = dc.untag self.uid, tag json = JSON.parse(response.body) if json['worked'] self.tags.delete tag save! end end def reset_password get_client.reset_password self.email end def update_from_dailycred dc dc.each do |k,v| self[k] = v if self[k] != v end save! end def fire_event key, val="" get_client.event self.uid, key, val end def get_client @dailycred ||= Dailycred::Client.new Rails.configuration.DAILYCRED_CLIENT_ID, Rails.configuration.DAILYCRED_SECRET_KEY end end end require 'active_record' ActiveRecord::Base.extend ActsAsDailycred
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dailycred-0.1.36 | lib/dailycred/acts_as_dailycred.rb |