cli-proton-ruby 1.0.0
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/cli-proton-ruby-connector +23 -0
- data/bin/cli-proton-ruby-receiver +23 -0
- data/bin/cli-proton-ruby-sender +23 -0
- data/lib/connector_client.rb +50 -0
- data/lib/constants.rb +27 -0
- data/lib/defaults.rb +91 -0
- data/lib/formatters.rb +28 -0
- data/lib/formatters/basic_formatter.rb +112 -0
- data/lib/formatters/dict_formatter.rb +66 -0
- data/lib/formatters/interop_formatter.rb +88 -0
- data/lib/handlers.rb +34 -0
- data/lib/handlers/basic_handler.rb +79 -0
- data/lib/handlers/connector_handler.rb +90 -0
- data/lib/handlers/receiver_handler.rb +230 -0
- data/lib/handlers/sender_handler.rb +269 -0
- data/lib/handlers/sr_common_handler.rb +100 -0
- data/lib/options.rb +38 -0
- data/lib/options/basic_option_parser.rb +169 -0
- data/lib/options/connector_option_parser.rb +61 -0
- data/lib/options/receiver_option_parser.rb +154 -0
- data/lib/options/sender_option_parser.rb +365 -0
- data/lib/options/sr_common_option_parser.rb +96 -0
- data/lib/receiver_client.rb +61 -0
- data/lib/sender_client.rb +69 -0
- data/lib/utils/duration.rb +44 -0
- data/lib/utils/env_utils.rb +39 -0
- data/lib/utils/exit_timer.rb +44 -0
- data/lib/utils/string_utils.rb +81 -0
- metadata +98 -0
@@ -0,0 +1,96 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2017 Red Hat Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
require_relative 'basic_option_parser'
|
18
|
+
|
19
|
+
module Options
|
20
|
+
|
21
|
+
# Option parser of basic (see Options::BasicOptionParser) and common
|
22
|
+
# options for sender and receiver client
|
23
|
+
# ==== Common sender and receiver options
|
24
|
+
# log-msgs:: format of message(s) log (none/body/dict,
|
25
|
+
# default: DEFAULT_LOG_MSGS, see Defaults)
|
26
|
+
class SRCommonOptionParser < Options::BasicOptionParser
|
27
|
+
|
28
|
+
# Initialization of basic and common sender and receiver options
|
29
|
+
def initialize()
|
30
|
+
# Initialization of basic options
|
31
|
+
super()
|
32
|
+
# SR usage
|
33
|
+
@opt_parser.banner = "Usage: <sr_program> [OPTIONS]"
|
34
|
+
|
35
|
+
# SR specific options with default values
|
36
|
+
|
37
|
+
# Format of message log option
|
38
|
+
@options.log_msgs = Defaults::DEFAULT_LOG_MSGS
|
39
|
+
# Hash message content
|
40
|
+
@options.msg_content_hashed = Defaults::DEFAULT_MSG_CONTENT_HASHED
|
41
|
+
# Auto settle off
|
42
|
+
@options.auto_settle_off = Defaults::DEFAULT_AUTO_SETTLE_OFF
|
43
|
+
|
44
|
+
# Format of message log
|
45
|
+
@opt_parser.on(
|
46
|
+
"--log-msgs FORMAT",
|
47
|
+
%w(none body dict interop),
|
48
|
+
"format of message(s) log (none/body/dict/interop, "+
|
49
|
+
"default: #{Defaults::DEFAULT_LOG_MSGS})"
|
50
|
+
) do |log_msgs|
|
51
|
+
@options.log_msgs = log_msgs
|
52
|
+
end
|
53
|
+
|
54
|
+
# Message content hashed
|
55
|
+
@opt_parser.on(
|
56
|
+
"--msg-content-hashed [HASHED]",
|
57
|
+
Options::BOOLEAN_STRINGS,
|
58
|
+
"display SHA-1 hash of message content in logged messages (true/false) (default: #{Defaults::DEFAULT_MSG_CONTENT_HASHED})"
|
59
|
+
) do |msg_content_hashed|
|
60
|
+
@options.msg_content_hashed = true
|
61
|
+
@options.msg_content_hashed = \
|
62
|
+
StringUtils.str_to_bool(msg_content_hashed) if msg_content_hashed
|
63
|
+
end
|
64
|
+
|
65
|
+
# Auto settle off
|
66
|
+
@opt_parser.on(
|
67
|
+
"--auto-settle-off [OFF]",
|
68
|
+
Options::BOOLEAN_STRINGS,
|
69
|
+
"disable auto settle mode (default: #{Defaults::DEFAULT_AUTO_SETTLE_OFF})"
|
70
|
+
) do |auto_settle_off|
|
71
|
+
@options.auto_settle_off = true
|
72
|
+
@options.auto_settle_off = \
|
73
|
+
StringUtils.str_to_bool(auto_settle_off) if auto_settle_off
|
74
|
+
end
|
75
|
+
|
76
|
+
@options.duration = 0
|
77
|
+
@opt_parser.on(
|
78
|
+
"--duration DURATION", Float,
|
79
|
+
"message actions total duration (defines msg-rate together with count, default 0)"
|
80
|
+
) do |d|
|
81
|
+
@options.duration = d
|
82
|
+
end
|
83
|
+
end # initialize
|
84
|
+
|
85
|
+
# Parsing of basic and common options for sender and receiver client
|
86
|
+
# ==== Parameters
|
87
|
+
# args:: arguments to parse
|
88
|
+
def parse(args)
|
89
|
+
@opt_parser.parse(args)
|
90
|
+
end # parse(args)
|
91
|
+
|
92
|
+
end # class SRCommonOptionParser
|
93
|
+
|
94
|
+
end # module Options
|
95
|
+
|
96
|
+
# eof
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2017 Red Hat Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
require 'qpid_proton'
|
18
|
+
require_relative 'options/receiver_option_parser'
|
19
|
+
require_relative 'handlers/receiver_handler'
|
20
|
+
|
21
|
+
# ReceiverClient parses arguments
|
22
|
+
# and runs receiver
|
23
|
+
class ReceiverClient
|
24
|
+
|
25
|
+
# Initialization of receiver client,
|
26
|
+
# parsing receiver client arguments
|
27
|
+
# and receiver client run
|
28
|
+
# ==== Parameters
|
29
|
+
# args:: receiver client arguments
|
30
|
+
def initialize(args)
|
31
|
+
# Parse arguments
|
32
|
+
receiver_options_parser = Options::ReceiverOptionParser.new(args)
|
33
|
+
# Create receiver handler
|
34
|
+
receiver_handler = Handlers::ReceiverHandler.new(
|
35
|
+
receiver_options_parser.options.broker,
|
36
|
+
receiver_options_parser.options.log_msgs,
|
37
|
+
receiver_options_parser.options.msg_content_hashed,
|
38
|
+
receiver_options_parser.options.count,
|
39
|
+
receiver_options_parser.options.prefetch,
|
40
|
+
receiver_options_parser.options.process_reply_to,
|
41
|
+
receiver_options_parser.options.browse,
|
42
|
+
receiver_options_parser.options.selector,
|
43
|
+
receiver_options_parser.options.sasl_mechs,
|
44
|
+
receiver_options_parser.options.idle_timeout,
|
45
|
+
receiver_options_parser.options.max_frame_size,
|
46
|
+
receiver_options_parser.options.sasl_enabled,
|
47
|
+
receiver_options_parser.options.log_lib,
|
48
|
+
receiver_options_parser.options.recv_listen,
|
49
|
+
receiver_options_parser.options.recv_listen_port,
|
50
|
+
receiver_options_parser.options.auto_settle_off,
|
51
|
+
receiver_options_parser.options.exit_timer,
|
52
|
+
receiver_options_parser.options.duration,
|
53
|
+
receiver_options_parser.options.duration_mode
|
54
|
+
)
|
55
|
+
# Run receiver client
|
56
|
+
Qpid::Proton::Container.new(receiver_handler).run
|
57
|
+
end
|
58
|
+
|
59
|
+
end # class ReceiverClient
|
60
|
+
|
61
|
+
# eof
|
@@ -0,0 +1,69 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2017 Red Hat Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
require 'qpid_proton'
|
18
|
+
require_relative 'options/sender_option_parser'
|
19
|
+
require_relative 'handlers/sender_handler'
|
20
|
+
|
21
|
+
# SenderClient parses arguments
|
22
|
+
# and runs sender
|
23
|
+
class SenderClient
|
24
|
+
|
25
|
+
# Initialization of sender client,
|
26
|
+
# parsing sender client arguments
|
27
|
+
# and sender client run
|
28
|
+
# ==== Parameters
|
29
|
+
# args:: sender client arguments
|
30
|
+
def initialize(args)
|
31
|
+
# Parse arguments
|
32
|
+
sender_options_parser = Options::SenderOptionParser.new(args)
|
33
|
+
# Create sender handler
|
34
|
+
sender_handler = Handlers::SenderHandler.new(
|
35
|
+
sender_options_parser.options.broker,
|
36
|
+
sender_options_parser.options.log_msgs,
|
37
|
+
sender_options_parser.options.msg_content_hashed,
|
38
|
+
sender_options_parser.options.count,
|
39
|
+
sender_options_parser.options.msg_properties,
|
40
|
+
sender_options_parser.options.msg_content,
|
41
|
+
sender_options_parser.options.msg_content_type,
|
42
|
+
sender_options_parser.options.msg_durable,
|
43
|
+
sender_options_parser.options.msg_ttl,
|
44
|
+
sender_options_parser.options.msg_correlation_id,
|
45
|
+
sender_options_parser.options.msg_reply_to,
|
46
|
+
sender_options_parser.options.msg_group_id,
|
47
|
+
sender_options_parser.options.msg_to,
|
48
|
+
sender_options_parser.options.msg_priority,
|
49
|
+
sender_options_parser.options.msg_id,
|
50
|
+
sender_options_parser.options.msg_user_id,
|
51
|
+
sender_options_parser.options.msg_subject,
|
52
|
+
sender_options_parser.options.anonymous,
|
53
|
+
sender_options_parser.options.sasl_mechs,
|
54
|
+
sender_options_parser.options.idle_timeout,
|
55
|
+
sender_options_parser.options.max_frame_size,
|
56
|
+
sender_options_parser.options.sasl_enabled,
|
57
|
+
sender_options_parser.options.log_lib,
|
58
|
+
sender_options_parser.options.auto_settle_off,
|
59
|
+
sender_options_parser.options.exit_timer,
|
60
|
+
sender_options_parser.options.duration,
|
61
|
+
sender_options_parser.options.duration_mode
|
62
|
+
)
|
63
|
+
# Run sender client
|
64
|
+
Qpid::Proton::Container.new(sender_handler).run
|
65
|
+
end
|
66
|
+
|
67
|
+
end # class SenderClient
|
68
|
+
|
69
|
+
# eof
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
3
|
+
# distributed with this work for additional information
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
6
|
+
# "License"); you may not use this file except in compliance
|
7
|
+
# with the License. You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# Create a Duration at the start of the process and use it to sleep for delays
|
19
|
+
class Duration
|
20
|
+
# @param duration the total duration
|
21
|
+
# @param count the number of evenly-spaced delays within the duration
|
22
|
+
# @param mode only delay for this mode
|
23
|
+
def initialize(duration, count, mode)
|
24
|
+
@delay = count > 0 ? duration / count : 0 # Time for each delay
|
25
|
+
@deadline = Time.now + @delay # End time of next call to #delay
|
26
|
+
@mode = mode
|
27
|
+
end
|
28
|
+
|
29
|
+
attr_reader :mode
|
30
|
+
|
31
|
+
# Return nil if mode != self.mode.
|
32
|
+
# Return the next delay period, taking account of cumulative time taken so far.
|
33
|
+
# If block given, call with the delay period.
|
34
|
+
def delay(mode)
|
35
|
+
if mode == @mode
|
36
|
+
d = @deadline - Time.now
|
37
|
+
d = 0 if d < 0 # No negative delays
|
38
|
+
@deadline += @delay
|
39
|
+
block_given? ? yield(d) : d
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def zero?() @delay.zero?; end
|
44
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2017 Red Hat Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
# Module containing environment utilities for cli-proton-ruby clients
|
18
|
+
module EnvUtils
|
19
|
+
|
20
|
+
# Function to set environment variable for client library logging
|
21
|
+
# ==== Parameters
|
22
|
+
# level:: log level to set and use
|
23
|
+
def self.set_log_lib_env(level)
|
24
|
+
case level
|
25
|
+
when "TRANSPORT_FRM"
|
26
|
+
ENV['PN_TRACE_FRM'] = "true"
|
27
|
+
when "TRANSPORT_RAW"
|
28
|
+
ENV['PN_TRACE_RAW'] = "true"
|
29
|
+
when "TRANSPORT_DRV"
|
30
|
+
ENV['PN_TRACE_DRV'] = "true"
|
31
|
+
when "NONE"
|
32
|
+
else
|
33
|
+
raise ArgumentError, "Invalid client library logging level: #{level}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end # module EnvUtils
|
38
|
+
|
39
|
+
# eof
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# Licensed to the Apache Software Foundation (ASF) under one
|
2
|
+
# or more contributor license agreements. See the NOTICE file
|
3
|
+
# distributed with this work for additional information
|
4
|
+
# regarding copyright ownership. The ASF licenses this file
|
5
|
+
# to you under the Apache License, Version 2.0 (the
|
6
|
+
# "License"); you may not use this file except in compliance
|
7
|
+
# with the License. You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing,
|
12
|
+
# software distributed under the License is distributed on an
|
13
|
+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
+
# KIND, either express or implied. See the License for the
|
15
|
+
# specific language governing permissions and limitations
|
16
|
+
# under the License.
|
17
|
+
|
18
|
+
# Timer that exits the process if it expires.
|
19
|
+
# Use a timer thread, as the Qpid::Proton::Container does not yet provide scheduled tasks.
|
20
|
+
|
21
|
+
class ExitTimer
|
22
|
+
|
23
|
+
attr_reader :timeout
|
24
|
+
|
25
|
+
# Start the timer to exit after timeout.
|
26
|
+
def initialize(timeout)
|
27
|
+
@timeout = timeout
|
28
|
+
@lock = Mutex.new
|
29
|
+
reset
|
30
|
+
Thread.new do
|
31
|
+
while (delta = @lock.synchronize { @deadline - Time.now } ) > 0
|
32
|
+
sleep delta
|
33
|
+
end
|
34
|
+
puts "timeout expired"
|
35
|
+
exit(0)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
# Reset the timer to count to timeout from now
|
40
|
+
def reset()
|
41
|
+
@lock.synchronize { @deadline = Time.now + @timeout }
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2017 Red Hat Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
require 'digest'
|
18
|
+
|
19
|
+
# Module containing string utilities for cli-proton-ruby clients
|
20
|
+
module StringUtils
|
21
|
+
|
22
|
+
# Function to check if string variable is convertible to integer
|
23
|
+
# ==== Parameters
|
24
|
+
# value:: string variable to convert
|
25
|
+
# ==== Returns
|
26
|
+
# true if string variable is convertible to integer, false otherwise
|
27
|
+
def self.str_is_int?(value)
|
28
|
+
!Integer(value).nil? rescue false
|
29
|
+
end
|
30
|
+
|
31
|
+
# Function to check if string variable is convertible to float
|
32
|
+
# ==== Parameters
|
33
|
+
# value:: string variable to convert
|
34
|
+
# ==== Returns
|
35
|
+
# true if string variable is convertible to float, false otherwise
|
36
|
+
def self.str_is_float?(value)
|
37
|
+
!Float(value).nil? rescue false
|
38
|
+
end
|
39
|
+
|
40
|
+
# Function to check if string variable is convertible to client bool value
|
41
|
+
# ==== Returns
|
42
|
+
# true if string variable is convertible to client bool value, false otherwise
|
43
|
+
def self.str_is_bool?(value)
|
44
|
+
begin
|
45
|
+
str_to_bool value
|
46
|
+
rescue ArgumentError
|
47
|
+
return false
|
48
|
+
end
|
49
|
+
|
50
|
+
return true
|
51
|
+
end
|
52
|
+
|
53
|
+
# Function to convert string variable to client bool value
|
54
|
+
# (yes/no|True/False|true/false)
|
55
|
+
# ==== Parameters
|
56
|
+
# value:: string variable to convert
|
57
|
+
# ==== Returns
|
58
|
+
# bool value of the variable
|
59
|
+
# ==== Raises
|
60
|
+
# ArgumentError for invalid argument
|
61
|
+
def self.str_to_bool(value)
|
62
|
+
# If positive value
|
63
|
+
if ["yes", "True", "true"].include?(value)
|
64
|
+
# Return true
|
65
|
+
return true
|
66
|
+
# If negative value
|
67
|
+
elsif ["no", "False", "false"].include?(value)
|
68
|
+
# Return false
|
69
|
+
return false
|
70
|
+
end
|
71
|
+
# If value is not convertible, raise ArgumentError
|
72
|
+
raise ArgumentError, "invalid value for Boolean(): \"#{value}\""
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.sha1_hash(value)
|
76
|
+
Digest::SHA1.hexdigest value.to_s
|
77
|
+
end
|
78
|
+
|
79
|
+
end # module StringUtils
|
80
|
+
|
81
|
+
# eof
|
metadata
ADDED
@@ -0,0 +1,98 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cli-proton-ruby
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Radim Kubis
|
8
|
+
- Jiri Danek
|
9
|
+
- Alan Conway
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2019-01-03 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: qpid_proton
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0.26'
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.26.0
|
25
|
+
type: :runtime
|
26
|
+
prerelease: false
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - "~>"
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: '0.26'
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: 0.26.0
|
35
|
+
description: cli-proton-ruby is a collection of commandline messaging clients suitable
|
36
|
+
for interacting with Message Oriented Middleware.
|
37
|
+
email: rkubis@redhat.com
|
38
|
+
executables:
|
39
|
+
- cli-proton-ruby-connector
|
40
|
+
- cli-proton-ruby-receiver
|
41
|
+
- cli-proton-ruby-sender
|
42
|
+
extensions: []
|
43
|
+
extra_rdoc_files: []
|
44
|
+
files:
|
45
|
+
- bin/cli-proton-ruby-connector
|
46
|
+
- bin/cli-proton-ruby-receiver
|
47
|
+
- bin/cli-proton-ruby-sender
|
48
|
+
- lib/connector_client.rb
|
49
|
+
- lib/constants.rb
|
50
|
+
- lib/defaults.rb
|
51
|
+
- lib/formatters.rb
|
52
|
+
- lib/formatters/basic_formatter.rb
|
53
|
+
- lib/formatters/dict_formatter.rb
|
54
|
+
- lib/formatters/interop_formatter.rb
|
55
|
+
- lib/handlers.rb
|
56
|
+
- lib/handlers/basic_handler.rb
|
57
|
+
- lib/handlers/connector_handler.rb
|
58
|
+
- lib/handlers/receiver_handler.rb
|
59
|
+
- lib/handlers/sender_handler.rb
|
60
|
+
- lib/handlers/sr_common_handler.rb
|
61
|
+
- lib/options.rb
|
62
|
+
- lib/options/basic_option_parser.rb
|
63
|
+
- lib/options/connector_option_parser.rb
|
64
|
+
- lib/options/receiver_option_parser.rb
|
65
|
+
- lib/options/sender_option_parser.rb
|
66
|
+
- lib/options/sr_common_option_parser.rb
|
67
|
+
- lib/receiver_client.rb
|
68
|
+
- lib/sender_client.rb
|
69
|
+
- lib/utils/duration.rb
|
70
|
+
- lib/utils/env_utils.rb
|
71
|
+
- lib/utils/exit_timer.rb
|
72
|
+
- lib/utils/string_utils.rb
|
73
|
+
homepage: http://rubygems.org/gems/cli-proton-ruby
|
74
|
+
licenses:
|
75
|
+
- Apache-2.0
|
76
|
+
metadata:
|
77
|
+
source_code_uri: https://github.com/rh-messaging/cli-proton-ruby
|
78
|
+
post_install_message:
|
79
|
+
rdoc_options: []
|
80
|
+
require_paths:
|
81
|
+
- lib
|
82
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 2.0.0p648
|
87
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '0'
|
92
|
+
requirements: []
|
93
|
+
rubyforge_project:
|
94
|
+
rubygems_version: 2.7.6
|
95
|
+
signing_key:
|
96
|
+
specification_version: 4
|
97
|
+
summary: Qpid Proton Ruby commandline clients
|
98
|
+
test_files: []
|