google_authentication 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ ## 0.1.2, released 2011-07-07
2
+
3
+ * Added presence and uniqueness validators to `:email` and `:omniauth_uid` fields in `acts_as_google_user` models
4
+
1
5
  ## 0.1.1, released 2011-07-04
2
6
 
3
7
  * Changed define_routes? implementation, old implementation is buggy
data/Gemfile CHANGED
@@ -9,20 +9,20 @@ gem 'devise', '>= 1.2.0'
9
9
  group :development do
10
10
  gem "sqlite3"
11
11
  gem "rspec-rails"
12
+ gem "shoulda-matchers"
13
+ gem "generator_spec"
12
14
  gem "guard-rspec"
13
15
  gem "capybara", ">= 0.4.0"
14
16
  gem "yard"
15
17
  gem "cucumber", "~> 0.10"
18
+ gem "aruba"
16
19
  gem "bundler", "~> 1.0.0"
17
20
  gem "jeweler", "~> 1.6.2"
18
- gem "rcov", ">= 0"
21
+ end
22
+
23
+ group :test do
19
24
  if RUBY_PLATFORM.downcase.include?("darwin") # I'm on Mac
20
25
  gem "rb-fsevent"
21
26
  gem "growl"
22
27
  end
23
28
  end
24
-
25
- group :test do
26
- gem "aruba"
27
- gem "generator_spec"
28
- end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{google_authentication}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Fabio Napoleoni"]
12
- s.date = %q{2011-07-04}
12
+ s.date = %q{2011-07-07}
13
13
  s.description = %q{Authenticate users through Google in your app using devise and omniauth}
