rservicebus2 0.1.1 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 3e35956ca7757e14c09a4d307c3a93350458d3b0
4
- data.tar.gz: e548174aa8e07fdac56101959b236b871fc75ac1
2
+ SHA256:
3
+ metadata.gz: 3e12a4225a0bdda2fdc600e0f5f1134dacf481343d7e9e3e3837b820ca1f8509
4
+ data.tar.gz: 02e285f84043c7f457db328a9fd74c1f7f62104531cae5b723ba301aca518a3f
5
5
  SHA512:
6
- metadata.gz: dd37584311d230ecbe2f7b9e1336ce86b3b61ff2c0899c7d527118a17b3a7777c84b3f377aed74db04aef0a20a9f42c997c2aee6408118da9f644c137fe4e30e
7
- data.tar.gz: 3685373828a0ae3e702e2bf70cb100e6bf2b37e18d9a02ddcb38adb48b82bd5b5cdfe897fd4e72a42d8053262a52a83443adc065730a949e020e44adc8c3e28e
6
+ metadata.gz: a2aefd96d740b7020284d95f36256fead951f895fab13e8eeb1440b674ebdb28a580a11ad75c4cbb1dbb270b1aef0ed901af1b94d03459252cfe33947b85aac1
7
+ data.tar.gz: 848e86f7d3c40f83cdb1f6d3459af1a5265f1e9272c7718da950c81457ff54983c0d00bc3997b0b0955df57798a53ff7be3650463458cdbe2b926c636053ddde
data/README.md ADDED
@@ -0,0 +1,50 @@
1
+ # rservicebus2
2
+
3
+ Use the examples directory as the starting point.
4
+
5
+ ## General Approach
6
+
7
+ 1. Convention over Configuration
8
+ 2. Configuration via Environment Variables
9
+ 3. Working examples provided for configuration
10
+
11
+ ## General Config
12
+
13
+ ### APPNAME
14
+ 1. Name of process
15
+ 2. Doubles as default queueName
16
+ 3. Defaults to directory name
17
+
18
+ ### MAX_RETRIES
19
+ 1. If an exception is generated while processing a message, the message can be
20
+ retried. This allows the number of retries to be set.
21
+ 2. Defaults to 5
22
+
23
+ ### ERROR_QUEUE_NAME
24
+ 1. If an exception is generated while processing a message, the message can be
25
+ retried. Once all retries are exhausted, the message will be put in the error queue.
26
+ 2. This allows the name of the queue to be set.
27
+ 3. Defaults to error
28
+
29
+ ### WORKING_DIR
30
+ 1. Where message handlers are looked for.
31
+ 2. Defaults to current directory
32
+
33
+ ### VERBOSE
34
+ 1. Send out more logging to track message processing
35
+
36
+ ### AUDIT_QUEUE_NAME
37
+ 1. When set, a copy of all messages sent and received will be add to this queue
38
+
39
+ ### RSBCRON_[msg name]
40
+ 1. An empty message will be created and sent based on the cron string
41
+
42
+ ## RSBMQ - Message queue
43
+ 1. Environment Variable Name: RSBMQ
44
+
45
+ ### Beanstalk
46
+
47
+ ### Redis
48
+
49
+ ### SQS
50
+ RSBMQ=aws://[region]/[queue_name]
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rservicebus2'
4
- require 'rservicebus2/Agent'
4
+ require 'rservicebus2/agent'
5
5
 
6
6
  abort "Usage: #{File.basename($0)} <Msg Name> <Queue Name> [Response Queue Name] [Beanstalk Host]" unless ARGV.length >=2 && ARGV.length <=4
7
7
  msg_name = ARGV[0]
@@ -133,7 +133,7 @@ module RServiceBus2
133
133
  def load_working_dir_list
134
134
  puts "Config.load_working_dir_list.1"
135
135
  puts "Config.load_working_dir_list.2 #{@contract_list}"
136
- path_list = get_value('WORKING_DIR')
136
+ path_list = get_value('WORKING_DIR', './')
137
137
  return self if path_list.nil?
138
138
 
139
139
  path_list.split(';').each do |path|
@@ -43,8 +43,8 @@ module RServiceBus2
43
43
 
44
44
  # Thin veneer for Configuring state
45
45
  def configure_saga_storage
46
- string = RServiceBus2.get_value('SAGA_URI')
47
- string = 'dir:///tmp' if string.nil?
46
+ string = RServiceBus2.get_value('SAGA_URI', 'dir:///tmp/saga')
47
+ # string = 'dir:///tmp' if string.nil?
48
48
 
