module Surbase::Controller
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/surbase/controller.rb, line 5 def initialize super @cipher = Cipher.new( Secrets.get( :CIPHER_NAME ) ) end
Protected Instance Methods
create_key( salt )
click to toggle source
# File lib/surbase/controller.rb, line 38 def create_key( salt ) Digest::SHA512::hexdigest( salt ) end
create_key_random()
click to toggle source
# File lib/surbase/controller.rb, line 42 def create_key_random now = Time.now.to_i create_key( [ now, rand( now ), rand( now ), rand( now ) ].join( "_" ) ) end
decrypt_json( encrypted_access_token, pass )
click to toggle source
# File lib/surbase/controller.rb, line 56 def decrypt_json( encrypted_access_token, pass ) from_json( @cipher.decrypt( encrypted_access_token, pass ) ) end
encrypt_json( access_token, pass )
click to toggle source
# File lib/surbase/controller.rb, line 52 def encrypt_json( access_token, pass ) @cipher.encrypt( to_json( access_token ), pass ) end
error_status( code, exception )
click to toggle source
# File lib/surbase/controller.rb, line 60 def error_status( code, exception ) status = Status.new( code, [ exception.message ] ) status.values.concat( exception.backtrace ) if ! Rails.env.production? status end
from_json( json )
click to toggle source
# File lib/surbase/controller.rb, line 34 def from_json( json ) JSON.parse( json ) end
result_api( status )
click to toggle source
# File lib/surbase/controller.rb, line 22 def result_api( status ) render :json => result_hash( status ) end
result_hash( status )
click to toggle source
# File lib/surbase/controller.rb, line 12 def result_hash( status ) { :status => { :code => status.code, :msg => status.msg, :values => status.values, } } end
to_json( object )
click to toggle source
# File lib/surbase/controller.rb, line 30 def to_json( object ) JSON.generate( object ) end