Sha256: 936c50c16ab5444c6f7f10d06adda061c10df3bc63d58fa71825dd4942583f7f

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

# -*- encoding : utf-8 -*-
class SklikApi::Access

  #set credentials
  def self.set args = {}
    args.symbolize_keys!
    #check required arguments
    raise ArgumentError, "email is required" unless args[:email]
    raise ArgumentError, "password is required" unless args[:password]
    
    #save argument to right places
    @args = args

    #save session if present
    @session = args.has_key?(:session) ? args[:session] : nil

    #return this object!
    return self
  end

  def self.get
    Marshal.load( Marshal.dump (@args )) 
  end
  
  #return email
  def self.email
    @args[:email].to_s
  end

  #for login take first part of email "name@seznam.cz" -> "name"
  def self.login
    @args[:email].to_s.split("@").first
  end

  #return customer_id
  def self.customer_id    
    @args.has_key?(:customer_id) && @args[:customer_id] ? @args[:customer_id] : nil
  end

  #return password
  def self.password
    @args[:password].to_s
  end

  #Set session
  def self.session= session
    session
  end

  #Get session
  def self.session
    @session
  end

  #Has setted session
  def self.session?
    !@session.nil?
  end
    
  #if you change Access credentials change uniq identifier -> 
  #used for stroing sessions for multiple logins
  def self.uniq_identifier 
    "#{@args[:email]}:#{@args[:password]}"
  end
  
  #to prevent changes in settings dump it
  def self.access
    Marshal.load( Marshal.dump( @args ))
  end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sklik-api-0.1.6 lib/sklik-api/access.rb