aws_iot_device 0.1.5 → 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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +155 -148
  4. data/aws_iot_device.gemspec +11 -11
  5. data/codeclimate.yml +6 -0
  6. data/lib/aws_iot_device.rb +2 -1
  7. data/lib/aws_iot_device/mqtt_adapter.rb +1 -2
  8. data/lib/aws_iot_device/mqtt_adapter/client.rb +74 -6
  9. data/lib/aws_iot_device/mqtt_adapter/paho_mqtt_adapter.rb +207 -0
  10. data/lib/aws_iot_device/mqtt_adapter/ruby_mqtt_adapter.rb +10 -4
  11. data/lib/aws_iot_device/mqtt_shadow_client.rb +1 -0
  12. data/lib/aws_iot_device/mqtt_shadow_client/mqtt_manager.rb +133 -67
  13. data/lib/aws_iot_device/mqtt_shadow_client/shadow_action_manager.rb +229 -146
  14. data/lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb +78 -20
  15. data/lib/aws_iot_device/mqtt_shadow_client/shadow_topic_manager.rb +51 -26
  16. data/lib/aws_iot_device/mqtt_shadow_client/topic_builder.rb +15 -30
  17. data/lib/aws_iot_device/version.rb +1 -1
  18. data/samples/config_shadow.rb +72 -0
  19. data/samples/mqtt_client_samples/mqtt_client_samples.rb +7 -59
  20. data/samples/shadow_action_samples/sample_shadow_action_update.rb +7 -61
  21. data/samples/shadow_client_samples/samples_shadow_client_block.rb +25 -0
  22. data/samples/shadow_client_samples/samples_shadow_client_delete.rb +9 -58
  23. data/samples/shadow_client_samples/samples_shadow_client_description.rb +64 -0
  24. data/samples/shadow_client_samples/samples_shadow_client_get.rb +11 -62
  25. data/samples/shadow_client_samples/samples_shadow_client_getting_started.rb +22 -0
  26. data/samples/shadow_client_samples/samples_shadow_client_update.rb +7 -58
  27. data/samples/shadow_topic_samples/sample_topic_manager.rb +10 -61
  28. metadata +71 -16
  29. data/lib/aws_iot_device/mqtt_adapter/mqtt_adapter.rb +0 -139
@@ -0,0 +1,64 @@
1
+ require "aws_iot_device"
2
+
3
+ host = "AWS IoT endpoint"
4
+ port = 8883
5
+ thing = "Thing Name"
6
+ root_ca_path = "Path to your CA certificate"
7
+ private_key_path = "Path to your private key"
8
+ certificate_path = "Path to your certificate"
9
+
10
+ # Create a new client with empty arguments
11
+ shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
12
+
13
+ # Configure the endpoint and the port the client would connect
14
+ shadow_client.configure_endpoint(host, port)
15
+
16
+ # Configure the credentials to enable a connection over TLS/SSL encryption
17
+ shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
18
+
19
+ # Create an event handler to bind the client with the remote thing in a persistent mode
20
+ shadow_client.create_shadow_handler_with_name(thing, true)
21
+
22
+ # Local timeout used for operation
23
+ timeout = 4
24
+
25
+ # Send a connect request to the AWS IoT platform
26
+ shadow_client.connect
27
+
28
+ # Register a callback for the get action as a block
29
+ shadow_client.register_get_callback do
30
+ puts "generic callback for get action"
31
+ end
32
+
33
+ # Register a callback for the delete action as a proc
34
+ shadow_client.register_delete_callback(proc { puts "generic callback for delete action"})
35
+
36
+ # Register a callback for the update action as a lambda
37
+ shadow_client.register_update_callback(lambda {|_message| puts "generic callback for update action"})
38
+
39
+ # Register a callback for the delta events
40
+ shadow_client.register_delta_callback do
41
+ puts "delta have been catch in a callback"
42
+ end
43
+
44
+ # Send a get request with an associated callback in a block
45
+ shadow_client.get_shadow do
46
+ puts "get thing"
47
+ end
48
+
49
+ # Send a delete request with an associated callback in a proc
50
+ shadow_client.delete_shadow(timeout, proc {puts "delete thing"})
51
+
52
+ # Send a udpate request with an associated callback in a lambda
53
+ shadow_client.update_shadow("{\"state\":{\"desired\":{\"message\":\"Hello\"}}}", timeout, lambda {|_message| puts "update thing"})
54
+
55
+ # Sleep to assert all opereation have been processed
56
+ sleep timeout
57
+
58
+ # Clear out the previously registered callback for each action
59
+ shadow_client.remove_get_callback
60
+ shadow_client.remove_update_callback
61
+ shadow_client.remove_delete_callback
62
+
63
+ # Explicit disconnect from the AWS IoT platform
64
+ shadow_client.disconnect
@@ -1,74 +1,23 @@
1
- require 'aws_iot_device'
2
- require 'optparse'
3
-
4
- options = {}
5
-
6
- OptionParser.new do |opts|
7
- opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
8
-
9
- opts.separator ""
10
- opts.separator "Common options"
11
- opts.on_tail("-h", "--help", "--usage", "Show this message") do
12
- puts opts
13
- exit
14
- end
15
-
16
- opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
17
- options[:host] = host
18
- end
19
-
20
- opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
21
- options[:port] = port
22
- end
23
-
24
- opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
25
- options[:cert] = cert
26
- end
27
-
28
- opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
29
- options[:key] = key
30
- end
31
-
32
- opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
33
- options[:root_ca] = root_ca
34
- end
35
-
36
- opts.on("-t", "--thing [THING_NAME]", "The Thing name on which the action would be done") do |thing|
37
- options[:things] = thing
38
- end
39
- end.parse!(ARGV)
40
-
41
-
42
- host = options[:host]
43
- port = options[:port] || 8883
44
- certificate_path = options[:cert]
45
- private_key_path = options[:key]
46
- root_ca_path = options[:root_ca]
47
- thing = options[:things]
48
-
49
- my_shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
50
- my_shadow_client.configure_endpoint(host, port)
51
- my_shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
52
-
53
- my_shadow_client.connect
54
-
55
- my_shadow_client.create_shadow_handler_with_name(thing ,false)
1
+ $:.unshift(File.expand_path("../../../samples", __FILE__))
56
2
 
