google_authentication 0.1.1 → 0.1.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.
@@ -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"