NCCConfidence 0.1.5 → 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/README.md +39 -0
- data/lib/nccconfidence.rb +21 -4
- data/lib/nccconfidence/query_builder.rb +30 -0
- data/lib/nccconfidence/url_builder.rb +3 -0
- data/lib/nccconfidence/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f54147ae297a70b99519050016bb95595db7709f
|
4
|
+
data.tar.gz: af53e0b2ccd6f5f90afa731e20ff1d4134a1c58b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 80077736342ec835bfba55ae76a41c35740bd8ad15e68cf26b24978df4725588754653bfe5420a42d06a4eb5bee905e889f2fb3b46261c3b1a9e5ca6f1975867
|
7
|
+
data.tar.gz: b84672f0703d3375b5960dc54aad78d2cab0b5b359e5d584f25626b73c6da59432bb13e6d75ff4847e7c76c0087d9d5db1dbc9302578487da788ddd76ddbb3b3
|
data/README.md
CHANGED
@@ -94,6 +94,45 @@ That way you can make them re-usable or make the query easily changable by just
|
|
94
94
|
|
95
95
|
Please note you have to put both test_filter & data_filter into an array otherwise the client will only get one of the filters instead of an array of two two filters.
|
96
96
|
|
97
|
+
Lastly you can use the query builder to build and make queries more easily.
|
98
|
+
|
99
|
+
```ruby
|
100
|
+
NCCConfidence::Query.make "test_query" do
|
101
|
+
test_filter do
|
102
|
+
account_id "MN2A6933"
|
103
|
+
id "MN2PG30601"
|
104
|
+
start_date "2015-08-12"
|
105
|
+
start_time "12:00:00"
|
106
|
+
end_date "2015-08-07"
|
107
|
+
end_time "07:05:05"
|
108
|
+
status_code 1
|
109
|
+
end
|
110
|
+
|
111
|
+
data_filter do
|
112
|
+
object "Account" do
|
113
|
+
item "AccountId"
|
114
|
+
object "Pages" do
|
115
|
+
item "Page"
|
116
|
+
end
|
117
|
+
object "ServiceStatus" do
|
118
|
+
item "HighestStatusCode"
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
```
|
124
|
+
|
125
|
+
To run all the queries do this
|
126
|
+
```ruby
|
127
|
+
result = NCCConfidence.query
|
128
|
+
```
|
129
|
+
|
130
|
+
or to run a single query do this
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
result = NCCConfidence.query NCCConfidence::Query.queries["test_query"]
|
134
|
+
```
|
135
|
+
|
97
136
|
Here's a list of possible test filters:
|
98
137
|
+ account_id
|
99
138
|
+ id
|
data/lib/nccconfidence.rb
CHANGED
@@ -14,16 +14,33 @@ module NCCConfidence
|
|
14
14
|
URL.api_key = key
|
15
15
|
end
|
16
16
|
|
17
|
-
def query
|
18
|
-
|
17
|
+
def query query_object=nil
|
18
|
+
if query_object
|
19
|
+
make_query(
|
20
|
+
Builder::Test.make(&query_object.test_filter),
|
21
|
+
Builder::Data.make(&query_object.data_filter)
|
22
|
+
)
|
23
|
+
elsif Query.queries.first
|
24
|
+
Query.queries.inject({}) do |result,(name,query)|
|
25
|
+
result[name] = make_query(
|
26
|
+
Builder::Test.make(&query.test_filter),
|
27
|
+
Builder::Data.make(&query.data_filter)
|
28
|
+
)
|
29
|
+
result
|
30
|
+
end
|
31
|
+
else
|
32
|
+
make_query(*yield(Builder::Test,Builder::Data))
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
def make_query test_filter,data_filter
|
19
38
|
request = {
|
20
39
|
method: 'GET',
|
21
40
|
url: URL.build(test_filter,data_filter)
|
22
41
|
}
|
23
42
|
make_request(request)
|
24
43
|
end
|
25
|
-
|
26
|
-
private
|
27
44
|
def make_request request
|
28
45
|
http = Http.request do
|
29
46
|
set_uri request[:url]
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module NCCConfidence
|
2
|
+
class Query
|
3
|
+
class << self
|
4
|
+
attr_accessor :queries
|
5
|
+
def make query, &filters
|
6
|
+
new_query = self.new
|
7
|
+
new_query.instance_eval(&filters)
|
8
|
+
self.queries[query] = new_query
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
self.queries = {}
|
13
|
+
|
14
|
+
def test_filter &filter
|
15
|
+
if filter
|
16
|
+
@test_filter = Proc.new &filter
|
17
|
+
else
|
18
|
+
@test_filter
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def data_filter &filter
|
23
|
+
if filter
|
24
|
+
@data_filter = Proc.new &filter
|
25
|
+
else
|
26
|
+
@data_filter
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: NCCConfidence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thermatix
|
@@ -102,6 +102,7 @@ files:
|
|
102
102
|
- lib/nccconfidence/data_builder.rb
|
103
103
|
- lib/nccconfidence/data_filters.rb
|
104
104
|
- lib/nccconfidence/http_client.rb
|
105
|
+
- lib/nccconfidence/query_builder.rb
|
105
106
|
- lib/nccconfidence/test_builder.rb
|
106
107
|
- lib/nccconfidence/test_filters.rb
|
107
108
|
- lib/nccconfidence/url_builder.rb
|