kennel 0.2.7 → 0.2.8

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: 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