has_token_on 0.2.0 → 1.0.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.
data/.gitignore CHANGED
@@ -1 +1,2 @@
1
1
  Gemfile.lock
2
+ *.gem
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # HasTokenOn
2
2
 
3
- Simple yet customizable token generator for Rails 3
3
+ Simple yet customizable token generator for Rails 3.
4
4
 
5
5
  # Features
6
6
 
@@ -106,7 +106,7 @@ has_token_on comes with a generator that generates a migration for token.
106
106
 
107
107
  # Testing
108
108
 
109
- Tested on Mac OS X with Ruby 1.9.2 p180.
109
+ Tested on Mac OS X with Ruby 1.9.2. Should work on Ruby 1.8.7+.
110
110
 
111
111
  * Enter gem directory
112
112
  * Execute
data/Rakefile CHANGED
@@ -1,5 +1,5 @@
1
1
  require 'bundler'
2
- require 'rake/rdoctask'
2
+ require 'rdoc/task'
3
3
  Bundler::GemHelper.install_tasks
4
4
 
5
5
  require 'rspec/core'
@@ -20,7 +20,7 @@ Gem::Specification.new do |s|
20
20
 
21
21
 
22
22
  s.add_dependency 'rails', ['>= 3.0.0']
23
- s.add_dependency 'simple_uuid'
23
+ s.add_development_dependency 'simple_uuid'
24
24
  s.add_development_dependency 'sqlite3', ['>= 0']
25
25
  s.add_development_dependency 'rspec', ['>= 2.0.0']
26
26
  s.add_development_dependency 'mocha', ['>= 0.9.8']
@@ -30,4 +30,6 @@ Gem::Specification.new do |s|
30
30
  s.add_development_dependency 'growl', ['>= 0']
31
31
  s.add_development_dependency 'rb-fsevent', ['>= 0']
32
32
  s.add_development_dependency 'ruby-debug19', ['>= 0']
33
+ s.add_development_dependency 'mongoid', ['>= 2']
34
+ s.add_development_dependency 'bson_ext', ['>= 1.3.1']
33
35
  end
@@ -1,149 +1,17 @@
1
- begin; require 'simple_uuid'; rescue LoadError; end
1
+ require 'has_token_on/models/base'
2
2
 
3
3
  module HasTokenOn
4
-
5
- class LibraryNotPresent < StandardError #:nodoc:
6
- end
7
-
8
4
  module ActiveRecord
9
5
  extend ActiveSupport::Concern
10
-
11
- included do
12
- after_initialize { |record| create_tokens(record, :initialize) }
13
- before_create { |record| create_tokens(record, :create) }
14
- before_update { |record| create_tokens(record, :update) }
15
- end
16
-
17
- module ClassMethods
18
- # = has_token_on
19
- #
20
- # Simple yet customizable token generator
21
- #
22
- # == Declaration
23
- #
24
- # Declare this in your model to generate token on specified attributes. Declaration can either be:
25
- #
26
- # For single token with configuration:
27
- #
28
- # has_token_on :slug, :length => 3
29
- #
30
- # For multiple tokens with same configuration:
31
- #
32
- # has_token_on [:slug, :permalink], :length => 3
33
- #
34
- # For multiple tokens with individual configurations:
35
- #
36
- # has_token_on :slug, :length => 3
37
- # has_token_on :permalink, :length => 5
38
- #
39
- # Or using single hash:
40
- #
41
- # has_token_on :slug => { :length => 3 }, :permalink => { :length => 5 }
42
- #
43
- # == Options
44
- #
45
- # * :length - length of the token to generate
46
- # * :prepend - prepend something to the token string
47
- # * :append - append something to the token string
48
- # * :unique - should the token be unique among other record's tokens
49
- # * :if - sets the token only if Proc passed to this option returns true
50
- # * :on - specify when to set the token, possible options are: :initialize, :create, :update
51
- # * :seed - elements or functions used to generate hash. Possible options:
52
- # * :securerandom (default) uses ActiveSupport::SecureRandom.hex
53
- # * :guid uses simple_uuid gem (add it to your Gemfile!).
54
- # Length is ignored in this case. GUIDs are 36 characters long.
55
- # * ('a'..'z') a Range. Mixes the range elements up to specified length.
56
- # * lambda { 2 * 2 } a Proc. Executes proc, length param is ignored in this case.
57
- #
58
- def has_token_on(*args)
59
- @tokens ||= {}
60
-
61
- case args.first
62
- when String, Symbol
63
- @tokens[args.first] = args.last
64
- when Hash
65
- args.first.each { |token, config|
66
- @tokens[token] = config
67
- }
68
- when Array
69
- args.first.each { |token|
70
- @tokens[token] = args.last
71
- }
72
- end
73
- end
74
-
75
- # Returns Hash of tokens that are configured for specific class
76
- def tokens
77
- @tokens
78
- end
79
-
80
- end
6
+ include HasTokenOn::Base
81
7
 
