rservicebus2 0.1.2 → 0.2.4

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: e54b4fb695ba444a67b55bf63e8f64147cbceab9
4
- data.tar.gz: 537dfa6f434e22a5f4a6a580035f49423925eac5
2
+ SHA256:
3
+ metadata.gz: 1ea0b8dd06a2280f3ca70bef921b34f4bad2c1d6a4c043a6accb119b83566940
4
+ data.tar.gz: b7607e7ed6a0fe7fbe935aa5b3cc2d27817973b33f96c5dda58d0651a1f17570
5
5
  SHA512:
6
- metadata.gz: b17ae3ca0af9f497362bec0d940c05bd74facc47bbc64dd33b7a050295fc23c933a2ad0f1a952cdbc92a9d456e142d6ff2f923a499cd361d533b7bbdde1a0e6b
7
- data.tar.gz: 26ece7551b0806893ed82c1cb76eeb5e2f17c4326b27d58b89fb64929d03eaa5ffef3b835c87dc3fe57d513bc0076f7616ecb43afbb97cb1ae33a91c7008adbb
6
+ metadata.gz: 1963af8198779b9efabe33b85c236205fcdababb5a75e5b551d72073b9e4342818ac13878e2f533f295ca2e0a90be2767da641230d8382b15d4d485566fc9ac5
7
+ data.tar.gz: 06dc10763f2a56066405abbe7dff686d120d755f26d3ce8a3b6ca43152c31c8ca2f8826a51ec4fdb3a3d5bb836c4890770919b9cdd9ce603fb94eb4a710dbb0c
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]
@@ -0,0 +1,18 @@
1
+ require 'aws-sdk-dynamodb'
2
+
3
+ module RServiceBus2
4
+ # AppResourceAWSDynamoDb
5
+ class AppResourceAWSDynamoDb < AppResource
6
+ # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
7
+ def connect(uri)
8
+ region = uri.host
9
+
10
+ aws = Aws::DynamoDB::Client.new(region: region)
11
+ puts "aws #{aws}"
12
+ aws
13
+ end
14
+
15
+ def finished
16
+ end
17
+ end
18
+ end
@@ -31,6 +31,9 @@ module RServiceBus2
31
31
  when 'file'
32
32
  require 'rservicebus2/appresource/file'
33
33
  rm.add k.sub('RSB_', ''), AppResourceFile.new(host, uri)
34
+ when 'awsdynamodb'
35
+ require 'rservicebus2/appresource/awsdynamodb'
36
+ rm.add k.sub('RSB_', ''), AppResourceAWSDynamoDb.new(host, uri)
34
37
  else
35
38
  abort("Scheme, #{uri.scheme}, not recognised when configuring
36
39
  app resource, #{k}=#{v}")
@@ -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.2
4
+ version: 0.2.4
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-27 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,23 @@ 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
107
+ - lib/rservicebus2/appresource/awsdynamodb.rb
96
108
  - lib/rservicebus2/appresource/dir.rb
97
109
  - lib/rservicebus2/appresource/file.rb
98
110
  - lib/rservicebus2/appresource/fluiddb.rb
99
111
  - lib/rservicebus2/appresource/fluiddb2.rb
100
- - lib/rservicebus2/appresource.rb
101
112
  - lib/rservicebus2/appresource_configure.rb
102
113
  - lib/rservicebus2/audit.rb
103
114
  - lib/rservicebus2/circuitbreaker.rb
@@ -109,58 +120,52 @@ files:
109
120
  - lib/rservicebus2/handler_manager.rb
110
121
  - lib/rservicebus2/helper_functions.rb
111
122
  - lib/rservicebus2/host.rb
123
+ - lib/rservicebus2/message.rb
112
124
  - lib/rservicebus2/message/statisticoutput.rb
113
125
  - lib/rservicebus2/message/subscription.rb
114
126
  - lib/rservicebus2/message/verboseoutput.rb
115
- - lib/rservicebus2/message.rb
127
+ - lib/rservicebus2/monitor.rb
116
128
  - lib/rservicebus2/monitor/dir.rb
117
129
  - lib/rservicebus2/monitor/dirnotifier.rb
118
130
  - lib/rservicebus2/monitor/message.rb
119
131
  - lib/rservicebus2/monitor/xmldir.rb
120
- - lib/rservicebus2/monitor.rb
121
132
  - lib/rservicebus2/monitor_configure.rb
122
- - lib/rservicebus2/mq/beanstalk.rb
123
133
  - lib/rservicebus2/mq.rb
134
+ - lib/rservicebus2/mq/aws.rb
135
+ - lib/rservicebus2/mq/beanstalk.rb
136
+ - lib/rservicebus2/mq/file.rb
137
+ - lib/rservicebus2/mq/redis.rb
124
138
  - lib/rservicebus2/resource_manager.rb
125
139
  - lib/rservicebus2/saga/base.rb
126
140
  - lib/rservicebus2/saga/data.rb
127
141
  - lib/rservicebus2/saga/manager.rb
128
142
  - lib/rservicebus2/saga_loader.rb
143
+ - lib/rservicebus2/saga_storage.rb
129
144
  - lib/rservicebus2/saga_storage/dir.rb
130
145
  - lib/rservicebus2/saga_storage/inmemory.rb
131
- - lib/rservicebus2/saga_storage.rb
132
146
  - lib/rservicebus2/sendat_manager.rb
147
+ - lib/rservicebus2/sendat_storage.rb
133
148
  - lib/rservicebus2/sendat_storage/file.rb
134
149
  - lib/rservicebus2/sendat_storage/inmemory.rb
135
- - lib/rservicebus2/sendat_storage.rb
136
150
  - lib/rservicebus2/state_manager.rb
151
+ - lib/rservicebus2/state_storage.rb
137
152
  - lib/rservicebus2/state_storage/dir.rb
138
153
  - lib/rservicebus2/state_storage/inmemory.rb
139
- - lib/rservicebus2/state_storage.rb
140
154
  - lib/rservicebus2/statistic_manager.rb
141
155
  - lib/rservicebus2/stats.rb
142
156
  - lib/rservicebus2/subscription_manager.rb
143
- - lib/rservicebus2/subscription_storage/file.rb
144
157
  - lib/rservicebus2/subscription_storage.rb
158
+ - lib/rservicebus2/subscription_storage/file.rb
145
159
  - lib/rservicebus2/subscription_storage_configure.rb
146
- - lib/rservicebus2/test/bus.rb
147
160
  - lib/rservicebus2/test.rb
161
+ - lib/rservicebus2/test/bus.rb
148
162
  - lib/rservicebus2/transporter.rb
149
163
  - 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
164
  homepage: http://rubygems.org/gems/rservicebus2
160
165
  licenses:
161
166
  - LGPL-3.0
162
167
  metadata: {}
163
- post_install_message:
168
+ post_install_message:
164
169
  rdoc_options: []
165
170
  require_paths:
166
171
  - lib
@@ -175,9 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
180
  - !ruby/object:Gem::Version
176
181
  version: '0'
177
182
  requirements: []
178
- rubyforge_project:
179
- rubygems_version: 2.0.14.1
180
- signing_key:
183
+ rubygems_version: 3.0.9
184
+ signing_key:
181
185
  specification_version: 4
182
186
  summary: RServiceBus
183
187
  test_files: []