ninja_blocks 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,11 +8,11 @@ require 'chronic'
8
8
 
9
9
  require "ninja_blocks/version"
10
10
  module NinjaBlocks
11
- require 'ninja_blocks/abstruct'
11
+ require 'ninja_blocks/base'
12
12
  require 'ninja_blocks/device'
13
13
  require 'ninja_blocks/user'
14
14
  require 'ninja_blocks/rule'
15
-
15
+
16
16
  def self.token
17
17
  @token
18
18
  end
@@ -1,5 +1,5 @@
1
1
  module NinjaBlocks
2
- class Abstruct
2
+ class Base
3
3
  def get(url)
4
4
  execute(:get,url)
5
5
  end
@@ -29,6 +29,7 @@ module NinjaBlocks
29
29
  response = connection.send(method,"#{url}?user_access_token=#{self.token}")
30
30
  JSON.parse(response.body)
31
31
  end
32
+
32
33
  end
33
34
  end
34
35
 
@@ -1,20 +1,71 @@
1
1
  module NinjaBlocks
2
- class Device <Abstruct
2
+ class Device < Base
3
3
 
4
- def list
4
+ def list(*filter_by)
5
+
5
6
  hash_of_response = get("https://api.ninja.is/rest/v0/devices")
6
7
 
7
8
  devices = []
9
+
10
+ unless filter_by.nil?
8
11
 
12
+ hash_of_response["data"].each do |d|
13
+ device_hash = {}
14
+ device_hash["guid"] = d[0]
15
+ device_hash = device_hash.merge(d[1])
16
+ devices << device_hash
17
+ devices = devices.reject { |d| d['device_type'] != filter_by[:device_type] }
18
+ end
19
+
20
+ else
21
+ hash_of_response["data"].each do |d|
22
+ device_hash = {}
23
+ device_hash["guid"] = d[0]
24
+ device_hash = device_hash.merge(d[1])
25
+ devices << device_hash
26
+ devices = devices.sort_by { |k| k["device_type"] }
27
+ end
28
+
29
+ end
30
+
31
+ devices
32
+ end
33
+
34
+ def available_types
35
+ hash_of_response = get("https://api.ninja.is/rest/v0/devices")
36
+
37
+ devices_types = []
38
+
9
39
  hash_of_response["data"].each do |d|
10
40
  device_hash = {}
11
41
  device_hash["guid"] = d[0]
12
42
  device_hash = device_hash.merge(d[1])
13
- devices << device_hash
43
+ devices_types << device_hash['device_type'] unless device_hash['device_type'].nil?
44
+ devices_types = devices_types.uniq
45
+ end
46
+
47
+ devices_types.each do |t|
48
+ puts t
14
49
  end
15
-
16
- devices
17
50
  end
51
+
52
+ def available_devices
53
+ hash_of_response = get("https://api.ninja.is/rest/v0/devices")
54
+
55
+ devices_types = []
56
+
57
+ hash_of_response["data"].each do |d|
58
+ device_hash = {}
59
+ device_hash["guid"] = d[0]
60
+ device_hash = device_hash.merge(d[1])
61
+ devices_types << device_hash['device_type'] unless device_hash['device_type'].nil?
62
+ devices_types = devices_types.uniq
63
+ end
64
+
65
+ devices_types.each do |t|
66
+ puts t
67
+ end
68
+ end
18
69
 
19
70
  def actuate(guid, da)
20
71
  json = JSON.dump('DA'=> dsa)
@@ -31,6 +82,8 @@ module NinjaBlocks
31
82
  end
32
83
 
33
84
  def data(guid, from, to)
85
+ from = Chronic.parse(from).to_i
86
+ to = Chronic.parse(to).to_i
34
87
  get("https://api.ninja.is/rest/v0/device/#{guid}/data?from=#{from}&to=#{to}")
35
88
  end
36
89
 
@@ -1,5 +1,5 @@
1
1
  module NinjaBlocks
2
- class Rule < Abstruct
2
+ class Rule < Base
3
3
 
4
4
  def list
5
5
  get('https://api.ninja.is/rest/v0/rule')
@@ -1,5 +1,5 @@
1
1
  module NinjaBlocks
2
- class User < Abstruct
2
+ class User < Base
3
3
  def info
4
4
  get('https://api.ninja.is/rest/v0/user')
5
5
  end
@@ -1,3 +1,3 @@
1
1
  module NinjaBlocks
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ninja_blocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -85,7 +85,7 @@ files:
85
85
  - README.md
86
86
  - example/app.rb
87
87
  - lib/ninja_blocks.rb
88
- - lib/ninja_blocks/abstruct.rb
88
+ - lib/ninja_blocks/base.rb
89
89
  - lib/ninja_blocks/device.rb
90
90
  - lib/ninja_blocks/rule.rb
91
91
  - lib/ninja_blocks/user.rb