Class: Killbill::Plugin::KillbillApi

Inherits:
Object
  • Object
show all
Defined in:
lib/killbill/killbill_api.rb

Overview

Represents a subset of the Killbill Apis offered to the ruby plugins

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(plugin_name, proxied_services) ⇒ KillbillApi

Returns a new instance of KillbillApi.



14
15
16
17
18
19
20
21
# File 'lib/killbill/killbill_api.rb', line 14

def initialize(plugin_name, proxied_services)
  @plugin_name = plugin_name
  @proxied_services = proxied_services
  @services = {}
  proxied_services.each do |k,v|
    @services[k.to_sym] = create_proxy_api(k, v)
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(m, *args, &block) ⇒ Object

Returns the proxy to the java api

Raises:

  • (NoMethodError)


26
27
28
29
# File 'lib/killbill/killbill_api.rb', line 26

def method_missing(m, *args, &block)
  return @services[m.to_sym] if @services.include? m.to_sym
  raise NoMethodError.new("undefined method `#{m}' for #{self}")
end

Instance Attribute Details

#proxied_servicesObject (readonly)

Returns the value of attribute proxied_services.



12
13
14
# File 'lib/killbill/killbill_api.rb', line 12

def proxied_services
  @proxied_services
end

Instance Method Details

#create_context(tenant_id = nil, user_token = nil, reason_code = nil, comments = nil) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/killbill/killbill_api.rb', line 31

def create_context(tenant_id=nil, user_token=nil, reason_code=nil, comments=nil)
  context = Killbill::Plugin::Model::CallContext.new
  context.tenant_id= tenant_id
  context.user_token= user_token
  context.user_name= @plugin_name
  context.call_origin= :EXTERNAL
  context.user_type= :SYSTEM
  context.reason_code= reason_code
  context.comments= comments
  context.created_date= DateTime.now.new_offset(0)
  context.updated_date= context.created_date
  context
end