82
8
  module InstanceMethods
83
9
 
84
10
  private
85
11
 
86
- def create_tokens(record, callback)
87
- return unless any_tokens?
88
-
89
- tokens_to_build_on(callback).each do |token, config|
90
- if !config.has_key?(:if) or (config.has_key?(:if) and config[:if].call(record))
91
- begin
92
- self[token] = build_token(config)
93
- end while (config.has_key?(:unique) and config[:unique]) and self.class.exists?(token => self[token])
94
- end
95
- end
12
+ def token_is_nonunique?(token)
13
+ self.class.exists?(token => self[token])
96
14
  end
97
-
98
- def build_token(config)
99
- defaults = { :length => 16, :prepend => "", :append => "", :seed => :securerandom }
100
- config = defaults.merge(config)
101
-
102
- return [config[:prepend],
103
- build_from_seed(config),
104
- config[:append]
105
- ].join
106
- end
107
-
108
- def build_from_seed(config)
109
- case config[:seed]
110
- when Symbol
111
- if config[:seed] == :securerandom
112
- ActiveSupport::SecureRandom.hex(config[:length]).first(config[:length])
113
- elsif config[:seed] == :guid
114
- if simple_uuid_present?
115
- ::SimpleUUID::UUID.new.to_guid
116
- else
117
- raise LibraryNotPresent, "Supporting library SimpleUUID is not present. Add it to your Gemfile?"
118
- end
119
- end
120
- when Range
121
- chars = config[:seed].to_a
122
- (0...config[:length]).collect { chars[Kernel.rand(chars.length)] }.join
123
- when Proc
124
- config[:seed].call.to_s
125
- end
126
- end
127
-
128
- def any_tokens?
129
- self.class.tokens && self.class.tokens.any?
130
- end
131
-
132
- def tokens_to_build_on(callback)
133
- self.class.tokens.select{ |token, config|
134
- if config.has_key?(:on)
135
- config[:on].include?(callback)
136
- else
137
- # if user didn't specify :on we set token before record create
138
- callback == :create
139
- end
140
- }
141
- end
142
-
143
- def simple_uuid_present?
144
- defined? ::SimpleUUID
145
- end
146
-
147
15
  end
148
16
  end
149
17
  end
