killbill 1.0.14 → 1.0.15

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.14
1
+ 1.0.15
data/lib/killbill.rb CHANGED
@@ -36,12 +36,12 @@ begin
36
36
  warn 'Unable to load killbill-api. For development purposes, use JBundler (create the following Jarfile: http://git.io/eobYXA and run: `bundle install && jbundle install\')'
37
37
  end
38
38
  end
39
-
40
39
  # jbundler needs to be loaded first!
41
40
  require 'killbill/jplugin'
42
41
  require 'killbill/jpayment'
42
+ require 'killbill/jnotification'
43
43
  rescue LoadError => e
44
- warn 'You need JRuby to run Killbill plugins'
44
+ warn "You need JRuby to run Killbill plugins #{e}"
45
45
  end
46
46
 
47
47
  require 'killbill/notification'
@@ -4,10 +4,7 @@ require 'singleton'
4
4
 
5
5
  require 'killbill/creator'
6
6
  require 'killbill/plugin'
7
- require 'killbill/jresponse/jpayment_response'
8
- require 'killbill/jresponse/jrefund_response'
9
- require 'killbill/jresponse/jpayment_method_response'
10
- require 'killbill/jresponse/jpayment_method_response_internal'
7
+ require 'killbill/jresponse/jevent'
11
8
 
12
9
  include Java
13
10
 
@@ -17,14 +14,14 @@ module Killbill
17
14
  java_package 'com.ning.billing.notification.plugin.api'
18
15
  class JNotification < JPlugin
19
16
 
20
- include 'com.ning.billing.notification.plugin.api.NotificationPluginApi'
17
+ include com.ning.billing.notification.plugin.api.NotificationPluginApi
21
18
 
22
19
  def initialize(real_class_name, services = {})
23
20
  super(real_class_name, services)
24
21
  end
25
22
 
26
- java_signature 'void onEvent(Java::com.ning.billing.beatrix.bus.api.ExtBusEvent killbillEvent)'
27
- def on_event(killbill_event)
23
+ java_signature 'void onEvent(Java::com.ning.billing.beatrix.bus.api.ExtBusEvent)'
24
+ def on_event(*args)
28
25
  do_call_handle_exception(__method__, *args) do |res|
29
26
  return nil
30
27
  end
@@ -1,8 +1,12 @@
1
+ require 'java'
2
+
1
3
  require 'pathname'
2
4
 
3
5
  require 'killbill/http_servlet'
4
6
  require 'killbill/creator'
5
7
 
8
+ include Java
9
+
6
10
  module Killbill
7
11
  # There are various types of plugins one can write for Killbill:
8
12
  #
@@ -75,7 +79,7 @@ module Killbill
75
79
  end
76
80
 
77
81
  def convert_args(api, args)
78
- args.collect! do |a|
82
+ args.collect! do |a|
79
83
  if a.nil?
80
84
  nil
81
85
  elsif a.java_kind_of? java.util.UUID
@@ -111,11 +115,11 @@ module Killbill
111
115
  #raise Java::com.ning.billing.payment.plugin.api.PaymentPluginApiException.new("#{api} failure", "Unexpected parameter type #{a.class}")
112
116
  nil
113
117
  end
114
- end
115
- # Remove last argument if this is null (it means we passed a context)
116
- args.delete_at(-1) if args[-1].nil?
117
- args
118
118
  end
119
+ # Remove last argument if this is null (it means we passed a context)
120
+ args.delete_at(-1) if args[-1].nil?
121
+ args
122
+ end
119
123
 
120
124
  end
121
125
  end
@@ -1,7 +1,9 @@
1
+ require 'killbill/jresponse/jconverter'
2
+
1
3
  module Killbill
2
4
  module Plugin
3
5
 
4
- java_package'com.ning.billing.beatrix.bus.api'
6
+ java_package 'com.ning.billing.beatrix.bus.api'
5
7
  class JEvent
6
8
 
7
9
  include Java::com.ning.billing.beatrix.bus.api.ExtBusEvent
@@ -1,4 +1,5 @@
1
1
  require 'killbill/plugin'
2
+ require 'killbill/response/event'
2
3
 
3
4
  module Killbill
