eventq_base 1.15.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/eventq_base/configuration.rb +33 -0
- data/lib/eventq_base/event_raised_exchange.rb +7 -0
- data/lib/eventq_base/event_raised_queue.rb +7 -0
- data/lib/eventq_base/eventq_client_contract.rb +9 -0
- data/lib/eventq_base/eventq_logger.rb +28 -0
- data/lib/eventq_base/exceptions/invalid_signature_exception.rb +9 -0
- data/lib/eventq_base/exceptions.rb +1 -0
- data/lib/eventq_base/exchange.rb +5 -0
- data/lib/eventq_base/message_args.rb +19 -0
- data/lib/eventq_base/nonce_manager.rb +57 -0
- data/lib/eventq_base/queue.rb +23 -0
- data/lib/eventq_base/queue_message.rb +31 -0
- data/lib/eventq_base/queue_worker_contract.rb +23 -0
- data/lib/eventq_base/serialization_providers/binary_serialization_provider.rb +15 -0
- data/lib/eventq_base/serialization_providers/json_serialization_provider.rb +28 -0
- data/lib/eventq_base/serialization_providers/oj_serialization_provider.rb +24 -0
- data/lib/eventq_base/serialization_providers.rb +33 -0
- data/lib/eventq_base/signature_providers/sha256_signature_provider.rb +31 -0
- data/lib/eventq_base/signature_providers.rb +44 -0
- data/lib/eventq_base/subscription_manager_contract.rb +13 -0
- data/lib/eventq_base/version.rb +3 -0
- data/lib/eventq_base/worker_id.rb +20 -0
- data/lib/eventq_base.rb +26 -0
- metadata +154 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3e775e37e2b345a940c9c1c639661ed173a077b787dc28efb4245448a218083c
|
4
|
+
data.tar.gz: 5ee3ac3fb1810b18c8f4510cdaa17d98f4d01eac46cdbf960df1da0cd174d765
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 879bccd09f01df061bd0e2ad3ba2e110f38da121358f9ab8ee05f9b41f101dc1df655676546a82dfd64c1abaabe8c7922811d173e539b1ecd22e90943728da3a
|
7
|
+
data.tar.gz: 85d1945fda553fe7d61a272eec97e3443ef247f4f69c7f567e1c1568b9fb79a449811da475f19d7d1aef7e2e5499ba67b75013db4843e2f34f35f383b662429e
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "eventq_base"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
module EventQ
|
2
|
+
class Configuration
|
3
|
+
|
4
|
+
def self.serialization_provider=(value)
|
5
|
+
@serialization_provider = value
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.serialization_provider
|
9
|
+
if RUBY_PLATFORM =~ /java/
|
10
|
+
@serialization_provider ||= EventQ::SerializationProviders::JSON_PROVIDER
|
11
|
+
else
|
12
|
+
@serialization_provider ||= EventQ::SerializationProviders::OJ_PROVIDER
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.signature_provider=(value)
|
17
|
+
@signature_provider = value
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.signature_provider
|
21
|
+
@signature_provider ||= EventQ::SignatureProviders::SHA256
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.signature_secret=(value)
|
25
|
+
@signature_secret = value
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.signature_secret
|
29
|
+
@signature_secret
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'logger'
|
2
|
+
|
3
|
+
module EventQ
|
4
|
+
|
5
|
+
def self.logger
|
6
|
+
return @@logger
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.set_logger(logger)
|
10
|
+
@@logger = logger
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.log(type, message)
|
14
|
+
case type
|
15
|
+
when :info
|
16
|
+
logger.info(message)
|
17
|
+
when :debug
|
18
|
+
logger.debug(message)
|
19
|
+
when :error
|
20
|
+
logger.error(message)
|
21
|
+
end
|
22
|
+
rescue
|
23
|
+
#do nothing
|
24
|
+
end
|
25
|
+
|
26
|
+
EventQ.set_logger(Logger.new(STDOUT))
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require_relative 'exceptions/invalid_signature_exception'
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module EventQ
|
2
|
+
class MessageArgs
|
3
|
+
attr_reader :type
|
4
|
+
attr_reader :content_type
|
5
|
+
attr_reader :retry_attempts
|
6
|
+
attr_accessor :abort
|
7
|
+
attr_accessor :drop
|
8
|
+
attr_reader :context
|
9
|
+
|
10
|
+
def initialize(type:, retry_attempts:, context: {}, content_type:)
|
11
|
+
@type = type
|
12
|
+
@retry_attempts = retry_attempts
|
13
|
+
@abort = false
|
14
|
+
@drop = false
|
15
|
+
@context = context
|
16
|
+
@content_type = content_type
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module EventQ
|
2
|
+
class NonceManager
|
3
|
+
|
4
|
+
def self.configure(server:,timeout:10000,lifespan:3600000)
|
5
|
+
@server_url = server
|
6
|
+
@timeout = timeout
|
7
|
+
@lifespan = lifespan
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.server_url
|
11
|
+
@server_url
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.timeout
|
15
|
+
@timeout
|
16
|
+
end
|
17
|
+
|
18
|
+
def self.lifespan
|
19
|
+
@lifespan
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.is_allowed?(nonce)
|
23
|
+
if @server_url == nil
|
24
|
+
return true
|
25
|
+
end
|
26
|
+
|
27
|
+
require 'redlock'
|
28
|
+
lock = Redlock::Client.new([ @server_url ]).lock(nonce, @timeout)
|
29
|
+
if lock == false
|
30
|
+
EventQ.log(:info, "[#{self.class}] - Message has already been processed: #{nonce}")
|
31
|
+
return false
|
32
|
+
end
|
33
|
+
|
34
|
+
return true
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.complete(nonce)
|
38
|
+
if @server_url != nil
|
39
|
+
Redis.new(url: @server_url).expire(nonce, @lifespan)
|
40
|
+
end
|
41
|
+
return true
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.failed(nonce)
|
45
|
+
if @server_url != nil
|
46
|
+
Redis.new(url: @server_url).del(nonce)
|
47
|
+
end
|
48
|
+
return true
|
49
|
+
end
|
50
|
+
|
51
|
+
def self.reset
|
52
|
+
@server_url = nil
|
53
|
+
@timeout = nil
|
54
|
+
@lifespan = nil
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EventQ
|
2
|
+
class Queue
|
3
|
+
attr_accessor :name
|
4
|
+
attr_accessor :allow_retry
|
5
|
+
attr_accessor :retry_delay
|
6
|
+
attr_accessor :max_retry_attempts
|
7
|
+
attr_accessor :allow_retry_back_off
|
8
|
+
attr_accessor :max_retry_delay
|
9
|
+
attr_accessor :require_signature
|
10
|
+
|
11
|
+
def initialize
|
12
|
+
@allow_retry = false
|
13
|
+
#default retry delay is 30 seconds
|
14
|
+
@retry_delay = 30000
|
15
|
+
#default max retry attempts is 5
|
16
|
+
@max_retry_attempts = 5
|
17
|
+
#default retry back off settings
|
18
|
+
@allow_retry_back_off = false
|
19
|
+
#default require signature to false
|
20
|
+
@require_signature = false
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module EventQ
|
2
|
+
class QueueMessage
|
3
|
+
extend ClassKit
|
4
|
+
|
5
|
+
attr_accessor_type :id, type: String
|
6
|
+
attr_accessor_type :retry_attempts, type: Integer
|
7
|
+
attr_accessor_type :type, type: String
|
8
|
+
attr_accessor_type :content
|
9
|
+
attr_accessor_type :content_type, type: String
|
10
|
+
attr_accessor_type :created, type: Time
|
11
|
+
attr_accessor_type :signature, type: String
|
12
|
+
attr_accessor_type :context, type: Hash
|
13
|
+
|
14
|
+
def initialize
|
15
|
+
@retry_attempts = 0
|
16
|
+
@created = Time.now.to_i
|
17
|
+
@id = SecureRandom.uuid
|
18
|
+
@context = {}
|
19
|
+
end
|
20
|
+
|
21
|
+
# Creates a signature for the message
|
22
|
+
#
|
23
|
+
# @param provider [EventQ::SignatureProviders::Sha256SignatureProvider] Signature provider that implements
|
24
|
+
# a write method
|
25
|
+
def sign(provider)
|
26
|
+
return unless EventQ::Configuration.signature_secret
|
27
|
+
|
28
|
+
self.signature = provider.write(message: self, secret: EventQ::Configuration.signature_secret)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module EventQ
|
2
|
+
# Contract class for queue workers
|
3
|
+
class QueueWorkerContract
|
4
|
+
|
5
|
+
def start(queue, options = {}, &block)
|
6
|
+
|
7
|
+
end
|
8
|
+
|
9
|
+
def stop
|
10
|
+
|
11
|
+
end
|
12
|
+
|
13
|
+
def on_retry_exceeded(&block)
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def running?
|
18
|
+
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module EventQ
|
2
|
+
module SerializationProviders
|
3
|
+
class JsonSerializationProvider
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
require 'class_kit'
|
7
|
+
require 'hash_kit'
|
8
|
+
@class_kit_helper = ClassKit::Helper.new
|
9
|
+
@hash_helper = HashKit::Helper.new
|
10
|
+
end
|
11
|
+
|
12
|
+
def serialize(object)
|
13
|
+
JSON.dump(object_to_hash(object))
|
14
|
+
end
|
15
|
+
|
16
|
+
def deserialize(json)
|
17
|
+
return @class_kit_helper.from_json(json: json, klass: EventQ::QueueMessage)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def object_to_hash(object)
|
23
|
+
return object if object.is_a?(Hash)
|
24
|
+
@hash_helper.to_hash(object)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module EventQ
|
2
|
+
module SerializationProviders
|
3
|
+
class OjSerializationProvider
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
require 'oj'
|
7
|
+
@json_serializer = EventQ::SerializationProviders::JsonSerializationProvider.new
|
8
|
+
end
|
9
|
+
|
10
|
+
def serialize(object)
|
11
|
+
return Oj.dump(object, mode: :object)
|
12
|
+
end
|
13
|
+
|
14
|
+
def deserialize(json)
|
15
|
+
begin
|
16
|
+
return Oj.load(json)
|
17
|
+
rescue Oj::ParseError
|
18
|
+
EventQ.log(:debug, "[#{self.class}] - Failed to deserialize using Oj, falling back to JsonSerializationProvider.")
|
19
|
+
return @json_serializer.deserialize(json)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require_relative 'serialization_providers/json_serialization_provider'
|
2
|
+
unless RUBY_PLATFORM =~ /java/
|
3
|
+
require_relative 'serialization_providers/oj_serialization_provider'
|
4
|
+
end
|
5
|
+
require_relative 'serialization_providers/binary_serialization_provider'
|
6
|
+
|
7
|
+
module EventQ
|
8
|
+
module SerializationProviders
|
9
|
+
|
10
|
+
OJ_PROVIDER = 'oj'.freeze
|
11
|
+
JSON_PROVIDER = 'json'.freeze
|
12
|
+
BINARY_PROVIDER = 'binary'.freeze
|
13
|
+
|
14
|
+
class Manager
|
15
|
+
def initialize
|
16
|
+
@providers = {}
|
17
|
+
unless RUBY_PLATFORM =~ /java/
|
18
|
+
@providers[OJ_PROVIDER] = EventQ::SerializationProviders::OjSerializationProvider
|
19
|
+
end
|
20
|
+
@providers[JSON_PROVIDER] = EventQ::SerializationProviders::JsonSerializationProvider
|
21
|
+
@providers[BINARY_PROVIDER] = EventQ::SerializationProviders::BinarySerializationProvider
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_provider(provider_type)
|
25
|
+
provider = @providers[provider_type]
|
26
|
+
if provider == nil
|
27
|
+
raise "Invalid provider type specified: #{provider_type}"
|
28
|
+
end
|
29
|
+
return provider.new
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module EventQ
|
2
|
+
module SignatureProviders
|
3
|
+
class Sha256SignatureProvider
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
require 'openssl'
|
7
|
+
require 'base64'
|
8
|
+
@serializer = serialization_provider_manager.get_provider(EventQ::Configuration.serialization_provider)
|
9
|
+
end
|
10
|
+
|
11
|
+
#This method is called to create a signature for a message
|
12
|
+
def write(message:, secret:)
|
13
|
+
json = @serializer.serialize(message.content)
|
14
|
+
hash = OpenSSL::HMAC.digest('sha256', secret, json)
|
15
|
+
Base64.encode64(hash)
|
16
|
+
end
|
17
|
+
|
18
|
+
#This method is called to validate a message signature
|
19
|
+
def valid?(message:, secret:)
|
20
|
+
signature = write(message: message, secret: secret)
|
21
|
+
message.signature == signature
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def serialization_provider_manager
|
27
|
+
EventQ::SerializationProviders::Manager.new
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require_relative 'signature_providers/sha256_signature_provider'
|
2
|
+
|
3
|
+
module EventQ
|
4
|
+
module SignatureProviders
|
5
|
+
|
6
|
+
SHA256 = 'sha256'.freeze
|
7
|
+
|
8
|
+
class Manager
|
9
|
+
def initialize
|
10
|
+
@providers = {}
|
11
|
+
@providers[SHA256] = EventQ::SignatureProviders::Sha256SignatureProvider
|
12
|
+
end
|
13
|
+
|
14
|
+
#This method is called to get a signature provider
|
15
|
+
def get_provider(provider_type)
|
16
|
+
provider = @providers[provider_type]
|
17
|
+
if provider == nil
|
18
|
+
raise "Invalid provider type specified: #{provider_type}"
|
19
|
+
end
|
20
|
+
return provider.new
|
21
|
+
end
|
22
|
+
|
23
|
+
#This method is called to validate a queue message's signature
|
24
|
+
def validate_signature(message:, queue:)
|
25
|
+
valid = true
|
26
|
+
|
27
|
+
if queue.require_signature == true && message.signature == nil
|
28
|
+
valid = false
|
29
|
+
elsif message.signature != nil
|
30
|
+
provider = get_provider(EventQ::Configuration.signature_provider)
|
31
|
+
valid = provider.valid?(message: message, secret: EventQ::Configuration.signature_secret)
|
32
|
+
end
|
33
|
+
|
34
|
+
if !valid
|
35
|
+
raise EventQ::Exceptions::InvalidSignatureException.new
|
36
|
+
end
|
37
|
+
|
38
|
+
true
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module EventQ
|
2
|
+
# Module to be used by concrete worker classes to tag each thread working on a message
|
3
|
+
# Allows to be used in custom logging to track group of log messages per queue message processing.
|
4
|
+
module WorkerId
|
5
|
+
def tag_processing_thread
|
6
|
+
Thread.current[key_name] = SecureRandom.uuid
|
7
|
+
end
|
8
|
+
|
9
|
+
def untag_processing_thread
|
10
|
+
Thread.current[key_name] = nil
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def key_name
|
16
|
+
'worker_id'.freeze
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
data/lib/eventq_base.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'securerandom'
|
2
|
+
require 'redlock'
|
3
|
+
require 'class_kit'
|
4
|
+
require 'hash_kit'
|
5
|
+
|
6
|
+
|
7
|
+
require_relative 'eventq_base/version'
|
8
|
+
require_relative 'eventq_base/eventq_logger'
|
9
|
+
require_relative 'eventq_base/queue'
|
10
|
+
require_relative 'eventq_base/exchange'
|
11
|
+
require_relative 'eventq_base/queue_message'
|
12
|
+
require_relative 'eventq_base/message_args'
|
13
|
+
require_relative 'eventq_base/queue_worker_contract'
|
14
|
+
require_relative 'eventq_base/event_raised_exchange'
|
15
|
+
require_relative 'eventq_base/event_raised_queue'
|
16
|
+
require_relative 'eventq_base/subscription_manager_contract'
|
17
|
+
require_relative 'eventq_base/eventq_client_contract'
|
18
|
+
require_relative 'eventq_base/configuration'
|
19
|
+
require_relative 'eventq_base/serialization_providers'
|
20
|
+
require_relative 'eventq_base/worker_id'
|
21
|
+
require_relative 'eventq_base/nonce_manager'
|
22
|
+
require_relative 'eventq_base/signature_providers'
|
23
|
+
require_relative 'eventq_base/exceptions'
|
24
|
+
|
25
|
+
|
26
|
+
|
metadata
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: eventq_base
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.15.0
|
5
|
+
platform: java
|
6
|
+
authors:
|
7
|
+
- vaughanbrittonsage
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-06-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '1.11'
|
19
|
+
name: bundler
|
20
|
+
prerelease: false
|
21
|
+
type: :development
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.11'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '10.0'
|
33
|
+
name: rake
|
34
|
+
prerelease: false
|
35
|
+
type: :development
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ">="
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
47
|
+
name: rspec
|
48
|
+
prerelease: false
|
49
|
+
type: :development
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
name: class_kit
|
62
|
+
prerelease: false
|
63
|
+
type: :runtime
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
name: redlock
|
76
|
+
prerelease: false
|
77
|
+
type: :runtime
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - ">="
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
89
|
+
name: jruby-openssl
|
90
|
+
prerelease: false
|
91
|
+
type: :runtime
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: This gem contains the base classes and contracts required by any eventq
|
98
|
+
implementations.
|
99
|
+
email:
|
100
|
+
- vaughanbritton@gmail.com
|
101
|
+
executables: []
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- bin/console
|
106
|
+
- bin/setup
|
107
|
+
- lib/eventq_base.rb
|
108
|
+
- lib/eventq_base/configuration.rb
|
109
|
+
- lib/eventq_base/event_raised_exchange.rb
|
110
|
+
- lib/eventq_base/event_raised_queue.rb
|
111
|
+
- lib/eventq_base/eventq_client_contract.rb
|
112
|
+
- lib/eventq_base/eventq_logger.rb
|
113
|
+
- lib/eventq_base/exceptions.rb
|
114
|
+
- lib/eventq_base/exceptions/invalid_signature_exception.rb
|
115
|
+
- lib/eventq_base/exchange.rb
|
116
|
+
- lib/eventq_base/message_args.rb
|
117
|
+
- lib/eventq_base/nonce_manager.rb
|
118
|
+
- lib/eventq_base/queue.rb
|
119
|
+
- lib/eventq_base/queue_message.rb
|
120
|
+
- lib/eventq_base/queue_worker_contract.rb
|
121
|
+
- lib/eventq_base/serialization_providers.rb
|
122
|
+
- lib/eventq_base/serialization_providers/binary_serialization_provider.rb
|
123
|
+
- lib/eventq_base/serialization_providers/json_serialization_provider.rb
|
124
|
+
- lib/eventq_base/serialization_providers/oj_serialization_provider.rb
|
125
|
+
- lib/eventq_base/signature_providers.rb
|
126
|
+
- lib/eventq_base/signature_providers/sha256_signature_provider.rb
|
127
|
+
- lib/eventq_base/subscription_manager_contract.rb
|
128
|
+
- lib/eventq_base/version.rb
|
129
|
+
- lib/eventq_base/worker_id.rb
|
130
|
+
homepage: https://github.com/vaughanbrittonsage/eventq
|
131
|
+
licenses:
|
132
|
+
- MIT
|
133
|
+
metadata: {}
|
134
|
+
post_install_message:
|
135
|
+
rdoc_options: []
|
136
|
+
require_paths:
|
137
|
+
- lib
|
138
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
139
|
+
requirements:
|
140
|
+
- - ">="
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
|
+
requirements:
|
145
|
+
- - ">="
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: '0'
|
148
|
+
requirements: []
|
149
|
+
rubyforge_project:
|
150
|
+
rubygems_version: 2.6.11
|
151
|
+
signing_key:
|
152
|
+
specification_version: 4
|
153
|
+
summary: This gem contains the base classes and contracts required by any eventq implementations.
|
154
|
+
test_files: []
|