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