4
5
  module Plugin
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ require 'killbill/jnotification'
4
+
5
+ describe Killbill::Plugin::JNotification do
6
+
7
+ before(:all) do
8
+ @jnotification = Killbill::Plugin::JNotification.new("Killbill::Plugin::NotificationTest")
9
+ end
10
+
11
+
12
+ it "should_test_on_event_ok" do
13
+
14
+ object_type = Java::com.ning.billing.ObjectType::INVOICE
15
+ event_type = Java::com.ning.billing.beatrix.bus.api.ExtBusEventType::INVOICE_CREATION
16
+ uuid = java.util.UUID.random_uuid
17
+
18
+ event = Java::com.ning.billing.mock.api.MockExtBusEvent.new(event_type, object_type, uuid, uuid, uuid)
19
+ @jnotification.on_event(event)
20
+ @jnotification.on_event(event)
21
+ @jnotification.on_event(event)
22
+ @jnotification.delegate_plugin.counter.should == 3
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+ require 'date'
3
+
4
+ require 'killbill/response/event'
5
+ require 'killbill/jresponse/jevent'
6
+
7
+
8
+ describe Killbill::Plugin::JEvent do
9
+
10
+ it "should_test_jevent" do
11
+ object_type = Java::com.ning.billing.ObjectType::INVOICE
12
+ event_type = Java::com.ning.billing.beatrix.bus.api.ExtBusEventType::INVOICE_CREATION
13
+ uuid = java.util.UUID.random_uuid
14
+
15
+ input = Killbill::Plugin::JEvent.new(event_type, object_type, uuid, uuid, uuid)
16
+ #input.should be_an_instance_of Java::com.ning.billing.beatrix.bus.api.ExtBusEvent
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ require 'killbill/notification'
2
+
3
+ module Killbill
4
+ module Plugin
5
+ class NotificationTest < Notification
6
+
7
+ attr_reader :counter
8
+
9
+ def initialize(*args)
10
+ @counter = 0
11
+ end
12
+
13
+ def on_event(event)
14
+ @counter += 1
15
+ end
16
+
17
+ end
18
+ end
19
+ end
data/spec/spec_helper.rb CHANGED
@@ -8,6 +8,7 @@ require 'killbill'
8
8
  require 'killbill/http_servlet'
9
9
 
10
10
  require 'killbill/payment_test'
11
+ require 'killbill/notification_test'
11
12
 
12
13
 
13
14
  %w(
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: killbill
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.14
5
4
  prerelease:
5
+ version: 1.0.15
6
6
  platform: ruby
7
7
  authors:
8
8
  - Killbill core team
@@ -130,14 +130,17 @@ files:
130
130
  - lib/killbill/response/refund_response.rb
131
131
  - spec/killbill/base_plugin_spec.rb
132
132
  - spec/killbill/config_test.ru
133
+ - spec/killbill/jnotification_spec.rb
133
134
  - spec/killbill/jpayment_spec.rb
134
135
  - spec/killbill/jresponse/jconverter_spec.rb
136
+ - spec/killbill/jresponse/jevent_spec.rb
135
137
  - spec/killbill/jresponse/jpayment_method_response_internal_spec.rb
136
138
  - spec/killbill/jresponse/jpayment_method_response_spec.rb
137
139
  - spec/killbill/jresponse/jpayment_response_spec.rb
138
140
  - spec/killbill/jresponse/jrefund_response_spec.rb
139
141
  - spec/killbill/killbill_integration_spec.rb
140
142
  - spec/killbill/notification_plugin_spec.rb
143
+ - spec/killbill/notification_test.rb
141
144
  - spec/killbill/payment_plugin_spec.rb
142
145
  - spec/killbill/payment_test.rb
143
146
  - spec/killbill/rack_handler_spec.rb
@@ -163,9 +166,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
166
  - !ruby/object:Gem::Version
164
167
  segments:
165
168
  - 0
169
+ hash: 2
166
170
  version: !binary |-
167
171
  MA==
168
- hash: 2
169
172
  none: false
170
173
  requirements: []
171
174
  rubyforge_project:
@@ -176,14 +179,17 @@ summary: Framework to write Killbill plugins in Ruby.
176
179
  test_files:
177
180
  - spec/killbill/base_plugin_spec.rb
178
181
  - spec/killbill/config_test.ru
182
+ - spec/killbill/jnotification_spec.rb
179
183
  - spec/killbill/jpayment_spec.rb
180
184
  - spec/killbill/jresponse/jconverter_spec.rb
185
+ - spec/killbill/jresponse/jevent_spec.rb
181
186
  - spec/killbill/jresponse/jpayment_method_response_internal_spec.rb
182
187
  - spec/killbill/jresponse/jpayment_method_response_spec.rb
183
188
  - spec/killbill/jresponse/jpayment_response_spec.rb
184
189
  - spec/killbill/jresponse/jrefund_response_spec.rb
185
190
  - spec/killbill/killbill_integration_spec.rb
186
191
  - spec/killbill/notification_plugin_spec.rb
192
+ - spec/killbill/notification_test.rb
187
193
  - spec/killbill/payment_plugin_spec.rb
188
194
  - spec/killbill/payment_test.rb
189
195
  - spec/killbill/rack_handler_spec.rb