Module: Tokens::ActiveRecord::InstanceMethods
- Defined in:
- lib/tokens/active_record.rb
Instance Method Summary collapse
-
#add_token(name, options = {}) ⇒ Object
Add a new token.
-
#find_token(name, token) ⇒ Object
Find a token.
-
#find_token_by_name(name) ⇒ Object
Find token by its name.
-
#remove_token(name) ⇒ Object
Remove token.
-
#valid_token?(name, hash) ⇒ Boolean
Verify if given token is valid.
Instance Method Details
#add_token(name, options = {}) ⇒ Object
Add a new token.
@user.add_token(:api_key, :expires_at => nil)
@user.add_token(:api_key, :size => 20)
@user.add_token(:api_key, :data => data.to_yaml)
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/tokens/active_record.rb', line 117 def add_token(name, ={}) .reverse_merge!({ :expires_at => 2.days.from_now, :size => 12, :data => nil }) remove_token(name) attrs = { :name => name.to_s, :token => self.class.generate_token([:size]), :expires_at => [:expires_at], :data => [:data] } self.tokens.create!(attrs) end |
#find_token(name, token) ⇒ Object
Find a token.
@user.find_token(:activation, "abcdefg")
88 89 90 91 92 93 94 |
# File 'lib/tokens/active_record.rb', line 88 def find_token(name, token) self.class.find_token( :tokenizable_id => self.id, :name => name.to_s, :token => token ) end |
#find_token_by_name(name) ⇒ Object
Find token by its name.
97 98 99 |
# File 'lib/tokens/active_record.rb', line 97 def find_token_by_name(name) self.tokens.find_by_name(name.to_s) end |
#remove_token(name) ⇒ Object
Remove token.
@user.remove_token(:activate)
105 106 107 108 109 |
# File 'lib/tokens/active_record.rb', line 105 def remove_token(name) return if new_record? token = find_token_by_name(name) token && token.destroy end |
#valid_token?(name, hash) ⇒ Boolean
Verify if given token is valid.
@user.valid_token?(:active, "abcdefg")
80 81 82 |
# File 'lib/tokens/active_record.rb', line 80 def valid_token?(name, hash) self.tokens.where(:name => name.to_s, :token => hash.to_s).first != nil end |