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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56f8731b7035d9b019d574e5d266b93e4ead3f42
4
- data.tar.gz: 126f6d84058c07f2c70034afddd1ce6abbc2bbdb
3
+ metadata.gz: a25da3f5fe1a500903894d4a547f6c0f8bce5be1
4
+ data.tar.gz: 8e1d0de16a18cc90fbcbe4624ae25a0c74802b39
5
5
  SHA512:
6
- metadata.gz: 141fe50b1bfed392b5014585c5b2b37a5811897d6fe4c69ef483413e04f458784c52b9e890c6d1dc3c127ed319662b0ddce50f84abc8f581ec630e3c52b0abcc
7
- data.tar.gz: b398a400e5b7c53542f362f31a1ec8c291c57dd155711404625c9cf8d4cff7e810b41bf45df8e356299c6c9c7c9d0d555ca6890c1be15b50114a1bb09ab313c8
6
+ metadata.gz: 1ab6548fc9ef668dbdb3ab3bff4ff0c3da474475cd9b12e9c1d2a491619f87be12ce2c9dfca5af2bb04dbfbcf61bc9845a7b195d9dc96c86e844d7d9f1cf34d5
7
+ data.tar.gz: b38aadb4babf57552931d08f3b444069572d3d3ee0223b43d18d5f359c0b11fee4a3c1ba9f3fc9ad4764a071bf3f7a66da90904b2f5d376c76f961612ee75a3e
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trimark (0.1.0)
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.10)
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
@@ -9,6 +9,3 @@ require "trimark"
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
10
  require "pry"
11
11
  Pry.start
12
-
13
- require "irb"
14
- IRB.start
@@ -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
@@ -5,7 +5,7 @@ require 'trimark/connection'
5
5
  require 'trimark/site'
6
6
  require 'addressable/template'
7
7
 
8
- module TriMark
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
- "company/#{company_id}/site/#{site_id}"
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
- "company/#{company_id}/site/#{site_id}/history/{?query*}"
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 = (conn.get url_picker(*args), {}, query_headers)
91
+ response = conn.get(url_picker(*args), {}, query_headers)
92
+
77
93
  if response.body['SiteId'] || response.body['PointId']
78
- return JSON.parse(response.body)
94
+ JSON.parse(response.body)
79
95
  else
80
96
  fail QueryError, "Query Failed! HTTPStatus: #{response.status}"
81
97
  end
@@ -1,4 +1,4 @@
1
- module TriMark
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
@@ -1,3 +1,3 @@
1
1
  module Trimark
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -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.10"
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.1.1
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-10-26 00:00:00.000000000 Z
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: '1.10'
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: '1.10'
26
+ version: 1.9.5
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement