metricky 0.2.1 → 0.3.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/app/metrics/application_metric.rb +3 -0
- data/lib/generators/metricky/metric_generator.rb +35 -0
- data/lib/generators/metricky/templates/application_metric.rb.tt +4 -0
- data/lib/generators/metricky/templates/metric.rb.tt +15 -0
- data/lib/metricky/helper.rb +1 -1
- data/lib/metricky/version.rb +1 -1
- data/lib/metricky.rb +0 -1
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bad7c03b12574ccb03b4b75b108105e5d3a7c1a48919db32afe42b519ac71111
|
4
|
+
data.tar.gz: 53966d8531d8eea9f8758412b1423d15be567ca75447cc746000be6527f7f6da
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f37bdcce7fb1d595257c2de55e6193d7600b12ac10a0b21b6be74d7fa04a790c454f5831e55e92b082a008f699df1cb410a020a8f96988d7eb9b4feb377b4cb9
|
7
|
+
data.tar.gz: 5687473c60b2b130ce09aca413f46267b9f2321dfdbac744f9d29a35ae638d7752b13ab704335075aa931417cfbcf117c72301d9a0ed1a6cc282c523b1af6bb5
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Metricky
|
2
|
+
module Generators
|
3
|
+
class MetricGenerator < Rails::Generators::NamedBase
|
4
|
+
source_root File.expand_path("templates", __dir__)
|
5
|
+
check_class_collision suffix: "Metric"
|
6
|
+
|
7
|
+
class_option :scope, type: :string, aliases: %i(--scope), default: '', desc: "What class or scoped class this metric pulls from"
|
8
|
+
class_option :type, type: :string, aliases: %i(--type), default: ':count', desc: "What type of metric (:count, :max, :min, :sum, :average)"
|
9
|
+
class_option :period, type: :string, default: 'nil', aliases: %i{--period}, desc: "What class or scoped class this metric pulls from"
|
10
|
+
|
11
|
+
def create_metric_file
|
12
|
+
template "metric.rb", File.join("app/metrics", class_path, "#{file_name}_metric.rb")
|
13
|
+
|
14
|
+
in_root do
|
15
|
+
if behavior == :invoke && !File.exist?(application_metric_file_name)
|
16
|
+
template "application_metric.rb", application_metric_file_name
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def file_name # :doc:
|
23
|
+
@_file_name ||= super.sub(/_metric\z/i, "")
|
24
|
+
end
|
25
|
+
|
26
|
+
def application_metric_file_name
|
27
|
+
@_application_mailer_file_name ||= if mountable_engine?
|
28
|
+
"app/metrics/#{namespaced_path}/application_metric.rb"
|
29
|
+
else
|
30
|
+
"app/metrics/application_metric.rb"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/metricky/helper.rb
CHANGED
@@ -13,7 +13,7 @@ module Metricky
|
|
13
13
|
metric = metric_name.safe_constantize
|
14
14
|
else
|
15
15
|
klass_name = "#{metric_name.to_s}Metric".camelize
|
16
|
-
metric = "
|
16
|
+
metric = "#{klass_name}".safe_constantize
|
17
17
|
end
|
18
18
|
raise NameError, "#{metric_name} does not exist" unless metric
|
19
19
|
else
|
data/lib/metricky/version.rb
CHANGED
data/lib/metricky.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metricky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Brody
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -118,7 +118,11 @@ files:
|
|
118
118
|
- MIT-LICENSE
|
119
119
|
- README.md
|
120
120
|
- Rakefile
|
121
|
+
- app/metrics/application_metric.rb
|
121
122
|
- app/views/metricky/_metric.html.erb
|
123
|
+
- lib/generators/metricky/metric_generator.rb
|
124
|
+
- lib/generators/metricky/templates/application_metric.rb.tt
|
125
|
+
- lib/generators/metricky/templates/metric.rb.tt
|
122
126
|
- lib/metricky.rb
|
123
127
|
- lib/metricky/base.rb
|
124
128
|
- lib/metricky/engine.rb
|