trimark 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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