google-authenticator-rails 0.0.1 → 0.0.2

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/.travis.yml ADDED
@@ -0,0 +1,11 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ # - jruby-18mode # JRuby in 1.8 mode
7
+ # - jruby-19mode # JRuby in 1.9 mode
8
+ - rbx-18mode
9
+ - rbx-19mode
10
+ # uncomment this line if your project needs to run something other than `rake`:
11
+ script: bundle exec rspec spec
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
- # Google::Authenticator
1
+ Ï# Google::Authenticator
2
+
3
+ [![Build Status](https://secure.travis-ci.org/jaredonline/google-authenticator.png)](http://travis-ci.org/jaredonline/google-authenticator)
2
4
 
3
5
  Rails (ActiveRecord) integration with the Google Authenticator apps for Android and the iPhone.
4
6
 
@@ -55,26 +57,26 @@ class User
55
57
  acts_as_google_authenticated :method => :user_name_with_label
56
58
 
57
59
  def user_name_with_label
58
- "#{user_name}@mysweetservice.com"
60
+ "#{user_name}@example.com"
59
61
  end
60
62
  end
61
63
 
62
64
  @user = User.new(:user_name => "ted")
63
- @user.google_label # => "ted@mysweetservice.com"
65
+ @user.google_label # => "ted@example.com"
64
66
 
65
67
  class User
66
68
  acts_as_google_authenticated :method => Proc.new { |user| user.user_name_with_label.upcase }
67
69
 
68
70
  def user_name_with_label
69
- "#{user_name}@mysweetservice.com"
71
+ "#{user_name}@example.com"
70
72
  end
71
73
  end
72
74
 
73
75
  @user = User.new(:user_name => "ted")
74
- @user.google_label # => "TED@MYSWEETSERVICE.COM"
76
+ @user.google_label # => "TED@EXAMPLE.COM"
75
77
  ```
76
78
 
77
- You can also sepcify a column for storing the google secret. The default is `google_secret`.
79
+ You can also specify a column for storing the google secret. The default is `google_secret`.
78
80
 
79
81
  Example
80
82
 
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["jared.online@gmail.com"]
7
7
  gem.description = %q{Add the ability to use the Google Authenticator with ActiveRecord.}
8
8
  gem.summary = %q{Add the ability to use the Google Authenticator with ActiveRecord.}
9
- gem.homepage = "http://github.com/jaredonline/google-authenticator-rails"
9
+ gem.homepage = "http://github.com/jaredonline/google-authenticator"
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -15,9 +15,9 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Google::Authenticator::Rails::VERSION
17
17
 
18
- gem.add_dependency "activesupport", "~> 3.2.0"
18
+ gem.add_dependency "activesupport"
19
19
  gem.add_dependency "rotp"
20
- gem.add_dependency "activerecord", "~> 3.2.0"
20
+ gem.add_dependency "activerecord"
21
21
  gem.add_dependency "google-qr"
22
22
 
23
23
  gem.add_development_dependency "rspec", "~> 2.8.0"
@@ -15,12 +15,14 @@ module ActiveRecord # :nodoc:
15
15
  # it supercedes :column_name
16
16
  # [:google_secret_column] the column the secret will be stored in, defaults
17
17
  # to "google_secret"
18
+ # [:skip_attr_accessible] defaults to false, if set to true will no call
19
+ # attr_accessible on the google_secret_column
18
20
  def acts_as_google_authenticated(options = {})
19
21
  @google_label_column = options[:column_name] || :email
20
22
  @google_label_method = options[:method] || :default_google_label_method
21
23
  @google_secret_column = options[:google_secret_column] || :google_secret
22
24
 
23
- attr_accessible @google_secret_column
25
+ attr_accessible @google_secret_column unless options[:skip_attr_accessible] == true
24
26
 
25
27
  [:google_label_column, :google_label_method, :google_secret_column].each do |cattr|
26
28
  self.class.__send__(:define_method, cattr) do
@@ -9,7 +9,7 @@ module ActiveRecord # :nodoc:
9
9
  end
10
10
 
11
11
  def google_qr_uri
12
- GoogleQR.new(data: ROTP::TOTP.new(google_secret_value).provisioning_uri(google_label), size: "200x200").to_s
12
+ GoogleQR.new(:data => ROTP::TOTP.new(google_secret_value).provisioning_uri(google_label), :size => "200x200").to_s
13
13
  end
14
14
 
15
15
  def google_label
@@ -1,7 +1,7 @@
1
1
  module Google
2
2
  module Authenticator
3
3
  module Rails
4
- VERSION = "0.0.1"
4
+ VERSION = "0.0.2"
5
5
  end
6
6
  end
7
7
  end
@@ -43,7 +43,7 @@ describe Google::Authenticator::Rails do
43
43
  before do
44
44
  time = Time.parse("2012-08-07 11:11:00 AM +0700")
45
45
  Time.stub!(:now).and_return(time)
46
- @user = User.create(email: "test@test.com", user_name: "test_user")
46
+ @user = User.create(:email => "test@example.com", :user_name => "test_user")
47
47
  @user.google_secret = "test"
48
48
  end
49
49
 
@@ -68,10 +68,22 @@ describe Google::Authenticator::Rails do
68
68
  @user.google_secret.should == "5qlcip7azyjuwm36"
69
69
  end
70
70
 
71
+ context 'skip_attr_accessible' do
72
+ it 'respects the :skip_attr_accessible flag' do
73
+ User.should_not_receive(:attr_accessible).with(:google_secret)
74
+ User.acts_as_google_authenticated :skip_attr_accessible => true
75
+ end
76
+
77
+ it 'respects the default' do
78
+ User.should_receive(:attr_accessible).with(:google_secret)
79
+ User.acts_as_google_authenticated
80
+ end
81
+ end
82
+
71
83
  context 'secret column' do
72
84
  before do
73
85
  Google::Authenticator::Rails.stub!(:generate_secret).and_return("test")
74
- @user = CustomUser.create(email: "test@test.com", user_name: "test_user")
86
+ @user = CustomUser.create(:email => "test@example.com", :user_name => "test_user")
75
87
  @user.set_google_secret!
76
88
  end
77
89
 
@@ -80,7 +92,7 @@ describe Google::Authenticator::Rails do
80
92
  end
81
93
 
82
94
  it 'generates a url for a qr code' do
83
- @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40test.com%3Fsecret%3Dtest&chs=200x200"
95
+ @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40example.com%3Fsecret%3Dtest&chs=200x200"
84
96
  end
85
97
  end
86
98
 
@@ -88,7 +100,7 @@ describe Google::Authenticator::Rails do
88
100
 
89
101
  it 'generates a url for a qr code' do
90
102
  @user.set_google_secret!
91
- @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40test.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
103
+ @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40example.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
92
104
  end
93
105
 
94
106
  it 'can generate off any column' do
@@ -106,13 +118,13 @@ describe Google::Authenticator::Rails do
106
118
  it 'can generate with a method symbol' do
107
119
  @user.class.acts_as_google_authenticated :method => :email
108
120
  @user.set_google_secret!
109
- @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40test.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
121
+ @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40example.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
110
122
  end
111
123
 
112
124
  it 'can generate with a method string' do
113
125
  @user.class.acts_as_google_authenticated :method => "email"
114
126
  @user.set_google_secret!
115
- @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40test.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
127
+ @user.google_qr_uri.should == "https://chart.googleapis.com/chart?cht=qr&chl=otpauth%3A%2F%2Ftotp%2Ftest%40example.com%3Fsecret%3D5qlcip7azyjuwm36&chs=200x200"
116
128
  end
117
129
 
118
130
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-authenticator-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-28 00:00:00.000000000 Z
12
+ date: 2012-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 3.2.0
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.0
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rotp
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -48,17 +48,17 @@ dependencies:
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ~>
51
+ - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
- version: 3.2.0
53
+ version: '0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements:
59
- - - ~>
59
+ - - ! '>='
60
60
  - !ruby/object:Gem::Version
61
- version: 3.2.0
61
+ version: '0'
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: google-qr
64
64
  requirement: !ruby/object:Gem::Requirement
@@ -116,6 +116,7 @@ extra_rdoc_files: []
116
116
  files:
117
117
  - .gitignore
118
118
  - .rspec
119
+ - .travis.yml
119
120
  - Gemfile
120
121
  - LICENSE
121
122
  - README.md
@@ -131,7 +132,7 @@ files:
131
132
  - lib/google-authenticator-rails/version.rb
132
133
  - spec/google_authenticator_spec.rb
133
134
  - spec/spec_helper.rb
134
- homepage: http://github.com/jaredonline/google-authenticator-rails
135
+ homepage: http://github.com/jaredonline/google-authenticator
135
136
  licenses: []
136
137
  post_install_message:
137
138
  rdoc_options: []