14
14
  s.email = %q{f.napoleoni@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -111,30 +111,30 @@ Gem::Specification.new do |s|
111
111
  s.add_runtime_dependency(%q<devise>, [">= 1.2.0"])
112
112
  s.add_development_dependency(%q<sqlite3>, [">= 0"])
113
113
  s.add_development_dependency(%q<rspec-rails>, [">= 0"])
114
+ s.add_development_dependency(%q<shoulda-matchers>, [">= 0"])
115
+ s.add_development_dependency(%q<generator_spec>, [">= 0"])
114
116
  s.add_development_dependency(%q<guard-rspec>, [">= 0"])
115
117
  s.add_development_dependency(%q<capybara>, [">= 0.4.0"])
116
118
  s.add_development_dependency(%q<yard>, [">= 0"])
117
119
  s.add_development_dependency(%q<cucumber>, ["~> 0.10"])
120
+ s.add_development_dependency(%q<aruba>, [">= 0"])
118
121
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
119
122
  s.add_development_dependency(%q<jeweler>, ["~> 1.6.2"])
120
- s.add_development_dependency(%q<rcov>, [">= 0"])
121
- s.add_development_dependency(%q<rb-fsevent>, [">= 0"])
122
- s.add_development_dependency(%q<growl>, [">= 0"])
123
123
  else
124
124
  s.add_dependency(%q<rails>, [">= 3.0.0"])
125
125
  s.add_dependency(%q<omniauth>, [">= 0"])
126
126
  s.add_dependency(%q<devise>, [">= 1.2.0"])
127
127
  s.add_dependency(%q<sqlite3>, [">= 0"])
128
128
  s.add_dependency(%q<rspec-rails>, [">= 0"])
129
+ s.add_dependency(%q<shoulda-matchers>, [">= 0"])
130
+ s.add_dependency(%q<generator_spec>, [">= 0"])
129
131
  s.add_dependency(%q<guard-rspec>, [">= 0"])
130
132
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
131
133
  s.add_dependency(%q<yard>, [">= 0"])
132
134
  s.add_dependency(%q<cucumber>, ["~> 0.10"])
135
+ s.add_dependency(%q<aruba>, [">= 0"])
133
136
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
134
137
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
135
- s.add_dependency(%q<rcov>, [">= 0"])
136
- s.add_dependency(%q<rb-fsevent>, [">= 0"])
137
- s.add_dependency(%q<growl>, [">= 0"])
138
138
  end
139
139
  else
140
140
  s.add_dependency(%q<rails>, [">= 3.0.0"])
@@ -142,15 +142,15 @@ Gem::Specification.new do |s|
142
142
  s.add_dependency(%q<devise>, [">= 1.2.0"])
143
143
  s.add_dependency(%q<sqlite3>, [">= 0"])
144
144
  s.add_dependency(%q<rspec-rails>, [">= 0"])
145
+ s.add_dependency(%q<shoulda-matchers>, [">= 0"])
146
+ s.add_dependency(%q<generator_spec>, [">= 0"])
145
147
  s.add_dependency(%q<guard-rspec>, [">= 0"])
146
148
  s.add_dependency(%q<capybara>, [">= 0.4.0"])
147
149
  s.add_dependency(%q<yard>, [">= 0"])
148
150
  s.add_dependency(%q<cucumber>, ["~> 0.10"])
151
+ s.add_dependency(%q<aruba>, [">= 0"])
149
152
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
150
153
  s.add_dependency(%q<jeweler>, ["~> 1.6.2"])
151
- s.add_dependency(%q<rcov>, [">= 0"])
152
- s.add_dependency(%q<rb-fsevent>, [">= 0"])
153
- s.add_dependency(%q<growl>, [">= 0"])
154
154
  end
155
155
  end
156
156
 
@@ -39,7 +39,10 @@ module GoogleAuthentication
39
39
  # include devise modules
40
40
  devise *(ActsAsGoogleUser.devise_modules_to_include)
41
41
  # Setup accessible (or protected) attributes for your model
42
- attr_accessible :email
42
+ attr_accessible :email, :omniauth_uid
43
+ # Setup validation for model
44
+ validates_presence_of :email, :omniauth_uid
45
+ validates_uniqueness_of :email, :omniauth_uid
43
46
  end
44
47
 
45
48
  module ClassMethods # :nodoc:
@@ -26,6 +26,16 @@ describe GoogleAuthentication::ActsAsGoogleUser do
26
26
 
27
27
  describe DefaultUser do
28
28
 
29
+ include Shoulda::Matchers::ActiveRecord
30
+
31
+ before(:all) do
32
+ DefaultUser.find_or_create_by_email "user@example.org" do |user|
33
+ user.omniauth_uid = "some-cool-omniauth-uid"
34
+ user.first_name = "John"
35
+ user.last_name = "Doe"
36
+ end
37
+ end
38
+
29
39
  subject { DefaultUser.new }
30
40
 
31
41
  it_should_behave_like "All Users"
@@ -37,6 +47,12 @@ describe GoogleAuthentication::ActsAsGoogleUser do
37
47
  it "should have only omniauthable module" do
38
48
  subject.class.devise_modules.should eql [:omniauthable]
39
49
  end
50
+
51
+ # shoulda specs for google_user model
52
+ it { should validate_presence_of :email }
53
+ it { should validate_presence_of :omniauth_uid }
54
+ it { should validate_uniqueness_of :email }
55
+ it { should validate_uniqueness_of :omniauth_uid }
40
56
  end
41
57
 
42
58
  describe "Users with different devise modules" do
@@ -5,6 +5,7 @@ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
5
  require "rails/test_help"
6
6
  require "rspec/rails"
7
7
  require "generator_spec/test_case"
8
+ require "shoulda-matchers"
8
9
 
9
10
  ActionMailer::Base.delivery_method = :test
10
11
  ActionMailer::Base.perform_deliveries = true
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: google_authentication
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.1
5
+ version: 0.1.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Fabio Napoleoni
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-07-04 00:00:00 +02:00
13
+ date: 2011-07-07 00:00:00 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -69,7 +69,7 @@ dependencies:
69
69
  prerelease: false
70
70
  version_requirements: *id005
71
71
  - !ruby/object:Gem::Dependency
72
- name: guard-rspec
72
+ name: shoulda-matchers
73
73
  requirement: &id006 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
@@ -80,18 +80,18 @@ dependencies:
80
80
  prerelease: false
81
81
  version_requirements: *id006
82
82
  - !ruby/object:Gem::Dependency
83
- name: capybara
83
+ name: generator_spec
84
84
  requirement: &id007 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.4.0
89
+ version: "0"
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: *id007
93
93
  - !ruby/object:Gem::Dependency
94
- name: yard
94
+ name: guard-rspec
95
95
  requirement: &id008 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
@@ -102,40 +102,40 @@ dependencies:
102
102
  prerelease: false
103
103
  version_requirements: *id008
104
104
  - !ruby/object:Gem::Dependency
105
- name: cucumber
105
+ name: capybara
106
106
  requirement: &id009 !ruby/object:Gem::Requirement
107
107
  none: false
108
108
  requirements:
109
- - - ~>
109
+ - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: "0.10"
111
+ version: 0.4.0
112
112
  type: :development
113
113
  prerelease: false
114
114
  version_requirements: *id009
115
115
  - !ruby/object:Gem::Dependency
116
- name: bundler
116
+ name: yard
117
117
  requirement: &id010 !ruby/object:Gem::Requirement
118
118
  none: false
119
119
  requirements:
120
- - - ~>
120
+ - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: 1.0.0
122
+ version: "0"
123
123
  type: :development
124
124
  prerelease: false
125
125
  version_requirements: *id010
126
126
  - !ruby/object:Gem::Dependency
127
- name: jeweler
127
+ name: cucumber
128
128
  requirement: &id011 !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
131
  - - ~>
132
132
  - !ruby/object:Gem::Version
133
- version: 1.6.2
133
+ version: "0.10"
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: *id011
137
137
  - !ruby/object:Gem::Dependency
138
- name: rcov
138
+ name: aruba
139
139
  requirement: &id012 !ruby/object:Gem::Requirement
140
140
  none: false
141
141
  requirements:
@@ -146,24 +146,24 @@ dependencies:
146
146
  prerelease: false
147
147
  version_requirements: *id012
148
148
  - !ruby/object:Gem::Dependency
149
- name: rb-fsevent
149
+ name: bundler
150
150
  requirement: &id013 !ruby/object:Gem::Requirement
151
151
  none: false
152
152
  requirements:
153
- - - ">="
153
+ - - ~>
154
154
  - !ruby/object:Gem::Version
155
- version: "0"
155
+ version: 1.0.0
156
156
  type: :development
157
157
  prerelease: false
158
158
  version_requirements: *id013
159
159
  - !ruby/object:Gem::Dependency
160
- name: growl
160
+ name: jeweler
161
161
  requirement: &id014 !ruby/object:Gem::Requirement
162
162
  none: false
163
163
  requirements:
164
- - - ">="
164
+ - - ~>
165
165
  - !ruby/object:Gem::Version
166
- version: "0"
166
+ version: 1.6.2
167
167
  type: :development
168
168
  prerelease: false
169
169
  version_requirements: *id014
@@ -269,7 +269,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
269
269
  requirements:
270
270
  - - ">="
271
271
  - !ruby/object:Gem::Version
272
- hash: -2474828222469363557
272
+ hash: 2937787373273199637
273
273
  segments:
274
274
  - 0
275
275
  version: "0"