kennel 0.2.7 → 0.2.8

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: 1e8cede70257a9bde8ffb23b84ebc9da01b8372c
4
- data.tar.gz: 551da86aaf39777d056380d70e0f6d26b69d2bb2
3
+ metadata.gz: b2bebdba7f94e7eecf65e6d550206c29da56e7fb
4
+ data.tar.gz: 04d2234ade28c1679041204bff5aac0950e20213
5
5
  SHA512:
6
- metadata.gz: 904dd151a95458c3308df3d65ea4b05e9491a1df8235b864df2111c18fd6fdca7c0368ff3fecdd093dae8b0f1329ceae7800aee53b1f150654249963e061cd16
7
- data.tar.gz: abeae5b9053eda1c9a846879bb8f0f5f17e8fdfd6f4091a1070425dacfa0fc29eadd117cba033b94779a86a776775b72b0250cc9b6803a7153b9053794fdccc2
6
+ metadata.gz: 84b30f3715056e6f822a442e01922407a9e7ed5f0e1d39366e54f98ae93f778d4bbf236cd71fb16afdb6346dbb73ac037c6b5bf2a417af83d92316628a55bd11
7
+ data.tar.gz: eb76706c5557afdcf3853e2ffb029fe683f2810d2b082c7854dcc083bcacad0973a03778624f1fbf7885f2bb26226638ad1fc14e2d4646b3581f7e2cb6d40ea0
@@ -76,7 +76,11 @@ module Kennel
76
76
  end
77
77
 
78
78
  def render_graphs
79
- all = definitions.map do |title, viz, type, queries|
79
+ all = definitions.map do |title, viz, type, queries, ignored|
80
+ if ignored || (!title || !viz || !type || !queries)
81
+ raise ArgumentError, "Expected exactly 4 arguments for each definition (title, viz, type, queries)"
82
+ end
83
+
80
84
  requests = Array(queries).map { |q| { q: q, type: type } }
81
85
  { title: title, definition: { viz: viz, requests: requests } }
82
86
  end + graphs
data/lib/kennel/syncer.rb CHANGED
@@ -28,6 +28,7 @@ module Kennel
28
28
  def update
29
29
  @create.each do |_, e|
30
30
  reply = @api.create e.class.api_resource, e.as_json
31
+ reply = unnest(e.class.api_resource, reply)
31
32
  puts "Created #{e.class.api_resource} #{tracking_id(e.as_json)} #{e.url(reply.fetch(:id))}"
32
33
  end
33
34
 
@@ -79,14 +80,19 @@ module Kennel
79
80
 
80
81
  # Hack to get diff to work until we can mass-fetch definitions
81
82
  def fill_details(a, cache)
82
- args = [a.fetch(:api_resource), a.fetch(:id)]
83
+ resource = a.fetch(:api_resource)
84
+ args = [resource, a.fetch(:id)]
83
85
  full = cache.fetch(args, a.fetch(:modified)) do
84
- result = @api.show(*args)
85
- result[a.fetch(:api_resource).to_sym] || result # dashes are nested, others are not
86
+ unnest(resource, @api.show(*args))
86
87
  end
87
88
  a.merge!(full)
88
89
  end
89
90
 
91
+ # dashes are nested, others are not
92
+ def unnest(api_resource, result)
93
+ result[api_resource.to_sym] || result
94
+ end
95
+
90
96
  def details_cache
91
97
  cache = FileCache.new CACHE_FILE
92
98
  yield cache
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Kennel
3
- VERSION = "0.2.7"
3
+ VERSION = "0.2.8"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kennel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-04 00:00:00.000000000 Z
11
+ date: 2018-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday