Class: Killbill::Plugin::KillbillApi
- Defined in:
- lib/killbill/killbill_api.rb
Overview
Represents a subset of the Killbill Apis offered to the ruby plugins
Instance Attribute Summary collapse
-
#proxied_services ⇒ Object
readonly
Returns the value of attribute proxied_services.
Instance Method Summary collapse
- #create_context(tenant_id = nil, user_token = nil, reason_code = nil, comments = nil) ⇒ Object
-
#initialize(plugin_name, proxied_services) ⇒ KillbillApi
constructor
A new instance of KillbillApi.
-
#method_missing(m, *args, &block) ⇒ Object
Returns the proxy to the java api.
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
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_services ⇒ Object (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 |