@@ -0,0 +1,149 @@
1
+ begin; require 'simple_uuid'; rescue LoadError; end
2
+
3
+ module HasTokenOn
4
+
5
+ class LibraryNotPresent < StandardError #:nodoc:
6
+ end
7
+
8
+ module Base
9
+ extend ActiveSupport::Concern
10
+
11
+ included do
12
+ after_initialize { |record| create_tokens(record, :initialize) }
13
+ before_create { |record| create_tokens(record, :create) }
14
+ before_update { |record| create_tokens(record, :update) }
15
+ end
16
+
17
+ module ClassMethods
18
+ # = has_token_on
19
+ #
20
+ # Simple yet customizable token generator
21
+ #
22
+ # == Declaration
23
+ #
24
+ # Declare this in your model to generate token on specified attributes. Declaration can either be:
25
+ #
26
+ # For single token with configuration:
27
+ #
28
+ # has_token_on :slug, :length => 3
29
+ #
30
+ # For multiple tokens with same configuration:
31
+ #
32
+ # has_token_on [:slug, :permalink], :length => 3
33
+ #
34
+ # For multiple tokens with individual configurations:
35
+ #
36
+ # has_token_on :slug, :length => 3
37
+ # has_token_on :permalink, :length => 5
38
+ #
39
+ # Or using single hash:
40
+ #
41
+ # has_token_on :slug => { :length => 3 }, :permalink => { :length => 5 }
42
+ #
43
+ # == Options
44
+ #
45
+ # * :length - length of the token to generate
46
+ # * :prepend - prepend something to the token string
47
+ # * :append - append something to the token string
48
+ # * :unique - should the token be unique among other record's tokens
49
+ # * :if - sets the token only if Proc passed to this option returns true
50
+ # * :on - specify when to set the token, possible options are: :initialize, :create, :update
51
+ # * :seed - elements or functions used to generate hash. Possible options:
52
+ # * :securerandom (default) uses ActiveSupport::SecureRandom.hex
53
+ # * :guid uses simple_uuid gem (add it to your Gemfile!).
54
+ # Length is ignored in this case. GUIDs are 36 characters long.
55
+ # * ('a'..'z') a Range. Mixes the range elements up to specified length.
56
+ # * lambda { 2 * 2 } a Proc. Executes proc, length param is ignored in this case.
57
+ #
58
+ def has_token_on(*args)
59
+ @tokens ||= {}
60
+
61
+ case args.first
62
+ when String, Symbol
63
+ @tokens[args.first] = args.last.kind_of?(Symbol) ? {} : args.last
64
+ when Hash
65
+ args.first.each { |token, config|
66
+ @tokens[token] = config
67
+ }
68
+ when Array
69
+ args.first.each { |token|
70
+ @tokens[token] = args.last
71
+ }
72
+ end
73
+ end
74
+
75
+ # Returns Hash of tokens that are configured for specific class
76
+ def tokens
77
+ @tokens
78
+ end
79
+
80
+ end
81
+
82
+ module InstanceMethods
83
+
84
+ private
85
+
86
+ def create_tokens(record, callback)
87
+ return unless any_tokens?
88
+
89
+ tokens_to_build_on(callback).each do |token, config|
90
+ if !config.has_key?(:if) or (config.has_key?(:if) and config[:if].call(record))
91
+ begin
92
+ self[token] = build_token(config)
93
+ end while (config.has_key?(:unique) and config[:unique]) and token_is_nonunique?(token)
94
+ end
95
+ end
96
+ end
97
+
98
+ def build_token(config)
99
+ defaults = { :length => 16, :prepend => "", :append => "", :seed => :securerandom }
100
+ config = defaults.merge(config)
101
+
102
+ return [config[:prepend],
103
+ build_from_seed(config),
104
+ config[:append]
105
+ ].join
106
+ end
107
+
108
+ def build_from_seed(config)
109
+ case config[:seed]
110
+ when Symbol
111
+ if config[:seed] == :securerandom
112
+ SecureRandom.hex(config[:length]).first(config[:length])
113
+ elsif config[:seed] == :guid
114
+ if simple_uuid_present?
115
+ ::SimpleUUID::UUID.new.to_guid
116
+ else
117
+ raise LibraryNotPresent, "Supporting library SimpleUUID is not present. Add it to your Gemfile?"
118
+ end
119
+ end
120
+ when Range
121
+ chars = config[:seed].to_a
122
+ (0...config[:length]).collect { chars[Kernel.rand(chars.length)] }.join
123
+ when Proc
124
+ config[:seed].call.to_s
125
+ end
126
+ end
127
+
128
+ def any_tokens?
129
+ self.class.tokens && self.class.tokens.any?
130
+ end
131
+
132
+ def tokens_to_build_on(callback)
133
+ self.class.tokens.select{ |token, config|
134
+ if config.has_key?(:on)
135
+ config[:on].include?(callback)
136
+ else
137
+ # if user didn't specify :on we set token before record create
138
+ callback == :create
139
+ end
140
+ }
141
+ end
142
+
143
+ def simple_uuid_present?
144
+ defined? ::SimpleUUID
145
+ end
146
+
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,20 @@
1
+ require 'has_token_on/models/base'
2
+ require 'mongoid'
3
+
4
+ module HasTokenOn
5
+ module Mongoid
6
+ extend ActiveSupport::Concern
7
+ include HasTokenOn::Base
8
+
9
+ module InstanceMethods
10
+
11
+ private
12
+
13
+ def token_is_nonunique?(token)
14
+ self.class.first(:conditions => { token => self[token] }).present?
15
+ end
16
+ end
17
+ end
18
+ end
19
+
20
+ ::Mongoid::Document.send :include, HasTokenOn::Mongoid
@@ -1,4 +1,5 @@
1
1
  require 'rails'
