Module: CapabilityTokens

Defined in:
lib/capability_tokens.rb,
lib/capability_tokens/engine.rb,
lib/capability_tokens/version.rb,
lib/capability_tokens/configuration.rb,
app/models/capability_tokens/capability_token.rb

Defined Under Namespace

Classes: CapabilityToken, Configuration, Engine

Constant Summary collapse

BadToken =
Class.new(StandardError)
ExpiredToken =
Class.new(BadToken)
InvalidToken =
Class.new(BadToken)
NonExpiredToken =
Class.new(BadToken)
VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configurationObject



13
14
15
# File 'lib/capability_tokens.rb', line 13

def self.configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



17
18
19
# File 'lib/capability_tokens.rb', line 17

def self.configure
  yield configuration
end

.generate(payload, requester, expires_at = Time.now + 1.day) ⇒ Object



21
22
23
24
25
26
# File 'lib/capability_tokens.rb', line 21

def self.generate(payload, requester, expires_at = Time.now + 1.day)
  token_model.create! payload:    payload,
                      requester:  requester,
                      expires_at: expires_at,
                      token:      generate_token
end

.retrieve(token_string, expired_requested = false) ⇒ Object

Raises:



28
29
30
31
32
33
34
# File 'lib/capability_tokens.rb', line 28

def self.retrieve(token_string, expired_requested = false)
  token = token_model.where(token: token_string).first
  raise InvalidToken if token.nil?
  raise ExpiredToken if token.expired? && !expired_requested
  raise NonExpiredToken if !token.expired? && expired_requested
  token
end