tokens 0.2.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/.rspec +1 -0
- data/Gemfile +2 -9
- data/Rakefile +4 -23
- data/lib/tokens.rb +1 -0
- data/lib/tokens/active_record.rb +4 -3
- data/lib/tokens/token.rb +1 -5
- data/lib/tokens/version.rb +3 -3
- data/spec/spec_helper.rb +5 -1
- data/spec/support/config/database.yml +1 -1
- data/spec/tokens_spec.rb +9 -9
- data/tokens.gemspec +18 -54
- metadata +82 -19
- data/Gemfile.lock +0 -102
- data/spec/support/log/test.log +0 -9813
data/.gitignore
ADDED
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format documentation
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,24 +1,5 @@
|
|
1
|
-
require "
|
2
|
-
|
3
|
-
|
4
|
-
begin
|
5
|
-
require "jeweler"
|
6
|
-
|
7
|
-
JEWEL = Jeweler::Tasks.new do |gem|
|
8
|
-
gem.name = "tokens"
|
9
|
-
gem.email = "fnando.vieira@gmail.com"
|
10
|
-
gem.homepage = "http://github.com/fnando/tokens"
|
11
|
-
gem.authors = ["Nando Vieira"]
|
12
|
-
gem.version = Tokens::Version::STRING
|
13
|
-
gem.summary = "Generate named tokens on your ActiveRecord models."
|
14
|
-
gem.files = FileList["{Rakefile,README.rdoc,Gemfile,Gemfile.lock,tokens.gemspec}", "{lib,spec,templates}/**/*"]
|
15
|
-
end
|
1
|
+
require "bundler"
|
2
|
+
Bundler::GemHelper.install_tasks
|
16
3
|
|
17
|
-
|
18
|
-
|
19
|
-
puts "[JEWELER] You can't build a gem until you install jeweler with `gem install jeweler`"
|
20
|
-
end
|
21
|
-
|
22
|
-
RSpec::Core::RakeTask.new do |t|
|
23
|
-
t.ruby_opts = %[ -Ilib -Ispec ]
|
24
|
-
end
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
RSpec::Core::RakeTask.new
|
data/lib/tokens.rb
CHANGED
data/lib/tokens/active_record.rb
CHANGED
@@ -24,8 +24,8 @@ module Tokens
|
|
24
24
|
validity = Proc.new {|token| Token.where(:token => token).first.nil?}
|
25
25
|
|
26
26
|
begin
|
27
|
-
|
28
|
-
token =
|
27
|
+
token = SecureRandom.hex(40)[0, size]
|
28
|
+
token = token.encode("UTF-8") if token.respond_to?(:encoding)
|
29
29
|
end while validity[token] == false
|
30
30
|
|
31
31
|
token
|
@@ -88,7 +88,8 @@ module Tokens
|
|
88
88
|
def find_token(name, token)
|
89
89
|
self.class.find_token(
|
90
90
|
:tokenizable_id => self.id,
|
91
|
-
:name => name.to_s,
|
91
|
+
:name => name.to_s,
|
92
|
+
:token => token
|
92
93
|
)
|
93
94
|
end
|
94
95
|
|
data/lib/tokens/token.rb
CHANGED
data/lib/tokens/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -4,7 +4,11 @@ require File.dirname(__FILE__) + "/support/config/boot"
|
|
4
4
|
require "rspec/rails"
|
5
5
|
|
6
6
|
# Load database schema
|
7
|
-
|
7
|
+
begin
|
8
|
+
load File.dirname(__FILE__) + "/schema.rb"
|
9
|
+
rescue Exception => e
|
10
|
+
p e
|
11
|
+
end
|
8
12
|
|
9
13
|
require "support/models"
|
10
14
|
|
data/spec/tokens_spec.rb
CHANGED
@@ -37,27 +37,27 @@ describe Tokens do
|
|
37
37
|
|
38
38
|
it "should alias token method" do
|
39
39
|
token = @user.add_token(:uid)
|
40
|
-
token.
|
40
|
+
token.to_s.should == token.token
|
41
41
|
end
|
42
42
|
|
43
43
|
it "should find user by token" do
|
44
44
|
token = @user.add_token(:uid)
|
45
|
-
User.find_by_token(:uid, token.
|
45
|
+
User.find_by_token(:uid, token.to_s).should == @user
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should return user by its valid token without expiration time" do
|
49
49
|
token = @user.add_token(:uid)
|
50
|
-
User.find_by_valid_token(:uid, token.
|
50
|
+
User.find_by_valid_token(:uid, token.to_s).should == @user
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should return user by its valid token with expiration time" do
|
54
54
|
token = @user.add_token(:uid, :expires_at => @expire)
|
55
|
-
User.find_by_valid_token(:uid, token.
|
55
|
+
User.find_by_valid_token(:uid, token.to_s).should == @user
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should find token using class method with one argument (hash only)" do
|
59
59
|
token = @user.add_token(:uid)
|
60
|
-
User.find_token(:name => :uid, :token => token.
|
60
|
+
User.find_token(:name => :uid, :token => token.to_s).should == token
|
61
61
|
end
|
62
62
|
|
63
63
|
it "should not conflict with other models" do
|
@@ -70,7 +70,7 @@ describe Tokens do
|
|
70
70
|
|
71
71
|
it "to_s should return hash" do
|
72
72
|
token = @user.add_token(:uid)
|
73
|
-
token.to_s.should == token.
|
73
|
+
token.to_s.should == token.to_s
|
74
74
|
end
|
75
75
|
|
76
76
|
describe Token do
|
@@ -98,7 +98,7 @@ describe Tokens do
|
|
98
98
|
end
|
99
99
|
|
100
100
|
it "should be created with custom size" do
|
101
|
-
@user.add_token(:uid, :size => 6).
|
101
|
+
@user.add_token(:uid, :size => 6).to_s.size.should == 6
|
102
102
|
end
|
103
103
|
|
104
104
|
it "should find token by its name" do
|
@@ -113,7 +113,7 @@ describe Tokens do
|
|
113
113
|
|
114
114
|
it "should be a valid token" do
|
115
115
|
token = @user.add_token(:uid)
|
116
|
-
@user.valid_token?(:uid, token.
|
116
|
+
@user.valid_token?(:uid, token.to_s).should be_true
|
117
117
|
end
|
118
118
|
|
119
119
|
it "should not be a valid token" do
|
@@ -122,7 +122,7 @@ describe Tokens do
|
|
122
122
|
|
123
123
|
it "should find token by its name and hash" do
|
124
124
|
token = @user.add_token(:uid)
|
125
|
-
@user.find_token(:uid, token.
|
125
|
+
@user.find_token(:uid, token.to_s).should == token
|
126
126
|
end
|
127
127
|
|
128
128
|
it "should not be expired when have no expiration date" do
|
data/tokens.gemspec
CHANGED
@@ -1,61 +1,25 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "tokens/version"
|
5
4
|
|
6
5
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
6
|
+
s.name = "tokens"
|
7
|
+
s.version = Tokens::Version::STRING
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Nando Vieira"]
|
10
|
+
s.email = ["fnando.vieira@gmail.com"]
|
11
|
+
s.homepage = "http://rubygems.org/gems/tokens"
|
12
|
+
s.summary = "Generate named tokens on your ActiveRecord models."
|
13
|
+
s.description = s.summary
|
9
14
|
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.email = %q{fnando.vieira@gmail.com}
|
14
|
-
s.extra_rdoc_files = [
|
15
|
-
"README.rdoc"
|
16
|
-
]
|
17
|
-
s.files = [
|
18
|
-
"Gemfile",
|
19
|
-
"Gemfile.lock",
|
20
|
-
"README.rdoc",
|
21
|
-
"Rakefile",
|
22
|
-
"lib/tokens.rb",
|
23
|
-
"lib/tokens/active_record.rb",
|
24
|
-
"lib/tokens/generator.rb",
|
25
|
-
"lib/tokens/railtie.rb",
|
26
|
-
"lib/tokens/token.rb",
|
27
|
-
"lib/tokens/version.rb",
|
28
|
-
"spec/schema.rb",
|
29
|
-
"spec/spec_helper.rb",
|
30
|
-
"spec/support/config/boot.rb",
|
31
|
-
"spec/support/config/database.yml",
|
32
|
-
"spec/support/log/test.log",
|
33
|
-
"spec/support/models.rb",
|
34
|
-
"spec/tokens_spec.rb",
|
35
|
-
"templates/tokens.rb",
|
36
|
-
"tokens.gemspec"
|
37
|
-
]
|
38
|
-
s.homepage = %q{http://github.com/fnando/tokens}
|
39
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
40
18
|
s.require_paths = ["lib"]
|
41
|
-
s.rubygems_version = %q{1.3.7}
|
42
|
-
s.summary = %q{Generate named tokens on your ActiveRecord models.}
|
43
|
-
s.test_files = [
|
44
|
-
"spec/schema.rb",
|
45
|
-
"spec/spec_helper.rb",
|
46
|
-
"spec/support/config/boot.rb",
|
47
|
-
"spec/support/models.rb",
|
48
|
-
"spec/tokens_spec.rb"
|
49
|
-
]
|
50
19
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
else
|
57
|
-
end
|
58
|
-
else
|
59
|
-
end
|
20
|
+
s.add_development_dependency "rails" , "~> 3.1"
|
21
|
+
s.add_development_dependency "rake" , "~> 0.9"
|
22
|
+
s.add_development_dependency "rspec-rails" , "~> 2.6"
|
23
|
+
s.add_development_dependency "sqlite3" , "~> 1.3.4"
|
24
|
+
s.add_development_dependency "ruby-debug19" if RUBY_VERSION >= "1.9"
|
60
25
|
end
|
61
|
-
|
metadata
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tokens
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
5
6
|
segments:
|
6
|
-
- 0
|
7
|
-
- 2
|
8
7
|
- 1
|
9
|
-
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
10
11
|
platform: ruby
|
11
12
|
authors:
|
12
13
|
- Nando Vieira
|
@@ -14,21 +15,82 @@ autorequire:
|
|
14
15
|
bindir: bin
|
15
16
|
cert_chain: []
|
16
17
|
|
17
|
-
date:
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
18
|
+
date: 2011-08-31 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
type: :development
|
22
|
+
version_requirements: &id001 !ruby/object:Gem::Requirement
|
23
|
+
none: false
|
24
|
+
requirements:
|
25
|
+
- - ~>
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
hash: 5
|
28
|
+
segments:
|
29
|
+
- 3
|
30
|
+
- 1
|
31
|
+
version: "3.1"
|
32
|
+
prerelease: false
|
33
|
+
requirement: *id001
|
34
|
+
name: rails
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
type: :development
|
37
|
+
version_requirements: &id002 !ruby/object:Gem::Requirement
|
38
|
+
none: false
|
39
|
+
requirements:
|
40
|
+
- - ~>
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
hash: 25
|
43
|
+
segments:
|
44
|
+
- 0
|
45
|
+
- 9
|
46
|
+
version: "0.9"
|
47
|
+
prerelease: false
|
48
|
+
requirement: *id002
|
49
|
+
name: rake
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
type: :development
|
52
|
+
version_requirements: &id003 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 15
|
58
|
+
segments:
|
59
|
+
- 2
|
60
|
+
- 6
|
61
|
+
version: "2.6"
|
62
|
+
prerelease: false
|
63
|
+
requirement: *id003
|
64
|
+
name: rspec-rails
|
65
|
+
- !ruby/object:Gem::Dependency
|
66
|
+
type: :development
|
67
|
+
version_requirements: &id004 !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
69
|
+
requirements:
|
70
|
+
- - ~>
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
hash: 19
|
73
|
+
segments:
|
74
|
+
- 1
|
75
|
+
- 3
|
76
|
+
- 4
|
77
|
+
version: 1.3.4
|
78
|
+
prerelease: false
|
79
|
+
requirement: *id004
|
80
|
+
name: sqlite3
|
81
|
+
description: Generate named tokens on your ActiveRecord models.
|
82
|
+
email:
|
83
|
+
- fnando.vieira@gmail.com
|
23
84
|
executables: []
|
24
85
|
|
25
86
|
extensions: []
|
26
87
|
|
27
|
-
extra_rdoc_files:
|
28
|
-
|
88
|
+
extra_rdoc_files: []
|
89
|
+
|
29
90
|
files:
|
91
|
+
- .gitignore
|
92
|
+
- .rspec
|
30
93
|
- Gemfile
|
31
|
-
- Gemfile.lock
|
32
94
|
- README.rdoc
|
33
95
|
- Rakefile
|
34
96
|
- lib/tokens.rb
|
@@ -41,18 +103,16 @@ files:
|
|
41
103
|
- spec/spec_helper.rb
|
42
104
|
- spec/support/config/boot.rb
|
43
105
|
- spec/support/config/database.yml
|
44
|
-
- spec/support/log/test.log
|
45
106
|
- spec/support/models.rb
|
46
107
|
- spec/tokens_spec.rb
|
47
108
|
- templates/tokens.rb
|
48
109
|
- tokens.gemspec
|
49
|
-
|
50
|
-
homepage: http://github.com/fnando/tokens
|
110
|
+
homepage: http://rubygems.org/gems/tokens
|
51
111
|
licenses: []
|
52
112
|
|
53
113
|
post_install_message:
|
54
|
-
rdoc_options:
|
55
|
-
|
114
|
+
rdoc_options: []
|
115
|
+
|
56
116
|
require_paths:
|
57
117
|
- lib
|
58
118
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -60,6 +120,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
120
|
requirements:
|
61
121
|
- - ">="
|
62
122
|
- !ruby/object:Gem::Version
|
123
|
+
hash: 3
|
63
124
|
segments:
|
64
125
|
- 0
|
65
126
|
version: "0"
|
@@ -68,13 +129,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
129
|
requirements:
|
69
130
|
- - ">="
|
70
131
|
- !ruby/object:Gem::Version
|
132
|
+
hash: 3
|
71
133
|
segments:
|
72
134
|
- 0
|
73
135
|
version: "0"
|
74
136
|
requirements: []
|
75
137
|
|
76
138
|
rubyforge_project:
|
77
|
-
rubygems_version: 1.
|
139
|
+
rubygems_version: 1.8.10
|
78
140
|
signing_key:
|
79
141
|
specification_version: 3
|
80
142
|
summary: Generate named tokens on your ActiveRecord models.
|
@@ -82,5 +144,6 @@ test_files:
|
|
82
144
|
- spec/schema.rb
|
83
145
|
- spec/spec_helper.rb
|
84
146
|
- spec/support/config/boot.rb
|
147
|
+
- spec/support/config/database.yml
|
85
148
|
- spec/support/models.rb
|
86
149
|
- spec/tokens_spec.rb
|
data/Gemfile.lock
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
abstract (1.0.0)
|
5
|
-
actionmailer (3.0.0)
|
6
|
-
actionpack (= 3.0.0)
|
7
|
-
mail (~> 2.2.5)
|
8
|
-
actionpack (3.0.0)
|
9
|
-
activemodel (= 3.0.0)
|
10
|
-
activesupport (= 3.0.0)
|
11
|
-
builder (~> 2.1.2)
|
12
|
-
erubis (~> 2.6.6)
|
13
|
-
i18n (~> 0.4.1)
|
14
|
-
rack (~> 1.2.1)
|
15
|
-
rack-mount (~> 0.6.12)
|
16
|
-
rack-test (~> 0.5.4)
|
17
|
-
tzinfo (~> 0.3.23)
|
18
|
-
activemodel (3.0.0)
|
19
|
-
activesupport (= 3.0.0)
|
20
|
-
builder (~> 2.1.2)
|
21
|
-
i18n (~> 0.4.1)
|
22
|
-
activerecord (3.0.0)
|
23
|
-
activemodel (= 3.0.0)
|
24
|
-
activesupport (= 3.0.0)
|
25
|
-
arel (~> 1.0.0)
|
26
|
-
tzinfo (~> 0.3.23)
|
27
|
-
activeresource (3.0.0)
|
28
|
-
activemodel (= 3.0.0)
|
29
|
-
activesupport (= 3.0.0)
|
30
|
-
activesupport (3.0.0)
|
31
|
-
archive-tar-minitar (0.5.2)
|
32
|
-
arel (1.0.1)
|
33
|
-
activesupport (~> 3.0.0)
|
34
|
-
builder (2.1.2)
|
35
|
-
columnize (0.3.1)
|
36
|
-
diff-lcs (1.1.2)
|
37
|
-
erubis (2.6.6)
|
38
|
-
abstract (>= 1.0.0)
|
39
|
-
i18n (0.4.1)
|
40
|
-
linecache19 (0.5.11)
|
41
|
-
ruby_core_source (>= 0.1.4)
|
42
|
-
mail (2.2.6.1)
|
43
|
-
activesupport (>= 2.3.6)
|
44
|
-
mime-types
|
45
|
-
treetop (>= 1.4.5)
|
46
|
-
mime-types (1.16)
|
47
|
-
polyglot (0.3.1)
|
48
|
-
rack (1.2.1)
|
49
|
-
rack-mount (0.6.13)
|
50
|
-
rack (>= 1.0.0)
|
51
|
-
rack-test (0.5.6)
|
52
|
-
rack (>= 1.0)
|
53
|
-
rails (3.0.0)
|
54
|
-
actionmailer (= 3.0.0)
|
55
|
-
actionpack (= 3.0.0)
|
56
|
-
activerecord (= 3.0.0)
|
57
|
-
activeresource (= 3.0.0)
|
58
|
-
activesupport (= 3.0.0)
|
59
|
-
bundler (~> 1.0.0)
|
60
|
-
railties (= 3.0.0)
|
61
|
-
railties (3.0.0)
|
62
|
-
actionpack (= 3.0.0)
|
63
|
-
activesupport (= 3.0.0)
|
64
|
-
rake (>= 0.8.4)
|
65
|
-
thor (~> 0.14.0)
|
66
|
-
rake (0.8.7)
|
67
|
-
rspec (2.0.0.rc)
|
68
|
-
rspec-core (= 2.0.0.rc)
|
69
|
-
rspec-expectations (= 2.0.0.rc)
|
70
|
-
rspec-mocks (= 2.0.0.rc)
|
71
|
-
rspec-core (2.0.0.rc)
|
72
|
-
rspec-expectations (2.0.0.rc)
|
73
|
-
diff-lcs (>= 1.1.2)
|
74
|
-
rspec-mocks (2.0.0.rc)
|
75
|
-
rspec-core (= 2.0.0.rc)
|
76
|
-
rspec-expectations (= 2.0.0.rc)
|
77
|
-
rspec-rails (2.0.0.rc)
|
78
|
-
rspec (= 2.0.0.rc)
|
79
|
-
ruby-debug-base19 (0.11.24)
|
80
|
-
columnize (>= 0.3.1)
|
81
|
-
linecache19 (>= 0.5.11)
|
82
|
-
ruby_core_source (>= 0.1.4)
|
83
|
-
ruby-debug19 (0.11.6)
|
84
|
-
columnize (>= 0.3.1)
|
85
|
-
linecache19 (>= 0.5.11)
|
86
|
-
ruby-debug-base19 (>= 0.11.19)
|
87
|
-
ruby_core_source (0.1.4)
|
88
|
-
archive-tar-minitar (>= 0.5.2)
|
89
|
-
sqlite3-ruby (1.3.1)
|
90
|
-
thor (0.14.3)
|
91
|
-
treetop (1.4.8)
|
92
|
-
polyglot (>= 0.3.1)
|
93
|
-
tzinfo (0.3.23)
|
94
|
-
|
95
|
-
PLATFORMS
|
96
|
-
ruby
|
97
|
-
|
98
|
-
DEPENDENCIES
|
99
|
-
rails (= 3.0.0)
|
100
|
-
rspec-rails (= 2.0.0.rc)
|
101
|
-
ruby-debug19
|
102
|
-
sqlite3-ruby
|