class PlatformLib::BusinessService
Constants
- AUTH_URL_FORMAT
Public Class Methods
new(username, password)
click to toggle source
# File lib/platform_lib/business_service.rb, line 8 def initialize(username, password) @username = username @password = password @auth_token = nil @services = {} end
Public Instance Methods
method_missing(method_name, *args)
click to toggle source
Calls superclass method
# File lib/platform_lib/business_service.rb, line 16 def method_missing(method_name, *args) if method_name =~ /^(.*)_service$/ service_by_name($1) else super end end
sign_out()
click to toggle source
# File lib/platform_lib/business_service.rb, line 24 def sign_out return if @auth_token.nil? url = AUTH_URL_FORMAT.sub(/ACTION/, 'signOut') url << "&_token=#{@auth_token}" uri = URI.parse(url) response = WebHelper::get(uri, :user => @username, :pass => @password) @auth_token = nil @services.clear end
Private Instance Methods
service_by_name(name) { |service| ... }
click to toggle source
# File lib/platform_lib/business_service.rb, line 41 def service_by_name(name) # we've already got an instance service = @services[name] if service.nil? # create a new service sign_in class_name = "#{name.capitalize}Service" service = PlatformLib.const_get(class_name).new(@auth_token) @services[name] = service end if block_given? yield(service) else service end end
sign_in()
click to toggle source
# File lib/platform_lib/business_service.rb, line 62 def sign_in uri = URI.parse(AUTH_URL_FORMAT.sub(/ACTION/, 'signIn')) response = WebHelper::get(uri, user: @username, pass: @password) response_object = Hashie::Mash.new(JSON.parse(response)) @auth_token = response_object.signInResponse.token end