paho 0.0.1-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8906f97e2ee05df5e70001f37cd6e1739c9c6d45
4
+ data.tar.gz: c9093bb1b61478e350e00d3300432dbad310b31d
5
+ SHA512:
6
+ metadata.gz: 9378c01aeacdb7e75d9b2aadde3d2ec2cffd257a652308596f8bcc6169a7f75265256ded31535e0f62ad9c9eec92940f9bbdc8324de12a1c14c919cd8ba3aed6
7
+ data.tar.gz: 5f2d91641f111ede80eddad62d6ce543f036d3333be289b764cb8c5bc357c19f115d17ad61aa7dcb0c676893db1a955b0a6c126851594056f43ff12f42990097
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.idea/
3
+ /.mvn/
4
+ /.ruby-version
5
+ /.yardoc
6
+ /Gemfile.lock
7
+ /_yardoc/
8
+ /coverage/
9
+ /doc/
10
+ /pkg/
11
+ /spec/reports/
12
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - jruby-1.7.24
4
+ - jruby-9.0.5.0
5
+ before_install: gem install bundler -v 1.11.2
6
+ cache: bundler
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at andrei@andreimaxim.ro. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in paho.gemspec
4
+ gemspec
5
+
6
+ gem 'codeclimate-test-reporter', group: :test, require: nil
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Andrei Maxim
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,67 @@
1
+ [![Build Status](https://travis-ci.org/andreimaxim/paho-rb.svg?branch=master)](https://travis-ci.org/andreimaxim/paho-rb)
2
+ [![Test Coverage](https://codeclimate.com/github/andreimaxim/paho-rb/badges/coverage.svg)](https://codeclimate.com/github/andreimaxim/paho-rb/coverage)
3
+ [![Code Climate](https://codeclimate.com/github/andreimaxim/paho-rb/badges/gpa.svg)](https://codeclimate.com/github/andreimaxim/paho-rb)
4
+ [![Dependency Status](https://gemnasium.com/andreimaxim/paho-rb.svg)](https://gemnasium.com/andreimaxim/paho-rb)
5
+
6
+ # Paho
7
+
8
+ The Eclipse Paho project provides a set of clients for the MQTT v3 protocol
9
+ (C/C++, Java, JavaScript, Python, Go and .NET) which implement more advanced
10
+ features, like asynchronous pub/sub or QoS 2.
11
+
12
+ Unfortunately, there isn't an implementation specific for Ruby and the only
13
+ Ruby gem that implements a similar client is Nicholas Humfrey's
14
+ [ruby-mqtt][rubymqtt], which does not offer QoS 2.
15
+
16
+ [rubymqtt]: https://github.com/njh/ruby-mqtt
17
+
18
+ The aim of this project is to provide a Ruby interface for the Paho
19
+ implementations (the Java client for JRuby and the C/C++ client for
20
+ MRI/Rubinius).
21
+
22
+ > This project is not associated in any way with the Eclipse Paho project
23
+
24
+ ## Installation
25
+
26
+ > Currently the only supported platform is JRuby
27
+
28
+ You may get the latest version from Rubygems:
29
+
30
+ ```bash
31
+ $ gem install paho
32
+ ```
33
+
34
+ You can also add it to your application's Gemfile:
35
+
36
+ ```ruby
37
+ gem 'paho'
38
+ ```
39
+
40
+ ... and then execute `bundle` to install.
41
+
42
+
43
+ ## Usage
44
+
45
+ Before going any further, it's important to mention that the Java library does
46
+ not offer a synchronous client (the regular client actually implements
47
+ `MqttAsyncClient`).
48
+
49
+
50
+ ```ruby
51
+ processor = Paho::Processor::Base.new
52
+ Paho::Proxy.subscribe(processor)
53
+ ```
54
+
55
+ ## Development
56
+
57
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run
58
+ `bin/console` for an interactive prompt that will allow you to experiment.
59
+
60
+
61
+ ## Contributing
62
+
63
+ 1. Fork it ( https://github.com/andreimaxim/paho/fork )
64
+ 2. Create your feature branch (git checkout -b my-new-feature)
65
+ 3. Commit your changes (git commit -am 'Add some feature')
66
+ 4. Push to the branch (git push origin my-new-feature)
67
+ 5. Create a new Pull Request
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "paho"
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
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMQ8wDQYDVQQDDAZhbmRy
3
+ ZWkxGzAZBgoJkiaJk/IsZAEZFgthbmRyZWltYXhpbTESMBAGCgmSJomT8ixkARkW
4
+ AnJvMB4XDTE2MDMwMTA2NTgyNFoXDTE3MDMwMTA2NTgyNFowQjEPMA0GA1UEAwwG
5
+ YW5kcmVpMRswGQYKCZImiZPyLGQBGRYLYW5kcmVpbWF4aW0xEjAQBgoJkiaJk/Is
6
+ ZAEZFgJybzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMKG4jiyuIkj
7
+ dKrb/FmDSZvCJ10A98JXZDSQZERIJtMactmcHfgYkXdpXfLH4gcbOyy9u3kh+uJx
8
+ Z4VcOKMtOJYH/gC1fQWDV4Y5J5B39+qRMQQWf+YbNdmBYRI5S4JmXxjmbbW1hzaT
9
+ hjl4omfcECpNQeF1xoIfD4xCd/8amNxV1LJenpAfGvxUt1RjbhBOCSw1GZ0HSZVG
10
+ n2MMGPaok6ko2TKF/aC7sI3VoCPfTGJeYmEJ6vSoM8fkm9Zf8KA57x/pZdTJLigk
11
+ OEjIidqFPOHqei2bTczc4st/9c//wEw16u/lIc1xMcyshR4Wupu+gLqZ0B4GOff7
12
+ gNz7ys6nNUkCAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
13
+ BBYEFPkPDROvRN4YBVAUMbzaOEyxgnODMCAGA1UdEQQZMBeBFWFuZHJlaUBhbmRy
14
+ ZWltYXhpbS5ybzAgBgNVHRIEGTAXgRVhbmRyZWlAYW5kcmVpbWF4aW0ucm8wDQYJ
15
+ KoZIhvcNAQEFBQADggEBAHk/PaQhYVAjgPA51yJZcR2GK3xr8GrOtKULprQisvMS
16
+ 3LXdvtMqs18U08m9dWmzeB5ARKYTcm9lpaV6KhxoDjypZuOXX0u+vWYGEbgJhn3E
17
+ MJc3QCX7909iy6o9RpCRKtPzeHMdeqKB7a9E+EF5Znzo/y1yUagLkk+LJCvE8G6Z
18
+ rxYXd7bTvBpDLs8ns/HlgEckYxdYwXJPWLcNAI9p0rYTwF2kbs2ObxUEq/cuN1/9
19
+ IygC46GdwYXnTJC2bZP9ArhJM/y+J/RMRHnFcE7FTaYI+vR7MGgsQrBbcvblgmf1
20
+ CYTp6Bqdn1/GgGlPXiFwTVYLMpZnihZKdsDpQRSs8ak=
21
+ -----END CERTIFICATE-----
@@ -0,0 +1,17 @@
1
+ require 'paho/version'
2
+ require 'paho_jars' # Generated by jar-dependencies to autoload the jar files
3
+ # so the require '<name>.jar' is no longer needed.
4
+
5
+ module Paho
6
+ # Make the Java package available in the current module, which will act as a
7
+ # namespace. It should allow the code to call the Paho Java code like this:
8
+ #
9
+ # Paho::MqttClient.new(uri, id, persist)
10
+ #
11
+ # ... where `MqttClient` is any kind of class or interface in the
12
+ # `org.eclipse.paho.client.mqttv3` package.
13
+ include_package 'org.eclipse.paho.client.mqttv3'
14
+ end
15
+
16
+ require 'paho/proxy'
17
+ require 'paho/processor/base'
@@ -0,0 +1,4 @@
1
+ module Paho
2
+ module Logging
3
+ end
4
+ end
@@ -0,0 +1,29 @@
1
+ module Paho
2
+ module Processor
3
+ class Base
4
+ TOPIC = '#'
5
+
6
+ def initialize
7
+ puts "Starting #{self.class.name} processor"
8
+ end
9
+
10
+ def topic
11
+ self.class::TOPIC
12
+ end
13
+
14
+ def __get(t, message)
15
+ log "Listening on #{topic} got [#{t}] #{message.toString}"
16
+
17
+ get(t, message.toString)
18
+ end
19
+
20
+ alias_method :messageArrived, :__get
21
+
22
+ private
23
+
24
+ def log(m)
25
+ puts "[Paho][Processor][#{self.class.name}]: #{m}"
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,128 @@
1
+ require 'singleton'
2
+
3
+ module Paho
4
+ class Proxy
5
+ include Singleton
6
+
7
+ QOS = 2
8
+ LOCAL_MQTT = 'tcp://localhost:1883'
9
+
10
+ attr_accessor :topic
11
+ attr_accessor :qos
12
+ attr_accessor :processor
13
+
14
+ attr_reader :clients
15
+
16
+ class << self
17
+ def subscribe(processor, opts = {})
18
+ self.instance.subscribe(processor, opts)
19
+ end
20
+
21
+ def publisher
22
+ self.instance
23
+ end
24
+
25
+ def publish(topic, payload)
26
+ self.instance.publish(topic, payload)
27
+ end
28
+
29
+ def disconnect!
30
+ self.instance.disconnect!
31
+ end
32
+ end
33
+
34
+ def initialize
35
+ @clients = []
36
+ end
37
+
38
+ def connect!(opts = {})
39
+ if client.isConnected
40
+ true
41
+ else
42
+ client.connect(connection_options(opts))
43
+ end
44
+ end
45
+
46
+ # Subscribe to a topic.
47
+ #
48
+ # The required parameter has to respond to the messageArrived method.
49
+ #
50
+ # @param processor Paho::Processor An object that responds to the `topic` and `messageArrived` methods
51
+ def subscribe(processor, opts = {})
52
+ topic = processor.topic
53
+ client_id = id(topic)
54
+
55
+ qos = opts.delete(:qos) { QOS }
56
+ uri = opts.delete(:uri) { LOCAL_MQTT }
57
+
58
+ log "Creating new subscription for #{topic} with id #{client_id}"
59
+
60
+ c = Paho::MqttClient.new(uri, client_id, nil)
61
+ c.setCallback(processor)
62
+ c.connect(connection_options(opts))
63
+ c.subscribe(topic, qos)
64
+
65
+ log "Created new subscription for #{topic} with id #{client_id}"
66
+ @clients << c
67
+
68
+ true
69
+ rescue Java::OrgEclipsePahoClientMqttv3::MqttException => e
70
+ fail ArgumentError, e.message
71
+ end
72
+
73
+ # Publish an MQTT message on a topic
74
+ #
75
+ # @param topic String The topic to publish to
76
+ # @param payload String The contents of the message as a plain string
77
+ def publish(topic, payload)
78
+ connect!
79
+
80
+ message = Paho::MqttMessage.new
81
+ message.setQos 2
82
+ message.setPayload payload.to_s.to_java_bytes
83
+ message.setMutable false
84
+
85
+ log "Publishing to #{topic} #{payload}"
86
+ client.publish topic, message
87
+ log "Published to #{topic} #{payload}"
88
+ end
89
+
90
+ def client
91
+ @client ||= Paho::MqttClient.new("tcp://localhost:1883", id)
92
+ end
93
+
94
+ def disconnect!
95
+ client.disconnect if client.isConnected
96
+ @clients.each { |c| c.disconnect if c.isConnected }
97
+ end
98
+
99
+ private
100
+
101
+ # Generate an ID that is unique and repeatable for each machine. This is
102
+ # required in order to have the clean session flag work correctly.
103
+ #
104
+ # @param key String The key to use to generate the client ID.
105
+ def id(key = Socket.gethostname)
106
+ "paho-#{key.to_s.crypt('paho')}"
107
+ end
108
+
109
+ def connection_options(opts = {})
110
+ clean_session = opts.fetch(:clean_session) { true }
111
+
112
+ username = opts[:username]
113
+ password = opts[:password]
114
+
115
+ options = Paho::MqttConnectOptions.new
116
+
117
+ options.setCleanSession clean_session
118
+ options.setUserName(username) unless username.nil?
119
+ options.setPassword(password.to_java.toCharArray) unless password.nil?
120
+
121
+ options
122
+ end
123
+
124
+ def log(m)
125
+ puts m
126
+ end
127
+ end
128
+ end
@@ -0,0 +1,3 @@
1
+ module Paho
2
+ VERSION = '0.0.1'
3
+ end
@@ -0,0 +1,4 @@
1
+ # this is a generated file, to avoid over-writing it just delete this comment
2
+ require 'jar_dependencies'
3
+
4
+ require_jar( 'org.eclipse.paho', 'org.eclipse.paho.client.mqttv3', '1.0.2' )
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'paho/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'paho'
8
+ spec.version = Paho::VERSION
9
+ spec.authors = ['Andrei Maxim']
10
+ spec.email = ['andrei@andreimaxim.ro']
11
+
12
+ spec.homepage = 'https://github.com/andreimaxim/paho-rb'
13
+ spec.license = 'MIT'
14
+ spec.summary = %q{Ruby MQTT client based on the Eclipse Paho components}
15
+ spec.description = <<-EOF
16
+ paho-rb is a Ruby MQTT client that uses native bindings to the Eclipse
17
+ Paho components (Java or C/C++, based on the Ruby platform used).
18
+ EOF
19
+
20
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
+ spec.bindir = 'exe'
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ['lib']
24
+ spec.platform = 'java'
25
+
26
+ # spec.cert_chain = ['certs/andreimaxim.pem']
27
+ # spec.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $0 =~ /gem\z/
28
+
29
+ spec.add_development_dependency 'bundler', '~> 1.11'
30
+ spec.add_development_dependency 'rake', '~> 10.0'
31
+ spec.add_development_dependency 'rspec', '~> 3.0'
32
+ spec.add_development_dependency 'ruby-maven', '~> 3.3'
33
+
34
+ spec.add_runtime_dependency 'jar-dependencies', '~> 0.3'
35
+ spec.requirements << 'jar org.eclipse.paho, org.eclipse.paho.client.mqttv3, 1.0.2'
36
+ end
metadata ADDED
@@ -0,0 +1,136 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paho
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: java
6
+ authors:
7
+ - Andrei Maxim
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-03-01 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: '3.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: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.3'
61
+ name: ruby-maven
62
+ prerelease: false
63
+ type: :development
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.3'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.3'
75
+ name: jar-dependencies
76
+ prerelease: false
77
+ type: :runtime
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.3'
83
+ description: |2
84
+ paho-rb is a Ruby MQTT client that uses native bindings to the Eclipse
85
+ Paho components (Java or C/C++, based on the Ruby platform used).
86
+ email:
87
+ - andrei@andreimaxim.ro
88
+ executables: []
89
+ extensions: []
90
+ extra_rdoc_files: []
91
+ files:
92
+ - ".gitignore"
93
+ - ".rspec"
94
+ - ".travis.yml"
95
+ - CODE_OF_CONDUCT.md
96
+ - Gemfile
97
+ - LICENSE.txt
98
+ - README.md
99
+ - Rakefile
100
+ - bin/console
101
+ - bin/setup
102
+ - certs/andreimaxim.pem
103
+ - lib/org/eclipse/paho/org.eclipse.paho.client.mqttv3/1.0.2/org.eclipse.paho.client.mqttv3-1.0.2.jar
104
+ - lib/paho.rb
105
+ - lib/paho/logging.rb
106
+ - lib/paho/processor/base.rb
107
+ - lib/paho/proxy.rb
108
+ - lib/paho/version.rb
109
+ - lib/paho_jars.rb
110
+ - paho.gemspec
111
+ homepage: https://github.com/andreimaxim/paho-rb
112
+ licenses:
113
+ - MIT
114
+ metadata: {}
115
+ post_install_message:
116
+ rdoc_options: []
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ required_rubygems_version: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ requirements:
130
+ - jar org.eclipse.paho, org.eclipse.paho.client.mqttv3, 1.0.2
131
+ rubyforge_project:
132
+ rubygems_version: 2.4.8
133
+ signing_key:
134
+ specification_version: 4
135
+ summary: Ruby MQTT client based on the Eclipse Paho components
136
+ test_files: []