devise_password_sharing_extension 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,9 +7,8 @@ class LoginEvent < ActiveRecord::Base
7
7
  attr_accessible :ip_address, :latitude, :longitude
8
8
  attr_accessible :city, :country_code, :region_name
9
9
 
10
- def self.grouped_by_city(time_frame = 1.hour)
11
- select('COUNT(*) AS count, login_events.city').
12
- where('login_events.created_at >= ?', Time.now - time_frame).
13
- group('login_events.city')
10
+ def self.cities_in_the_last(time_frame = 2.hours)
11
+ select('DISTINCT login_events.city').
12
+ where('login_events.created_at >= ?', time_frame.ago)
14
13
  end
15
14
  end
@@ -47,9 +47,7 @@ module Devise
47
47
 
48
48
  def password_sharing?
49
49
  return true unless banned_for_password_sharing_at.nil?
50
- login_events.grouped_by_city(self.class.time_frame).any? do |g|
51
- g.count.to_i >= self.class.number_of_cities
52
- end
50
+ login_events.cities_in_the_last(self.class.time_frame).count >= self.class.number_of_cities
53
51
  end
54
52
  end
55
53
  end
@@ -1,3 +1,3 @@
1
1
  module DevisePasswordSharingExtension
2
- VERSION = '0.0.6'
2
+ VERSION = '0.0.7'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_password_sharing_extension
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-10-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70130537766360 !ruby/object:Gem::Requirement
16
+ requirement: &70135952639800 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.7
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70130537766360
24
+ version_requirements: *70135952639800
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &70130537765540 !ruby/object:Gem::Requirement
27
+ requirement: &70135952635100 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: '3.2'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70130537765540
38
+ version_requirements: *70135952635100
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: devise
41
- requirement: &70130537764800 !ruby/object:Gem::Requirement
41
+ requirement: &70135952632540 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ~>
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: 1.4.1
47
47
  type: :runtime
48
48
  prerelease: false
49
- version_requirements: *70130537764800
49
+ version_requirements: *70135952632540
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: geoip
52
- requirement: &70130537764260 !ruby/object:Gem::Requirement
52
+ requirement: &70135952628180 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ~>
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: 1.1.1
58
58
  type: :runtime
59
59
  prerelease: false
60
- version_requirements: *70130537764260
60
+ version_requirements: *70135952628180
61
61
  description: A devise extension to curb password sharing.
62
62
  email:
63
63
  - russ@bashme.org