greek_fire 0.4.1 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/greek_fire/measure.rb +13 -10
- data/app/models/greek_fire/smart_label.rb +22 -0
- data/lib/greek_fire/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6001cf601d2e1a55fcaea63b74aff762e12416bb
|
4
|
+
data.tar.gz: 7a8a16dcef133314ea89ba7de80c8cf8f2de759b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5fecaf04786d7e7a344800be8d54b2c00c5c27a2e173814c2c0ff8857021ff6fc546d1926f46e4212d5f0e361838008fc97d1d7e6752550f4f75b70df512b3ee
|
7
|
+
data.tar.gz: 8a671d0d3d15ecee6569b6dfbcfdef04418ae6ad43a43338a6caeb16442db5265c0a79309d82c90ffcd8354a31753974d9bdbc889ea21f63a380438d9234dea3
|
@@ -18,22 +18,25 @@ module GreekFire
|
|
18
18
|
def initialize(name, description:nil, labels:nil, &block)
|
19
19
|
labels ||= {}
|
20
20
|
@name = name
|
21
|
+
@extra_labels = if GreekFire::Measure.config.default_labels
|
22
|
+
{
|
23
|
+
app_name: ::Rails.application.class.parent_name,
|
24
|
+
app_env: Rails.env.to_s
|
25
|
+
}
|
26
|
+
else
|
27
|
+
{ }
|
28
|
+
end
|
21
29
|
|
22
|
-
@labels =
|
23
|
-
{
|
24
|
-
app_name: ::Rails.application.class.parent_name,
|
25
|
-
app_env: Rails.env.to_s
|
26
|
-
}
|
27
|
-
else
|
28
|
-
{ }
|
29
|
-
end.merge(labels)
|
30
|
+
@labels = labels
|
30
31
|
|
31
32
|
@description = description
|
32
33
|
@callable = block
|
33
34
|
end
|
34
35
|
|
35
36
|
def labels
|
36
|
-
label_products(convert_label_values_to_array @labels)
|
37
|
+
return label_products(convert_label_values_to_array(@labels.dup.clear.update(@extra_labels).merge(@labels))) if @labels.is_a?(Hash)
|
38
|
+
|
39
|
+
@labels.map.with_index { |label, i| @labels[i].dup.clear.update(@extra_labels).merge(label) }
|
37
40
|
end
|
38
41
|
|
39
42
|
def value(labels)
|
@@ -76,7 +79,7 @@ module GreekFire
|
|
76
79
|
return [{}] unless attrs.size > 0
|
77
80
|
|
78
81
|
product = attrs[0].product(*attrs[1..-1])
|
79
|
-
product.map{ |p|
|
82
|
+
product.map{ |p| HashWithIndifferentAccess[keys.zip p] }
|
80
83
|
end
|
81
84
|
|
82
85
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module GreekFire
|
2
|
+
class SmartLabel < HashWithIndifferentAccess
|
3
|
+
attr_reader :value
|
4
|
+
|
5
|
+
def initialize(value, key_pairs)
|
6
|
+
super(key_pairs)
|
7
|
+
@value = value
|
8
|
+
end
|
9
|
+
|
10
|
+
def update(other_hash)
|
11
|
+
super(other_hash)
|
12
|
+
@value = other_hash.value if other_hash.is_a? SmartLabel
|
13
|
+
self
|
14
|
+
end
|
15
|
+
|
16
|
+
def dup
|
17
|
+
self.class.new(value, self).tap do |new_hash|
|
18
|
+
set_defaults(new_hash)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
data/lib/greek_fire/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: greek_fire
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cconstantine
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec-rails
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- app/models/greek_fire/measure.rb
|
86
86
|
- app/models/greek_fire/measure_set.rb
|
87
87
|
- app/models/greek_fire/metric.rb
|
88
|
+
- app/models/greek_fire/smart_label.rb
|
88
89
|
- app/views/greek_fire/counters/_counter.html.erb
|
89
90
|
- app/views/greek_fire/gauges/_gauge.html.erb
|
90
91
|
- app/views/greek_fire/measure_sets/_measure_set.erb
|