2
+ begin; require 'mongoid'; rescue LoadError; end
2
3
 
3
4
  module HasTokenOn
4
5
  class Engine < ::Rails::Engine #:nodoc:
@@ -11,6 +12,10 @@ module HasTokenOn
11
12
  ::ActiveSupport.on_load(:active_record) do
12
13
  require File.join(File.dirname(__FILE__), 'models/active_record')
13
14
  end
15
+
16
+ if defined? ::Mongoid
17
+ require File.join(File.dirname(__FILE__), 'models/mongoid')
18
+ end
14
19
  end
15
20
  end
16
21
  end
@@ -1,3 +1,3 @@
1
1
  module HasTokenOn
2
- VERSION = '0.2.0'
2
+ VERSION = '1.0.0'
3
3
  end
@@ -0,0 +1,31 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ describe HasTokenOn::ActiveRecord do
4
+ subject { Post.new }
5
+
6
+ with_model :post do
7
+ table do |t|
8
+ t.string "permalink"
9
+ end
10
+
11
+ model do
12
+ has_token_on :permalink, {
13
+ :length => 5,
14
+ :unique => true,
15
+ :prepend => "foo",
16
+ :append => "bar",
17
+ :on => [:create]
18
+ }
19
+ end
20
+ end
21
+
22
+ it "should generate unique token if requested" do
23
+ somepost = Post.new
24
+ somepost.stubs(:build_token).returns('hi')
25
+ somepost.save
26
+ subject.expects(:build_token).times(3).returns('hi').then.returns('unique')
27
+ Post.expects(:exists?).twice # on first time we'll find unique
28
+ subject.save
29
+ end
30
+
31
+ end
@@ -1,8 +1,6 @@
1
1
  require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
- require 'pp'
3
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
4
2
 
5
- describe HasTokenOn::ActiveRecord, "instantiation" do
3
+ describe HasTokenOn::Base, "instantiation" do
6
4
  subject { Post }
7
5
 
8
6
  with_model :post do
@@ -58,7 +56,7 @@ describe HasTokenOn::ActiveRecord, "instantiation" do
58
56
  end
59
57
  end
60
58
 
61
- describe HasTokenOn::ActiveRecord, "callbacks" do
59
+ describe HasTokenOn::Base, "callbacks" do
62
60
  subject { Post.new }
63
61
 
64
62
  with_model :post do
@@ -105,7 +103,7 @@ describe HasTokenOn::ActiveRecord, "callbacks" do
105
103
  end
106
104
  end
107
105
 
108
- describe HasTokenOn::ActiveRecord do
106
+ describe HasTokenOn::Base do
109
107
  subject { Post.new }
110
108
 
111
109
  with_model :post do
@@ -210,34 +208,3 @@ describe HasTokenOn::ActiveRecord do
210
208
  end
211
209
 
212
210
  end
