mind_meld 0.1.7 → 0.1.8
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 +4 -4
- data/bin/mind_meld +1 -1
- data/lib/mind_meld.rb +29 -1
- data/lib/mind_meld/device.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8b65926d587a38937db8b38dc47129d2120c19da
|
4
|
+
data.tar.gz: 7d65035319bd87c469feb34d71f70c4504cb573a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7fcf44f794d90cd9b198ffcd7543bedd81b0fb531d1721b605406d85ec3d905824b1f150ff3d4d302cd99bb82f5034535dee056718dc3b28592e8788ec0c9e4
|
7
|
+
data.tar.gz: fd0dd50a69678a7fa6ee9ab5defadc56a817f97ec556834d40098586d312787020d63434debdd6c03abb45228f3c34a2187aaa103f41435123908d0251f67585
|
data/bin/mind_meld
CHANGED
@@ -78,7 +78,7 @@ when 'action'
|
|
78
78
|
opts[:connection].create_action( opts[:options].to_h )
|
79
79
|
|
80
80
|
when 'details'
|
81
|
-
opts = Parser.parse '
|
81
|
+
opts = Parser.parse 'details', ARGV
|
82
82
|
dd = opts[:connection].device_details(view: 'simple')
|
83
83
|
puts "Id: #{dd['id']}"
|
84
84
|
puts "Name: #{dd['name']}"
|
data/lib/mind_meld.rb
CHANGED
@@ -18,13 +18,39 @@ class MindMeld
|
|
18
18
|
@http.verify_mode = options[:verify_mode] if options.key?(:verify_mode)
|
19
19
|
end
|
20
20
|
end
|
21
|
+
|
22
|
+
@statistics = []
|
21
23
|
end
|
22
24
|
|
23
25
|
def devices
|
24
26
|
request :get, 'devices'
|
25
27
|
end
|
26
28
|
|
29
|
+
def add_statistics data
|
30
|
+
data = [ data ] if ! data.is_a? Array
|
31
|
+
|
32
|
+
verify_statistics_arguments data
|
33
|
+
@statistics.concat data
|
34
|
+
end
|
35
|
+
|
36
|
+
def flush_statistics
|
37
|
+
response = request :post, 'device_statistics/upload', { data: @statistics }
|
38
|
+
@statistics = [] if ! response.has_key? :error
|
39
|
+
response
|
40
|
+
end
|
41
|
+
|
27
42
|
private
|
43
|
+
def verify_statistics_arguments data
|
44
|
+
data.each do |d|
|
45
|
+
if ! d.has_key? :timestamp
|
46
|
+
d[:timestamp] = Time.now
|
47
|
+
end
|
48
|
+
[:device_id, :label, :value].each do |key|
|
49
|
+
raise ArgumentError, "Missing #{key}" if ! d.has_key? key
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
28
54
|
def request type, call, params = {}
|
29
55
|
if @http
|
30
56
|
begin
|
@@ -43,7 +69,9 @@ class MindMeld
|
|
43
69
|
)
|
44
70
|
end
|
45
71
|
# Allow for 'array with indifferent access'
|
46
|
-
{ reply: JSON.parse(response.body) }.with_indifferent_access[:reply]
|
72
|
+
reply = { reply: JSON.parse(response.body) }.with_indifferent_access[:reply]
|
73
|
+
reply[:error] = "Status: #{response.code}" if ! response.kind_of? Net::HTTPSuccess
|
74
|
+
reply
|
47
75
|
rescue => e
|
48
76
|
{ error: e.message }.with_indifferent_access
|
49
77
|
end
|
data/lib/mind_meld/device.rb
CHANGED
@@ -73,4 +73,18 @@ class MindMeld::Device < MindMeld
|
|
73
73
|
@device_details
|
74
74
|
end
|
75
75
|
end
|
76
|
+
|
77
|
+
def add_statistics data
|
78
|
+
if ! data.is_a? Array
|
79
|
+
data = [ data ]
|
80
|
+
end
|
81
|
+
|
82
|
+
id = self.id
|
83
|
+
data.each do |d|
|
84
|
+
d[:device_id] = id if ! d[:device_id]
|
85
|
+
end
|
86
|
+
|
87
|
+
super data
|
88
|
+
end
|
89
|
+
|
76
90
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mind_meld
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe Haig
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|