3
+ require 'aws_iot_device'
4
+ require 'config_shadow'
57
5
 
58
6
  filter_callback = Proc.new do |message|
59
7
  puts "Executing the specific callback for topic: #{message.topic}\n##########################################\n"
60
8
  end
61
9
 
10
+ my_shadow_client = setting_shadow
11
+
62
12
  puts "##### Starting test_shadow_client_get ######"
63
- my_shadow_client.get_shadow(filter_callback, 4)
64
- sleep 5
13
+ my_shadow_client.get_shadow(2, filter_callback)
65
14
 
66
15
  puts "##### Starting test_shadow_client_get ######"
67
- my_shadow_client.get_shadow(nil, 4)
68
- sleep 5
16
+ my_shadow_client.get_shadow do
17
+ puts "Block callback for a token"
18
+ end
69
19
 
70
20
  puts "##### Starting test_shadow_client_get ######"
71
- my_shadow_client.get_shadow(filter_callback, 4)
72
- sleep 5
21
+ my_shadow_client.get_shadow(2, filter_callback)
73
22
 
74
- my_shadow_client.disconnect
23
+ sleep 3
@@ -0,0 +1,22 @@
1
+ require "aws_iot_device"
2
+
3
+ host = "AWS IoT endpoint"
4
+ port = 8883
5
+ thing = "Thing Name"
6
+ root_ca_path = "Path to your CA certificate"
7
+ private_key_path = "Path to your private key"
8
+ certificate_path = "Path to your certificate"
9
+
10
+ shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
11
+ shadow_client.configure_endpoint(host, port)
12
+ shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
13
+ shadow_client.create_shadow_handler_with_name(thing, true)
14
+
15
+ shadow_client.connect
16
+ shadow_client.get_shadow do |_message|
17
+ # Do what you want with the get_shadow's answer
18
+ p ":)"
19
+ end
20
+ sleep 2 #Timer to ensure that the answer is received
21
+
22
+ shadow_client.disconnect
@@ -1,59 +1,7 @@
1
- require 'aws_iot_device'
2
- require 'optparse'
3
- require 'json'
4
-
5
- options = {}
6
-
7
- OptionParser.new do |opts|
8
- opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
9
-
10
- opts.separator ""
11
- opts.separator "Common options"
12
- opts.on_tail("-h", "--help", "--usage", "Show this message") do
13
- puts opts
14
- exit
15
- end
16
-
17
- opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
18
- options[:host] = host
19
- end
20
-
21
- opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
22
- options[:port] = port
23
- end
24
-
25
- opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
26
- options[:cert] = cert
27
- end
28
-
29
- opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
30
- options[:key] = key
31
- end
32
-
33
- opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
34
- options[:root_ca] = root_ca
35
- end
36
-
37
- opts.on("-t", "--thing [THING_NAME]", "The Thing name on which the action would be done") do |thing|
38
- options[:things] = thing
39
- end
40
- end.parse!(ARGV)
41
-
1
+ $:.unshift(File.expand_path("../../../samples", __FILE__))
42
2
 