213
-
214
- describe HasTokenOn::ActiveRecord do
215
- subject { Post.new }
216
-
217
- with_model :post do
218
- table do |t|
219
- t.string "permalink"
220
- end
221
-
222
- model do
223
- has_token_on :permalink, {
224
- :length => 5,
225
- :unique => true,
226
- :prepend => "foo",
227
- :append => "bar",
228
- :on => [:create]
229
- }
230
- end
231
- end
232
-
233
- it "should generate unique token if requested" do
234
- somepost = Post.new
235
- somepost.stubs(:build_token).returns('hi')
236
- somepost.save
237
- subject.expects(:build_token).times(3).returns('hi').then.returns('unique')
238
- Post.expects(:exists?).twice # on first time we'll find unique
239
- subject.save
240
- end
241
-
242
-
243
- end
@@ -0,0 +1,30 @@
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
+
3
+ connection = Mongo::Connection.new
4
+ Mongoid.database = connection.db("has_token_on_test")
5
+
6
+ describe HasTokenOn::Mongoid do
7
+ before :all do
8
+ class Post
9
+ include Mongoid::Document
10
+ field :slug
11
+ has_token_on :slug, :unique => true
12
+ end
13
+ end
14
+
15
+ before :each do
16
+ Post.destroy_all
17
+ end
18
+
19
+ subject { Post.new }
20
+
21
+ it "should generate unique token if requested" do
22
+ somepost = Post.new
23
+ somepost.stubs(:build_token).returns('hi')
24
+ somepost.save
25
+ subject.expects(:build_token).times(3).returns('hi').then.returns('unique')
26
+ Post.expects(:exists?).twice # on first time we'll find unique
27
+ subject.save
28
+ end
29
+
30
+ end
@@ -8,7 +8,9 @@ require 'with_model'
8
8
  require 'mocha'
9
9
 
10
10
  require 'has_token_on'
11
+ require 'has_token_on/models/base'
11
12
  require 'has_token_on/models/active_record'
13
+ require 'has_token_on/models/mongoid'
12
14
 
13
15
  RSpec.configure do |config|
14
16
  config.filter_run :focus => true
@@ -16,3 +18,4 @@ RSpec.configure do |config|
16
18
  config.extend WithModel
17
19
  end
18
20
 
21
+ ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
metadata CHANGED
@@ -1,149 +1,168 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: has_token_on
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
4
5
  prerelease:
5
- version: 0.2.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Saulius Grigaliunas
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-05-21 00:00:00 +03:00
12
+ date: 2011-08-19 00:00:00.000000000 +03:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: rails
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &2161380880 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
22
- - - ">="
23
- - !ruby/object:Gem::Version
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
24
22
  version: 3.0.0
25
23
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: simple_uuid
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *2161380880
26
+ - !ruby/object:Gem::Dependency
27
+ name: simple_uuid
28
+ requirement: &2161380460 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- version: "0"
36
- type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: sqlite3
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *2161380460
37
+ - !ruby/object:Gem::Dependency
38
+ name: sqlite3
39
+ requirement: &2161379900 !ruby/object:Gem::Requirement
42
40
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
47
45
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: rspec
51
46
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *2161379900
48
+ - !ruby/object:Gem::Dependency
49
+ name: rspec
50
+ requirement: &2161379380 !ruby/object:Gem::Requirement
53
51
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
57
55
  version: 2.0.0
58
56
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: mocha
62
57
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *2161379380
59
+ - !ruby/object:Gem::Dependency
60
+ name: mocha
61
+ requirement: &2161378900 !ruby/object:Gem::Requirement
64
62
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
68
66
  version: 0.9.8
69
67
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: with_model
73
68
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *2161378900
70
+ - !ruby/object:Gem::Dependency
71
+ name: with_model
72
+ requirement: &2161378420 !ruby/object:Gem::Requirement
75
73
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
79
77
  version: 0.1.4
80
78
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: guard
84
79
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *2161378420
81
+ - !ruby/object:Gem::Dependency
82
+ name: guard
83
+ requirement: &2161377940 !ruby/object:Gem::Requirement
86
84
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
90
88
  version: 0.3.4
91
89
  type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: guard-rspec
