Class: TwitterAuth::GenericUser

Inherits:
Object
  • Object
show all
Includes:
MongoMapper::Document, BasicUser, OauthUser
Defined in:
app/models/twitter_auth/generic_user.rb

Constant Summary collapse

TWITTER_ATTRIBUTES =
[
  :name,
  :location,
  :description,
  :profile_image_url,
  :url,
  :protected,
  :profile_background_color,
  :profile_sidebar_fill_color,
  :profile_link_color,
  :profile_sidebar_border_color,
  :profile_text_color,
  :profile_background_image_url,
  :profile_background_tile,
  :friends_count,
  :statuses_count,
  :followers_count,      
  :favourites_count,
  :time_zone,
  :utc_offset
]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from BasicUser

included, #password, #password=

Methods included from OauthUser

included, #token

Instance Attribute Details

#remember_tokenObject

Returns the value of attribute remember_token.



5
6
7
# File 'app/models/twitter_auth/generic_user.rb', line 5

def remember_token
  @remember_token
end

#remember_token_expires_atObject

Returns the value of attribute remember_token_expires_at.



5
6
7
# File 'app/models/twitter_auth/generic_user.rb', line 5

def remember_token_expires_at
  @remember_token_expires_at
end

#twitter_idObject

Returns the value of attribute twitter_id.



5
6
7
# File 'app/models/twitter_auth/generic_user.rb', line 5

def twitter_id
  @twitter_id
end

Class Method Details

.from_remember_token(token) ⇒ Object



86
87
88
# File 'app/models/twitter_auth/generic_user.rb', line 86

def self.from_remember_token(token)
  first(:conditions => ["remember_token = ? AND remember_token_expires_at > ?", token, Time.now])
end

.new_from_twitter_hash(hash) ⇒ Object

Raises:

  • (ArgumentError)


70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'app/models/twitter_auth/generic_user.rb', line 70

def self.new_from_twitter_hash(hash)
  raise ArgumentError, 'Invalid hash: must include screen_name.' unless hash.key?('screen_name')

  raise ArgumentError, 'Invalid hash: must include id.' unless hash.key?('id')

  user = User.new
  user.twitter_id = hash['id'].to_s
  user. = hash['screen_name']

  TWITTER_ATTRIBUTES.each do |att|
    user.send("#{att}=", hash[att.to_s]) if user.respond_to?("#{att}=")
  end

  user
end

.table_nameObject



68
# File 'app/models/twitter_auth/generic_user.rb', line 68

def self.table_name; 'users' end

Instance Method Details

#assign_twitter_attributes(hash) ⇒ Object



90
91
92
93
94
# File 'app/models/twitter_auth/generic_user.rb', line 90

def assign_twitter_attributes(hash)
  TWITTER_ATTRIBUTES.each do |att|
    send("#{att}=", hash[att.to_s]) if respond_to?("#{att}=")
  end
end

#forget_meObject



130
131
132
133
# File 'app/models/twitter_auth/generic_user.rb', line 130

def forget_me
  self.remember_token = self.remember_token_expires_at = nil
  self.save
end

#remember_meObject



119
120
121
122
123
124
125
126
127
128
# File 'app/models/twitter_auth/generic_user.rb', line 119

def remember_me
  return false unless respond_to?(:remember_token)

  self.remember_token = ActiveSupport::SecureRandom.hex(10)
  self.remember_token_expires_at = Time.now + TwitterAuth.remember_for.days
  
  save

  {:value => self.remember_token, :expires => self.remember_token_expires_at}
end

#twitterObject



111
112
113
114
115
116
117
# File 'app/models/twitter_auth/generic_user.rb', line 111

def twitter
  if TwitterAuth.oauth?
    TwitterAuth::Dispatcher::Oauth.new(self)
  else
    TwitterAuth::Dispatcher::Basic.new(self)
  end
end

#update_twitter_attributes(hash) ⇒ Object



96
97
98
99
# File 'app/models/twitter_auth/generic_user.rb', line 96

def update_twitter_attributes(hash)
  assign_twitter_attributes(hash)
  save
end

#utilize_default_validationsObject



107
108
109
# File 'app/models/twitter_auth/generic_user.rb', line 107

def utilize_default_validations
  true
end