49
49
  uri = URI.parse(string)
50
50
  @saga_storage = SagaStorage.get(uri)
@@ -18,6 +18,15 @@ module RServiceBus2
18
18
  when 'beanstalk'
19
19
  require 'rservicebus2/mq/beanstalk'
20
20
  mq = MQBeanstalk.new(uri)
21
+ when 'file'
22
+ require 'rservicebus2/mq/file'
23
+ mq = MQFile.new(uri)
24
+ when 'redis'
25
+ require 'rservicebus2/mq/redis'
26
+ mq = MQRedis.new(uri)
27
+ when 'aws'
28
+ require 'rservicebus2/mq/aws'
29
+ mq = MQAWS.new(uri)
21
30
  else
22
31
  abort("Scheme, #{uri.scheme}, not recognised when configuring mq,
23
32
  #{string}")
@@ -0,0 +1,85 @@
1
+ require 'aws-sdk-sqs'
2
+ require 'aws-sdk-sts'
3
+ require 'rservicebus2/mq'
4
+
5
+ module RServiceBus2
6
+ # Beanstalk client implementation.
7
+ class MQAWS < MQ
8
+ # Connect to the broker
9
+ # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
10
+ def connect(region, port)
11
+ begin
12
+ @max_job_size = 4_194_304
13
+ @region = region
14
+
15
+ sts_client = Aws::STS::Client.new(region: region)
16
+ @caller_identity_account = sts_client.get_caller_identity.account
17
+ rescue StandardError => e
18
+ puts 'Error connecting to AWS'
19
+ puts "Host string, #{region}"
20
+ puts e.message
21
+ puts e.backtrace
22
+ abort
23
+ end
24
+ end
25
+
26
+ def subscribe(queuename)
27
+ # For example:
28
+ # 'https://sqs.us-east-1.amazonaws.com/111111111111/my-queue'
29
+ @queue_url = 'https://sqs.' + @region + '.amazonaws.com/' +
30
+ @caller_identity_account + '/' + queuename
31
+ @sqs_client = Aws::SQS::Client.new(region: @region)
32
+ end
33
+
34
+ # Get next msg from queue
35
+ def pop
36
+ begin
37
+ response = @sqs_client.receive_message(
38
+ queue_url: @queue_url,
39
+ max_number_of_messages: 1
40
+ )
41
+
42
+ if response.messages.count.zero?
43
+ raise NoMsgToProcess
44
+ end
45
+
46
+ response.messages.each do |message|
47
+ @job = message
48
+ end
49
+ rescue StandardError => e
50
+ raise e
51
+ end
52
+ @job.body
53
+ end
54
+
55
+ def return_to_queue
56
+ # @job.release if @job
57
+ @job = nil
58
+ end
59
+
60
+ def ack
61
+ @sqs_client.delete_message({
62
+ queue_url: @queue_url,
63
+ receipt_handle: @job.receipt_handle
64
+ })
65
+ @job = nil
66
+ end
67
+
68
+ def send(queue_name, msg)
69
+ if msg.length > @max_job_size
70
+ puts '***Attempting to send a msg which will not fit on queue.'
71
+ puts "***Msg size, #{msg.length}, max msg size, #{@max_job_size}."
72
+ fail JobTooBigError, "Msg size, #{msg.length}, max msg size,
73
+ #{@max_job_size}"
74
+ end
75
+
76
+ queue_url = 'https://sqs.' + @region + '.amazonaws.com/' +
77
+ @caller_identity_account + '/' + queue_name
78
+
79
+ @sqs_client.send_message(
80
+ queue_url: queue_url,
81
+ message_body: msg
82
+ )
83
+ end
84
+ end
85
+ end
@@ -0,0 +1,59 @@
1
+ require 'fileutils'
2
+ require 'rservicebus2/mq'
3
+
4
+ module RServiceBus2
5
+ # Beanstalk client implementation.
6
+ class MQFile < MQ
7
+ # Connect to the broker
8
+ # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
9
+
10
+ def initialize(uri)
11
+ if uri.is_a? URI
12
+ @uri = uri
13
+ else
14
+ puts 'uri must be a valid URI'
15
+ abort
16
+ end
17
+
18
+ FileUtils.mkdir_p(@uri.path)
19
+ @local_queue_name = RServiceBus2.get_value('APPNAME', 'RServiceBus')
20
+ FileUtils.mkdir_p("#{@uri.path}/#{@local_queue_name}")
21
+ @timeout = RServiceBus2.get_value('QUEUE_TIMEOUT', '5').to_i
22
+ end
23
+
24
+ def subscribe(queue_name)
25
+ path = "#{@uri.path}/#{queue_name}"
26
+ FileUtils.mkdir_p(path)
27
+ @local_queue_name = queue_name
28
+ end
29
+
30
+ # Get next msg from queue
31
+ def pop
32
+ time = @timeout
33
+ while time > 0
34
+ files = Dir.glob("#{@uri.path}/#{@local_queue_name}/*.msg")
35
+ if files.length > 0
36
+ @file_path = files[0]
37
+ @body = IO.read(@file_path)
38
+ return @body
39
+ end
40
+ time -= 1
41
+ sleep(1)
42
+ end
43
+
44
+ raise NoMsgToProcess if files.length == 0
45
+ end
46
+
47
+ def return_to_queue
48
+ end
49
+
50
+ def ack
51
+ FileUtils.rm @file_path
52
+ end
53
+
54
+ def send(queue_name, msg)
55
+ FileUtils.mkdir_p("#{@uri.path}/#{queue_name}")
56
+ IO.write("#{@uri.path}/#{queue_name}/#{rand()}.msg", msg)
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,53 @@
1
+ require 'redis'
2
+ require 'rservicebus2/mq'
3
+
4
+ module RServiceBus2
5
+ # Redis client implementation.
6
+ class MQRedis < MQ
7
+ # Connect to the broker
8
+ # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
9
+ def connect(host, port)
10
+ port ||= 6379
11
+ string = "#{host}:#{port}"
12
+
13
+ begin
14
+ @redis = Redis.new(:host => host, :port => port)
15
+
16
+ rescue Exception => e
17
+ puts e.message
18
+ puts 'Error connecting to Redis for mq'
19
+ puts "Host string, #{string}"
20
+ abort()
21
+ end
22
+ end
23
+
24
+ # Connect to the queue
25
+ def subscribe( queuename )
26
+ @queuename = queuename
27
+ end
28
+
29
+ # Get next msg from queue
30
+ def pop
31
+ if @redis.llen( @queuename ) == 0 then
32
+ sleep @timeout
33
+ raise NoMsgToProcess.new
34
+ end
35
+
36
+ return @redis.lindex @queuename, 0
37
+ end
38
+
39
+ def returnToQueue
40
+ end
41
+
42
+ # "Commit" queue
43
+ def ack
44
+ @redis.lpop @queuename
45
+ end
46
+
47
+ # At least called in the Host rescue block, to ensure all network links are healthy
48
+ def send( queueName, msg )
49
+ @redis.rpush queueName, msg
50
+ end
51
+
52
+ end
53
+ end
@@ -24,7 +24,7 @@ module RServiceBus2
24
24
  end
25
25
 
26
26
  def get_start_with_method_names(saga)
27
- get_methods_by_prefix(saga, 'startwith_')
27
+ get_methods_by_prefix(saga, 'start_with_')
28
28
  end
29
29
 
30
30
  # setBusAttributeIfRequested
@@ -63,7 +63,7 @@ module RServiceBus2
63
63
  @start_with[msg_name] = [] if @start_with[msg_name].nil?
64
64
  @start_with[msg_name] << s
65
65
 
66
- RServiceBus2.log "Registered, #{saga.name}, to startwith, #{msg_name}", true
66
+ RServiceBus2.log "Registered, #{saga.name}, to start_with, #{msg_name}", true
67
67
  end
68
68
 
69
69
  @saga[saga.name] = s
@@ -88,12 +88,13 @@ module RServiceBus2
88
88
  msg_class_name = msg.class.name.downcase
89
89
 
90
90
  RServiceBus2.log "SagaManager, started processing, #{msg_class_name}", true
91
- unless @start_with[msg_class_name].nil?
91
+ if @start_with.key?(msg_class_name)
92
+ # unless @start_with[msg_class_name].nil?
92
93
  @start_with[msg_class_name].each do |saga|
93
94
  data = SagaData.new(saga)
94
95
  @saga_storage.set(data)
95
96
 
96
- method_name = "startwith_#{msg_class_name}"
97
+ method_name = "start_with_#{msg_class_name}"
97
98
  process_msg(saga, data, method_name, msg)
98
99
 
99
100
  handled = true
@@ -102,8 +103,10 @@ module RServiceBus2
102
103
  return handled if handled == true
103
104
 
104
105
  return false if rmsg.correlation_id.nil?
106
+
105
107
  data = @saga_storage.get(rmsg.correlation_id)
106
- return handled if data.nil?
108
+ return false if data.nil?
109
+
107
110
  method_name = "handle_#{msg_class_name}"
108
111
  saga = @saga[data.saga_class_name]
109
112
  process_msg(saga, data, method_name, msg)
@@ -16,21 +16,21 @@ module RServiceBus2
16
16
  # Cleans the given path to ensure it can be used for as a parameter for the
17
17
  # require statement.
18
18
  # @param [String] file_path the path to be cleaned
19
- def get_require_path(filePath)
19
+ def get_require_path(file_path)
20
20
  file_path = './' + file_path unless file_path.start_with?('/')
21
21
 
22
22
  return file_path.sub('.rb', '') if File.exist?(file_path)
23
23
 
24
- abort('Filepath, ' + filePath + ", given for Saga require doesn't exist")
24
+ abort('Filepath, ' + file_path + ", given for Saga require doesn't exist")
25
25
  end
26
26
 
27
- # Instantiate the saga named in sagaName from the file name in filePath
27
+ # Instantiate the saga named in sagaName from the file name in file_path
28
28
  # Exceptions will be raised if encountered when loading sagas. This is a
29
29
  # load time activity, so sagas should load correctly. As much information
30
30
  # as possible is returned to enable the saga to be fixed, or configuration
31
31
  # corrected.
32
32
  # @param [String] sagaName name of the saga to instantiate
33
- # @param [String] filePath the path to the file to be loaded
33
+ # @param [String] file_path the path to the file to be loaded
34
34
  # @return [RServiceBus2::Saga] the loader
35
35
  def load_saga_from_file(saga_name, file_path)
36
36
  require_path = get_require_path(file_path)
@@ -50,7 +50,7 @@ module RServiceBus2
50
50
  end
51
51
 
52
52
  # Wrapper function
53
- # @param [String] filePath
53
+ # @param [String] file_path
54
54
  # @param [String] sagaName
55
55
  # @returns [RServiceBus2::Saga] saga
56
56
  def load_saga(file_path, saga_name)
@@ -97,7 +97,7 @@ module RServiceBus2
97
97
 
98
98
  saga_name = base_name.sub(ext_name, '')
99
99
 
100
- "Saga_#{saga_name}"
100
+ "saga_#{saga_name}".gsub(/(?<=_|^)(\w)/){$1.upcase}.gsub(/(?:_)(\w)/,'\1')
101
101
  end
102
102
 
103
103
  # Entry point for loading Sagas
@@ -106,7 +106,7 @@ module RServiceBus2
106
106
  RServiceBus2.rlog "SagaLoader.loadSagasFromPath. base_dir: #{base_dir}"
107
107
 
108
108
  get_list_of_files_for_dir(base_dir).each do |file_path|
109
- unless filePath.end_with?('.')
109
+ unless file_path.end_with?('.')
110
110
  saga_name = get_saga_name(file_path)
111
111
  load_saga(file_path, saga_name)
112
112
  end
@@ -75,7 +75,7 @@ module RServiceBus2
75
75
  end
76
76
 
77
77
  def load(path)
78
- return {} unless File.exist?(path)
78
+ return nil unless File.exist?(path)
79
79
 
80
80
  content = IO.read(path)
81
81
 
metadata CHANGED
@@ -1,85 +1,85 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rservicebus2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guy Irvine
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-27 00:00:00.000000000 Z
11
+ date: 2021-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: uuidtools
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 2.2.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 2.2.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 2.5.1
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 2.5.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: beanstalk-client
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.1.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.1.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: fluiddb
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 0.1.19
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 0.1.19
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: parse-cron
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.1.4
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.1.4
83
83
  description: A Ruby interpretation of NServiceBus
84
84
  email: guy@guyirvine.com
85
85
  executables:
@@ -92,12 +92,22 @@ executables:
92
92
  extensions: []
93
93
  extra_rdoc_files: []
94
94
  files:
95
+ - LICENSE
96
+ - README.md
97
+ - bin/return_messages_to_source_queue
98
+ - bin/rsb_ctl
99
+ - bin/rservicebus2
100
+ - bin/rservicebus2-create
101
+ - bin/rservicebus2-init
102
+ - bin/rservicebus2-transport
103
+ - bin/send_empty_message
104
+ - lib/rservicebus2.rb
95
105
  - lib/rservicebus2/agent.rb
106
+ - lib/rservicebus2/appresource.rb
96
107
  - lib/rservicebus2/appresource/dir.rb
97
108
  - lib/rservicebus2/appresource/file.rb
98
109
  - lib/rservicebus2/appresource/fluiddb.rb
99
110
  - lib/rservicebus2/appresource/fluiddb2.rb
100
- - lib/rservicebus2/appresource.rb
101
111
  - lib/rservicebus2/appresource_configure.rb
102
112
  - lib/rservicebus2/audit.rb
103
113
  - lib/rservicebus2/circuitbreaker.rb
@@ -109,58 +119,52 @@ files:
109
119
  - lib/rservicebus2/handler_manager.rb
110
120
  - lib/rservicebus2/helper_functions.rb
111
121
  - lib/rservicebus2/host.rb
122
+ - lib/rservicebus2/message.rb
112
123
  - lib/rservicebus2/message/statisticoutput.rb
113
124
  - lib/rservicebus2/message/subscription.rb
114
125
  - lib/rservicebus2/message/verboseoutput.rb
115
- - lib/rservicebus2/message.rb
126
+ - lib/rservicebus2/monitor.rb
116
127
  - lib/rservicebus2/monitor/dir.rb
117
128
  - lib/rservicebus2/monitor/dirnotifier.rb
118
129
  - lib/rservicebus2/monitor/message.rb
119
130
  - lib/rservicebus2/monitor/xmldir.rb
120
- - lib/rservicebus2/monitor.rb
121
131
  - lib/rservicebus2/monitor_configure.rb
122
- - lib/rservicebus2/mq/beanstalk.rb
123
132
  - lib/rservicebus2/mq.rb
133
+ - lib/rservicebus2/mq/aws.rb
134
+ - lib/rservicebus2/mq/beanstalk.rb
135
+ - lib/rservicebus2/mq/file.rb
136
+ - lib/rservicebus2/mq/redis.rb
124
137
  - lib/rservicebus2/resource_manager.rb
125
138
  - lib/rservicebus2/saga/base.rb
126
139
  - lib/rservicebus2/saga/data.rb
127
140
  - lib/rservicebus2/saga/manager.rb
128
141
  - lib/rservicebus2/saga_loader.rb
142
+ - lib/rservicebus2/saga_storage.rb
129
143
  - lib/rservicebus2/saga_storage/dir.rb
130
144
  - lib/rservicebus2/saga_storage/inmemory.rb
131
- - lib/rservicebus2/saga_storage.rb
132
145
  - lib/rservicebus2/sendat_manager.rb
146
+ - lib/rservicebus2/sendat_storage.rb
133
147
  - lib/rservicebus2/sendat_storage/file.rb
134
148
  - lib/rservicebus2/sendat_storage/inmemory.rb
135
- - lib/rservicebus2/sendat_storage.rb
136
149
  - lib/rservicebus2/state_manager.rb
150
+ - lib/rservicebus2/state_storage.rb
137
151
  - lib/rservicebus2/state_storage/dir.rb
138
152
  - lib/rservicebus2/state_storage/inmemory.rb
139
- - lib/rservicebus2/state_storage.rb
140
153
  - lib/rservicebus2/statistic_manager.rb
141
154
  - lib/rservicebus2/stats.rb
142
155
  - lib/rservicebus2/subscription_manager.rb
143
- - lib/rservicebus2/subscription_storage/file.rb
144
156
  - lib/rservicebus2/subscription_storage.rb
157
+ - lib/rservicebus2/subscription_storage/file.rb
145
158
  - lib/rservicebus2/subscription_storage_configure.rb
146
- - lib/rservicebus2/test/bus.rb
147
159
  - lib/rservicebus2/test.rb
160
+ - lib/rservicebus2/test/bus.rb
148
161
  - lib/rservicebus2/transporter.rb
149
162
  - lib/rservicebus2/usermessage/withpayload.rb
150
- - lib/rservicebus2.rb
151
- - bin/return_messages_to_source_queue
152
- - bin/rsb_ctl
153
- - bin/rservicebus2
154
- - bin/rservicebus2-create
155
- - bin/rservicebus2-init
156
- - bin/rservicebus2-transport
157
- - bin/send_empty_message
158
- - LICENSE
159
163
  homepage: http://rubygems.org/gems/rservicebus2
160
164
  licenses:
161
165
  - LGPL-3.0
162
166
  metadata: {}
163
- post_install_message:
167
+ post_install_message:
164
168
  rdoc_options: []
165
169
  require_paths:
166
170
  - lib
@@ -175,9 +179,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
179
  - !ruby/object:Gem::Version
176
180
  version: '0'
177
181
  requirements: []
178
- rubyforge_project:
179
- rubygems_version: 2.0.14.1
180
- signing_key:
182
+ rubygems_version: 3.0.9
183
+ signing_key:
181
184
  specification_version: 4
182
185
  summary: RServiceBus
183
186
  test_files: []