43
- host = options[:host]
44
- port = options[:port] || 8883
45
- certificate_path = options[:cert]
46
- private_key_path = options[:key]
47
- root_ca_path = options[:root_ca]
48
- thing = options[:things]
49
-
50
- my_shadow_client = AwsIotDevice::MqttShadowClient::ShadowClient.new
51
- my_shadow_client.configure_endpoint(host, port)
52
- my_shadow_client.configure_credentials(root_ca_path, private_key_path, certificate_path)
53
-
54
- my_shadow_client.connect
55
-
56
- my_shadow_client.create_shadow_handler_with_name(thing, true)
3
+ require 'aws_iot_device'
4
+ require 'config_shadow'
57
5
 
58
6
  filter_callback = Proc.new do |message|
59
7
  puts "Executing the specific callback for topic: #{message.topic}\n##########################################\n"
@@ -64,18 +12,19 @@ delta_callback = Proc.new do |delta|
64
12
  puts "Catching a new message : #{message["state"]["message"]}\n##########################################\n"
65
13
  end
66
14
 
15
+ my_shadow_client = setting_shadow
67
16
  my_shadow_client.register_delta_callback(delta_callback)
68
17
 
69
18
  n = 1
70
19
  3.times do
71
- puts "Type the message that you want to register in the thing [#{thing}]:"
20
+ puts "Type the message that you want to register in the thing:"
72
21
  entry = $stdin.readline()
73
22
  json_payload = "{\"state\":{\"desired\":{\"message\":\"#{entry.delete!("\n")}\"}}}"
74
- my_shadow_client.update_shadow(json_payload, filter_callback, 5)
23
+ my_shadow_client.update_shadow(json_payload, 5, filter_callback)
75
24
  puts "#{3 - n} Message(s) left"
76
- sleep 2
77
25
  n += 1
78
26
  end
79
27
 
28
+ sleep 3
80
29
 
81
30
  my_shadow_client.disconnect
@@ -1,61 +1,11 @@
1
- require "aws_iot_device"
2
- require 'optparse'
1
+ $:.unshift(File.expand_path("../../../samples", __FILE__))
3
2
 
4
- options = {}
3
+ require 'aws_iot_device'
4
+ require 'config_shadow'
5
5
 
6
- OptionParser.new do |opts|
7
- opts.banner = "Basic usage basic_greeting.rb -c \"YOUR_CERTIFICATE_PATH\" -k \"YOUR_KEY_FILE_PATH\" -ca \"YOUR_ROOT_CA_PATH -H \"YOUR_ENDPOINT\" -p 8883\n"
8
-
9
- opts.separator ""
10
- opts.separator "Common options"
11
- opts.on_tail("-h", "--help", "--usage", "Show this message") do
12
- puts opts
13
- exit
14
- end
15
-
16
- opts.on("-H", "--host [END_POINT]", "The endpoint where you want to connect") do |host|
17
- options[:host] = host
18
- end
19
-
20
- opts.on("-p", "--port [MQTT_PORT]", "The port used for the connection Default is 8883") do |port|
21
- options[:port] = port
22
- end
23
-
24
- opts.on("-c", "--cert [CERT_FILE_PATH]", "The path to the certificate file of the private key.") do |cert|
25
- options[:cert] = cert
26
- end
27
-
28
- opts.on("-k", "--key [KEY_FILE_PATH]", "The path to private key file that would be used for encryption") do |key|
29
- options[:key] = key
30
- end
31
-
32
- opts.on("-a", "--root_ca [ROOT_CA_PATH]", "The path to the authority certification file") do |root_ca|
33
- options[:root_ca] = root_ca
34
- end
6
+ mqtt_client = setting_mqtt_client
35
7
 
