devise-guests 0.0.1 → 0.2.0

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.
@@ -9,8 +9,8 @@ Gem::Specification.new do |s|
9
9
  s.authors = ["Chris Beer"]
10
10
  s.email = %q{chris@cbeer.info}
11
11
  s.homepage = %q{http://github.com/cbeer/devise-guests}
12
- s.summary = %q{ asdf }
13
- s.description = %q{ asdfgh }
12
+ s.summary = %q{ Guest user implementation for devise }
13
+ s.description = %q{ Guest user implementation for devise }
14
14
 
15
15
  s.add_dependency 'devise'
16
16
 
@@ -28,6 +28,7 @@ module DeviseGuests::Controllers
28
28
  class_eval <<-METHODS, __FILE__, __LINE__ + 1
29
29
  define_concern_callbacks :logging_in_#{mapping}
30
30
 
31
+
31
32
  def guest_#{mapping}
32
33
  #{class_name}.find(session[:guest_#{mapping}_id].nil? ? session[:guest_#{mapping}_id] = create_guest_#{mapping}.id : session[:guest_#{mapping}_id])
33
34
  end
@@ -48,10 +49,20 @@ module DeviseGuests::Controllers
48
49
 
49
50
  private
50
51
  def create_guest_#{mapping}
51
- u = #{class_name}.create(:email => "guest_#{Time.now.to_i}#{rand(99)}@example.com")
52
+ u = #{class_name}.create(:email => "guest_" + guest_#{mapping}_unique_suffix + "@example.com")
52
53
  u.save(:validate => false)
53
54
  u
54
55
  end
56
+
57
+ def guest_#{mapping}_unique_suffix
58
+ Devise.friendly_token + "_" + Time.now.to_i.to_s + "_" + unique_#{mapping}_counter.to_s
59
+ end
60
+
61
+ def unique_#{mapping}_counter
62
+ @@unique_#{mapping}_counter ||= 0
63
+ @@unique_#{mapping}_counter += 1
64
+ end
65
+
55
66
  METHODS
56
67
 
57
68
  ActiveSupport.on_load(:action_controller) do
@@ -4,8 +4,9 @@ require 'devise'
4
4
  module DeviseGuests
5
5
  class Engine < ::Rails::Engine
6
6
 
7
- initializer "devise_guests.url_helpers" do
7
+ initializer "devise_guests.add_helpers" do
8
8
  Devise.include_helpers(DeviseGuests::Controllers)
9
+ Devise.helpers << DeviseGuests::Controllers::Helpers
9
10
  end
10
11
  end
11
12
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseGuests
2
- VERSION = '0.0.1'
2
+ VERSION = '0.2.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-guests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-20 00:00:00.000000000 Z
12
+ date: 2012-10-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: devise
@@ -123,7 +123,7 @@ dependencies:
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
- description: ! ' asdfgh '
126
+ description: ! ' Guest user implementation for devise '
127
127
  email: chris@cbeer.info
128
128
  executables: []
129
129
  extensions: []
@@ -168,7 +168,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
168
168
  version: '0'
169
169
  segments:
170
170
  - 0
171
- hash: 2902352810986584096
171
+ hash: -2973806746937180540
172
172
  required_rubygems_version: !ruby/object:Gem::Requirement
173
173
  none: false
174
174
  requirements:
@@ -177,13 +177,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  version: '0'
178
178
  segments:
179
179
  - 0
180
- hash: 2902352810986584096
180
+ hash: -2973806746937180540
181
181
  requirements: []
182
182
  rubyforge_project:
183
183
  rubygems_version: 1.8.23
184
184
  signing_key:
185
185
  specification_version: 3
186
- summary: asdf
186
+ summary: Guest user implementation for devise
187
187
  test_files:
188
188
  - spec/controllers/application_controller_spec.rb
189
189
  - spec/helpers/devise_guests_helpers_spec.rb