class EbicsCredentials

Attributes

credentials[R]

Public Class Methods

from_encoded_json(encoded_json) click to toggle source
# File lib/ebics_credentials.rb, line 31
def self.from_encoded_json(encoded_json)
  raise Errors::Empty if encoded_json.nil? || encoded_json.empty? 
  raise Errors::Invalid if !encoded_json.is_a?(String)

  begin
    credential_hash = JSON.parse(Base64.decode64(encoded_json), symbolize_names: true)
  rescue => error
    if error.is_a?(JSON::ParserError) 
      raise Errors::Invalid
    else
      raise error
    end
  end

  self.new(credential_hash)
end
new(credential_hash, options = {}) click to toggle source
# File lib/ebics_credentials.rb, line 48
def initialize(credential_hash, options = {})
  @credentials = OpenStruct.new(credential_hash)
  validate! unless !options[:validate]
end

Public Instance Methods

keys() click to toggle source
# File lib/ebics_credentials.rb, line 61
def keys
  [:key, :passphrase, :user_id, :host_id, :partner_id, :url]
end
to_h() click to toggle source
# File lib/ebics_credentials.rb, line 53
def to_h
  @credentials.to_h
end
to_json() click to toggle source
# File lib/ebics_credentials.rb, line 57
def to_json
  to_h.to_json
end
valid?() click to toggle source
# File lib/ebics_credentials.rb, line 65
def valid?
  keys.each do |key|
    return false if @credentials[key].nil? || @credentials[key].empty?
  end
end
validate!() click to toggle source
# File lib/ebics_credentials.rb, line 71
def validate!
  raise Errors::Invalid unless valid?
end