36
- opts.on("-t", "--thing [THING_NAME]", "The Thing name on which the action would be done") do |thing|
37
- options[:things] = thing
38
- end
39
- end.parse!(ARGV)
40
-
41
-
42
- host = options[:host]
43
- port = options[:port] || 8883
44
- certificate_path = options[:cert]
45
- private_key_path = options[:key]
46
- root_ca_path = options[:root_ca]
47
- thing = options[:things]
48
-
49
- manager = AwsIotDevice::MqttShadowClient::MqttManager.new(host: host,
50
- port: port,
51
- ssl: true,
52
- cert_file: certificate_path,
53
- key_file: private_key_path,
54
- ca_file: root_ca_path)
55
-
56
- manager.connect
57
-
58
- cli = AwsIotDevice::MqttShadowClient::ShadowTopicManager.new(manager)
8
+ topic_client = setting_topic_manager(mqtt_client)
59
9
 
60
10
  filter_callback = Proc.new do |message|
61
11
  puts "Received (through filtered callback) : "
@@ -64,14 +14,13 @@ filter_callback = Proc.new do |message|
64
14
  puts "###################"
65
15
  end
66
16
 
67
- cli.shadow_topic_subscribe(thing, "get", filter_callback)
68
-
69
- sleep 1
17
+ topic_client.shadow_topic_subscribe("get", filter_callback)
70
18
 
71
19
  4.times do
72
- cli.shadow_topic_publish(thing, "get", "")
73
- sleep 1
20
+ topic_client.shadow_topic_publish("get", "")
74
21
  end
75
22
 
76
- manager.disconnect
23
+ sleep 2
24
+
25
+ mqtt_client.disconnect
77
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_iot_device
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre Goudet
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-09-08 00:00:00.000000000 Z
11
+ date: 2017-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: '1.10'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,20 +27,29 @@ dependencies:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.10'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '1.10'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: pry
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 0.10.4
31
40
  - - ">="
32
41
  - !ruby/object:Gem::Version
33
- version: '0'
42
+ version: 0.10.4
34
43
  type: :development
35
44
  prerelease: false
36
45
  version_requirements: !ruby/object:Gem::Requirement
37
46
  requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: 0.10.4
38
50
  - - ">="
39
51
  - !ruby/object:Gem::Version
40
- version: '0'
52
+ version: 0.10.4
41
53
  - !ruby/object:Gem::Dependency
42
54
  name: rake
43
55
  requirement: !ruby/object:Gem::Requirement
@@ -45,6 +57,9 @@ dependencies:
45
57
  - - "~>"
46
58
  - !ruby/object:Gem::Version
47
59
  version: '10.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '1.10'
48
63
  type: :development
49
64
  prerelease: false
50
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,20 +67,29 @@ dependencies:
52
67
  - - "~>"
53
68
  - !ruby/object:Gem::Version
54
69
  version: '10.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: '1.10'
55
73
  - !ruby/object:Gem::Dependency
56
74
  name: rspec
57
75
  requirement: !ruby/object:Gem::Requirement
58
76
  requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 3.5.0
59
80
  - - ">="
60
81
  - !ruby/object:Gem::Version
61
- version: '0'
82
+ version: 3.5.0
62
83
  type: :development
63
84
  prerelease: false
64
85
  version_requirements: !ruby/object:Gem::Requirement
65
86
  requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 3.5.0
66
90
  - - ">="
67
91
  - !ruby/object:Gem::Version
68
- version: '0'
92
+ version: 3.5.0
69
93
  - !ruby/object:Gem::Dependency
70
94
  name: facets
71
95
  requirement: !ruby/object:Gem::Requirement
@@ -73,6 +97,9 @@ dependencies:
73
97
  - - "~>"
74
98
  - !ruby/object:Gem::Version
75
99
  version: 3.1.0
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 3.1.0
76
103
  type: :runtime
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
@@ -80,34 +107,49 @@ dependencies:
80
107
  - - "~>"
81
108
  - !ruby/object:Gem::Version
82
109
  version: 3.1.0
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 3.1.0
83
113
  - !ruby/object:Gem::Dependency
84
114
  name: json
85
115
  requirement: !ruby/object:Gem::Requirement
86
116
  requirements:
87
117
  - - "~>"
88
118
  - !ruby/object:Gem::Version
89
- version: 1.8.3
119
+ version: 2.0.2
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 2.0.2
90
123
  type: :runtime
91
124
  prerelease: false
92
125
  version_requirements: !ruby/object:Gem::Requirement
93
126
  requirements:
94
127
  - - "~>"