95
90
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *2161377940
92
+ - !ruby/object:Gem::Dependency
93
+ name: guard-rspec
94
+ requirement: &2161377460 !ruby/object:Gem::Requirement
97
95
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
102
100
  type: :development
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: growl
106
101
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
102
+ version_requirements: *2161377460
103
+ - !ruby/object:Gem::Dependency
104
+ name: growl
105
+ requirement: &2161369020 !ruby/object:Gem::Requirement
108
106
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: "0"
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
113
111
  type: :development
114
- version_requirements: *id009
115
- - !ruby/object:Gem::Dependency
116
- name: rb-fsevent
117
112
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
113
+ version_requirements: *2161369020
114
+ - !ruby/object:Gem::Dependency
115
+ name: rb-fsevent
116
+ requirement: &2161368520 !ruby/object:Gem::Requirement
119
117
  none: false
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: "0"
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
124
122
  type: :development
125
- version_requirements: *id010
126
- - !ruby/object:Gem::Dependency
123
+ prerelease: false
124
+ version_requirements: *2161368520
125
+ - !ruby/object:Gem::Dependency
127
126
  name: ruby-debug19
127
+ requirement: &2161368040 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
128
134
  prerelease: false
129
- requirement: &id011 !ruby/object:Gem::Requirement
135
+ version_requirements: *2161368040
136
+ - !ruby/object:Gem::Dependency
137
+ name: mongoid
138
+ requirement: &2161367520 !ruby/object:Gem::Requirement
130
139
  none: false
131
- requirements:
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: "0"
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '2'
135
144
  type: :development
136
- version_requirements: *id011
145
+ prerelease: false
146
+ version_requirements: *2161367520
147
+ - !ruby/object:Gem::Dependency
148
+ name: bson_ext
149
+ requirement: &2161367000 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: 1.3.1
155
+ type: :development
156
+ prerelease: false
157
+ version_requirements: *2161367000
137
158
  description: Simple yet customizable token generator for Rails 3
138
- email:
159
+ email:
139
160
  - saulius@ninja.lt
140
161
  executables: []
141
-
142
162
  extensions: []
143
-
144
- extra_rdoc_files:
163
+ extra_rdoc_files:
145
164
  - README.md
146
- files:
165
+ files:
147
166
  - .gitignore
148
167
  - .rspec
149
168
  - .rvmrc
@@ -158,38 +177,39 @@ files:
158
177
  - lib/generators/has_token_on/templates/create_token.rb.erb
159
178
  - lib/has_token_on.rb
160
179
  - lib/has_token_on/models/active_record.rb
180
+ - lib/has_token_on/models/base.rb
181
+ - lib/has_token_on/models/mongoid.rb
161
182
  - lib/has_token_on/rails.rb
162
183
  - lib/has_token_on/version.rb
163
184
  - rails/init.rb
164
- - spec/has_token_on/has_token_on_spec.rb
185
+ - spec/has_token_on/active_record_spec.rb
186
+ - spec/has_token_on/base_spec.rb
187
+ - spec/has_token_on/mongoid_spec.rb
165
188
  - spec/spec_helper.rb
166
189
  has_rdoc: true
167
190
  homepage: https://github.com/sauliusg/has_token_on
168
- licenses:
191
+ licenses:
169
192
  - MIT
170
193
  post_install_message:
171
194
  rdoc_options: []
172
-
173
- require_paths:
195
+ require_paths:
174
196
  - lib
175
- required_ruby_version: !ruby/object:Gem::Requirement
197
+ required_ruby_version: !ruby/object:Gem::Requirement
176
198
  none: false
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: "0"
181
- required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ! '>='
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
204
  none: false
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: "0"
205
+ requirements:
206
+ - - ! '>='
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
187
209
  requirements: []
188
-
189
210
  rubyforge_project: has_token_on
190
- rubygems_version: 1.6.1
211
+ rubygems_version: 1.6.2
191
212
  signing_key:
192
213
  specification_version: 3
193
214
  summary: A token generator plugin for Rails 3
194
215
  test_files: []
195
-