trimark 0.1.1 → 0.2.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 +4 -4
- data/Gemfile.lock +3 -5
- data/bin/console +0 -3
- data/lib/trimark.rb +17 -0
- data/lib/trimark/client.rb +21 -5
- data/lib/trimark/site.rb +2 -2
- data/lib/trimark/version.rb +1 -1
- data/trimark.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a25da3f5fe1a500903894d4a547f6c0f8bce5be1
|
4
|
+
data.tar.gz: 8e1d0de16a18cc90fbcbe4624ae25a0c74802b39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1ab6548fc9ef668dbdb3ab3bff4ff0c3da474475cd9b12e9c1d2a491619f87be12ce2c9dfca5af2bb04dbfbcf61bc9845a7b195d9dc96c86e844d7d9f1cf34d5
|
7
|
+
data.tar.gz: b38aadb4babf57552931d08f3b444069572d3d3ee0223b43d18d5f359c0b11fee4a3c1ba9f3fc9ad4764a071bf3f7a66da90904b2f5d376c76f961612ee75a3e
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
trimark (0.1.
|
4
|
+
trimark (0.1.2)
|
5
|
+
addressable
|
5
6
|
faraday
|
6
7
|
json
|
7
8
|
virtus
|
@@ -58,13 +59,10 @@ PLATFORMS
|
|
58
59
|
ruby
|
59
60
|
|
60
61
|
DEPENDENCIES
|
61
|
-
bundler (~> 1.
|
62
|
+
bundler (~> 1.9.5)
|
62
63
|
minitest
|
63
64
|
minitest-reporters
|
64
65
|
pry
|
65
66
|
rake (~> 10.0)
|
66
67
|
trimark!
|
67
68
|
webmock
|
68
|
-
|
69
|
-
BUNDLED WITH
|
70
|
-
1.10.6
|
data/bin/console
CHANGED
data/lib/trimark.rb
CHANGED
@@ -3,4 +3,21 @@ require "trimark/version"
|
|
3
3
|
require "trimark/client"
|
4
4
|
|
5
5
|
module Trimark
|
6
|
+
class << self
|
7
|
+
def underscore(str)
|
8
|
+
word = str.dup
|
9
|
+
word.gsub!(/::/, '/')
|
10
|
+
word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
|
11
|
+
word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
|
12
|
+
word.tr!("-", "_")
|
13
|
+
word.downcase!
|
14
|
+
word
|
15
|
+
end
|
16
|
+
|
17
|
+
def symbolize_keys(params)
|
18
|
+
{}.tap do |hsh|
|
19
|
+
params.keys.each { |k| hsh[underscore(k).to_sym] = params[k] }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
6
23
|
end
|
data/lib/trimark/client.rb
CHANGED
@@ -5,7 +5,7 @@ require 'trimark/connection'
|
|
5
5
|
require 'trimark/site'
|
6
6
|
require 'addressable/template'
|
7
7
|
|
8
|
-
module
|
8
|
+
module Trimark
|
9
9
|
class AuthError < StandardError; end
|
10
10
|
class QueryError < StandardError; end
|
11
11
|
|
@@ -42,13 +42,17 @@ module TriMark
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
+
def base_url
|
46
|
+
"company/#{company_id}"
|
47
|
+
end
|
48
|
+
|
45
49
|
def site_info_url(site_id)
|
46
|
-
"
|
50
|
+
"#{base_url}/site/#{site_id}"
|
47
51
|
end
|
48
52
|
|
49
53
|
def site_history_url(site_id, query_hash)
|
50
54
|
Addressable::Template.new(
|
51
|
-
"
|
55
|
+
"#{site_info_url(site_id)}/history/{?query*}"
|
52
56
|
).expand(query_hash)
|
53
57
|
end
|
54
58
|
|
@@ -69,13 +73,25 @@ module TriMark
|
|
69
73
|
}
|
70
74
|
end
|
71
75
|
|
76
|
+
# Gets a list of all the sites for the company
|
77
|
+
#
|
78
|
+
def sites
|
79
|
+
response = conn.get("#{base_url}/site", {}, query_headers)
|
80
|
+
body = JSON.parse(response.body)
|
81
|
+
|
82
|
+
body.map { |b| Site.new(b) }
|
83
|
+
rescue JSON::ParserError
|
84
|
+
fail QueryError, "Query Failed! HTTPStatus: #{response.status} - Response: #{body}"
|
85
|
+
end
|
86
|
+
|
72
87
|
# Returns site attributes and history data if an optional query_hash is supplied
|
73
88
|
# @client.site_query(x) will return the attributes of site x
|
74
89
|
# @client.site_query(x, query_hash) will return historical data from site x instrumentation
|
75
90
|
def site_query(*args)
|
76
|
-
response =
|
91
|
+
response = conn.get(url_picker(*args), {}, query_headers)
|
92
|
+
|
77
93
|
if response.body['SiteId'] || response.body['PointId']
|
78
|
-
|
94
|
+
JSON.parse(response.body)
|
79
95
|
else
|
80
96
|
fail QueryError, "Query Failed! HTTPStatus: #{response.status}"
|
81
97
|
end
|
data/lib/trimark/site.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Trimark
|
2
2
|
class AuthError < StandardError; end
|
3
3
|
class QueryError < StandardError; end
|
4
4
|
|
@@ -18,7 +18,7 @@ module TriMark
|
|
18
18
|
attribute :location, String
|
19
19
|
|
20
20
|
def initialize(params = {})
|
21
|
-
super(params)
|
21
|
+
super(Trimark.symbolize_keys(params))
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
data/lib/trimark/version.rb
CHANGED
data/trimark.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~> 1.
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.9.5"
|
23
23
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
24
|
spec.add_development_dependency "minitest"
|
25
25
|
spec.add_development_dependency "minitest-reporters"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trimark
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Whitsett
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.9.5
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.9.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|