mbleigh-twitter-auth 0.1.5 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.markdown CHANGED
@@ -59,6 +59,8 @@ The `User` class will have a `twitter` method that provides a generic dispatcher
59
59
  user.twitter.post('/statuses/update.json', 'status' => 'This is my status.')
60
60
  # => {"user"=>{"login" => "mbleigh" ... }, "text"=>"This is my status.", "id"=>1234567890 ... }
61
61
 
62
+ If Twitter returns something other than a 200 response code, TwitterAuth will catch it and try to raise a salient error message. The exception class is `TwitterAuth::Dispatcher::Error` if you're in the mood to catch it.
63
+
62
64
  This area of the code is still a little raw, but hopefully will evolve to be a little more user-friendly as TwitterAuth matures. In the meantime, it's a perfectly workable foundation library, and the fact that it works the same with OAuth and HTTP Basic makes it all the better!
63
65
 
64
66
  Customizing TwitterAuth
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :minor: 1
3
- :patch: 5
3
+ :patch: 8
4
4
  :major: 0
@@ -23,9 +23,9 @@ module TwitterAuth
23
23
  ]
24
24
 
25
25
  validates_presence_of :login
26
- validates_format_of :login, :with => /\A[a-z0-9_]+\z/
26
+ validates_format_of :login, :with => /\A[a-z0-9_]+\z/i
27
27
  validates_length_of :login, :in => 1..15
28
- validates_uniqueness_of :login
28
+ validates_uniqueness_of :login, :case_sensitive => false
29
29
 
30
30
  def self.table_name; 'users' end
31
31
 
@@ -15,7 +15,10 @@ module TwitterAuth
15
15
  user_info = JSON.parse(token.get('/account/verify_credentials.json').body)
16
16
 
17
17
  if user = User.find_by_login(user_info['screen_name'])
18
- user.update_twitter_attributes(user_info)
18
+ user.assign_twitter_attributes(user_info)
19
+ user.access_token = token.token
20
+ user.access_secret = token.secret
21
+ user.save
19
22
  user
20
23
  else
21
24
  User.create_from_twitter_hash_and_token(user_info, token)
@@ -11,6 +11,15 @@ describe TwitterAuth::GenericUser do
11
11
  Factory.build(:twitter_oauth_user).should have_at_least(1).errors_on(:login)
12
12
  end
13
13
 
14
+ it 'should allow capital letters in the username' do
15
+ Factory.build(:twitter_oauth_user, :login => 'TwitterMan').should have(:no).errors_on(:login)
16
+ end
17
+
18
+ it 'should not allow the same login with different capitalization' do
19
+ Factory.create(:twitter_oauth_user, :login => 'twitterman')
20
+ Factory.build(:twitter_oauth_user, :login => 'TwitterMan').should have_at_least(1).errors_on(:login)
21
+ end
22
+
14
23
  describe '.new_from_twitter_hash' do
15
24
  it 'should raise an argument error if the hash does not have a screen_name attribute' do
16
25
  lambda{User.new_from_twitter_hash({})}.should raise_error(ArgumentError, 'Invalid hash: must include screen_name.')
@@ -34,9 +34,18 @@ describe TwitterAuth::OauthUser do
34
34
 
35
35
  it 'should return the user if he/she exists' do
36
36
  user = Factory.create(:twitter_oauth_user, :login => 'twitterman')
37
+ user.reload
37
38
  User.identify_or_create_from_access_token(@token).should == user
38
39
  end
39
40
 
41
+ it 'should update the access_token and access_secret for the user if he/she exists' do
42
+ user = Factory.create(:twitter_oauth_user, :login => 'twitterman', :access_token => 'someothertoken', :access_secret => 'someothersecret')
43
+ User.identify_or_create_from_access_token(@token)
44
+ user.reload
45
+ user.access_token.should == @token.token
46
+ user.access_secret.should == @token.secret
47
+ end
48
+
40
49
  it 'should update the user\'s attributes based on the twitter info' do
41
50
  user = Factory.create(:twitter_oauth_user, :login => 'twitterman', :name => 'Not Twitter Man')
42
51
  User.identify_or_create_from_access_token(@token).name.should == 'Twitter Man'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mbleigh-twitter-auth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bleigh
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-20 00:00:00 -07:00
12
+ date: 2009-03-21 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency