dextokenable 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/dextokenable.rb +24 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: aa28432fe8d9118b4248a4c841c6eb9fdb8b1edd
4
+ data.tar.gz: a2e3b41c74f8b0cc077304ea09175a70efc984e9
5
+ SHA512:
6
+ metadata.gz: 9eb49cd4581679da506658b4429517bc911c7ac0621bddc31694307da9555cc00ed3653033119b2fcff13efe3ced5e70854f916b3d1f3b92779cc2352703f5bf
7
+ data.tar.gz: 39b8c61251cca44c7d4f14159092ddfefe65d2e40ede4caff6723eb1bdd542d5e384653562d25fa0901883db7059e8dd90f35b8be588745db46dc1ce597844c2
@@ -0,0 +1,24 @@
1
+ module Dextokenable
2
+ def self.included(base)
3
+ base.extend ClassMethods
4
+ end
5
+
6
+ module ClassMethods
7
+
8
+ def tokenable(*args, &block)
9
+ args.each do |name|
10
+ before_validation :on => :create do
11
+ self[name] = loop do
12
+ random_token = SecureRandom.urlsafe_base64
13
+ break random_token unless self.class.exists?(token: random_token)
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ end
20
+ end
21
+
22
+ class ActiveRecord::Base
23
+ include Dextokenable
24
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dextokenable
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Armin Primadi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-17 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Generate secure token for ActiveRecord models
14
+ email: aprimadi@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/dextokenable.rb
20
+ homepage: https://github.com/dexcodeinc/dextokenable
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.2.2
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Generate secure token for ActiveRecord models
44
+ test_files: []