95
128
  - !ruby/object:Gem::Version
96
- version: 1.8.3
129
+ version: 2.0.2
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 2.0.2
97
133
  - !ruby/object:Gem::Dependency
98
- name: mqtt
134
+ name: paho-mqtt
99
135
  requirement: !ruby/object:Gem::Requirement
100
136
  requirements:
101
137
  - - "~>"
102
138
  - !ruby/object:Gem::Version
103
- version: 0.4.0
139
+ version: 1.0.0
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 1.0.0
104
143
  type: :runtime
105
144
  prerelease: false
106
145
  version_requirements: !ruby/object:Gem::Requirement
107
146
  requirements:
108
147
  - - "~>"
109
148
  - !ruby/object:Gem::Version
110
- version: 0.4.0
149
+ version: 1.0.0
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 1.0.0
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: timers
113
155
  requirement: !ruby/object:Gem::Requirement
@@ -115,6 +157,9 @@ dependencies:
115
157
  - - "~>"
116
158
  - !ruby/object:Gem::Version
117
159
  version: 4.1.1
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 4.1.1
118
163
  type: :runtime
119
164
  prerelease: false
120
165
  version_requirements: !ruby/object:Gem::Requirement
@@ -122,8 +167,12 @@ dependencies:
122
167
  - - "~>"
123
168
  - !ruby/object:Gem::Version
124
169
  version: 4.1.1
125
- description: A gem use to communicates with the Aws Iot platform through the MQTT
126
- protocol
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 4.1.1
173
+ description: The gem is using the MQTT protocol to execute the command defined by
174
+ the AWS IoT platform. A default MQTT client is included in the gem, however an adapter
175
+ system enables to plug another MQTT client.
127
176
  email:
128
177
  - p-goudet@ruby-dev.jp
129
178
  executables: []
@@ -139,10 +188,11 @@ files:
139
188
  - aws_iot_device.gemspec
140
189
  - bin/console
141
190
  - bin/setup
191
+ - codeclimate.yml
142
192
  - lib/aws_iot_device.rb
143
193
  - lib/aws_iot_device/mqtt_adapter.rb
144
194
  - lib/aws_iot_device/mqtt_adapter/client.rb
145
- - lib/aws_iot_device/mqtt_adapter/mqtt_adapter.rb
195
+ - lib/aws_iot_device/mqtt_adapter/paho_mqtt_adapter.rb
146
196
  - lib/aws_iot_device/mqtt_adapter/ruby_mqtt_adapter.rb
147
197
  - lib/aws_iot_device/mqtt_shadow_client.rb
148
198
  - lib/aws_iot_device/mqtt_shadow_client/json_payload_parser.rb
@@ -153,15 +203,19 @@ files:
153
203
  - lib/aws_iot_device/mqtt_shadow_client/token_creator.rb
154
204
  - lib/aws_iot_device/mqtt_shadow_client/topic_builder.rb
155
205
  - lib/aws_iot_device/version.rb
206
+ - samples/config_shadow.rb
156
207
  - samples/mqtt_client_samples/mqtt_client_samples.rb
157
208
  - samples/shadow_action_samples/sample_shadow_action_update.rb
209
+ - samples/shadow_client_samples/samples_shadow_client_block.rb
158
210
  - samples/shadow_client_samples/samples_shadow_client_delete.rb
211
+ - samples/shadow_client_samples/samples_shadow_client_description.rb
159
212
  - samples/shadow_client_samples/samples_shadow_client_get.rb
213
+ - samples/shadow_client_samples/samples_shadow_client_getting_started.rb
160
214
  - samples/shadow_client_samples/samples_shadow_client_update.rb
161
215
  - samples/shadow_topic_samples/sample_topic_manager.rb
162
216
  homepage: https://github.com/RubyDevInc/aws-iot-device-sdk-ruby
163
217
  licenses:
164
- - Apache 2.0
218
+ - Apache-2.0
165
219
  metadata: {}
166
220
  post_install_message:
167
221
  rdoc_options: []
@@ -182,5 +236,6 @@ rubyforge_project:
182
236
  rubygems_version: 2.4.5.1
183
237
  signing_key:
184
238
  specification_version: 4
185
- summary: A gem use to communicates with the Aws Iot platform through the MQTT protocol
239
+ summary: The ruby version of the AWS IoT Device SDK. It enables to connect to AWS
240
+ IoT platform and manage Things.
186
241
  test_files: []