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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 500237a04b0a2f93ff5ddacd686681fd76b032146f218743eb9f83820b658376
4
- data.tar.gz: e4739930fb4f3b57836267e8f9dc7822cadb22b0cd9dd40e41b0a7a09fe0bb55
3
+ metadata.gz: bad7c03b12574ccb03b4b75b108105e5d3a7c1a48919db32afe42b519ac71111
4
+ data.tar.gz: 53966d8531d8eea9f8758412b1423d15be567ca75447cc746000be6527f7f6da
5
5
  SHA512:
6
- metadata.gz: 4eebd4d284635360c281e54a792e9cc58c8f20812ddba63ae592b468c37747bb0ec3a0861534511e82143a82e1a4d599d8c09a77f5a2756b1e0b820328e5b2fb
7
- data.tar.gz: be42d09e1122aa0fff4f1e8b74ceafa48b4cec86785bd36e18b6e3aaa6259dea219cb255625198a9d4a077d498d96b36a18791d5b0f85ffccfdee148f769835e
6
+ metadata.gz: f37bdcce7fb1d595257c2de55e6193d7600b12ac10a0b21b6be74d7fa04a790c454f5831e55e92b082a008f699df1cb410a020a8f96988d7eb9b4feb377b4cb9
7
+ data.tar.gz: 5687473c60b2b130ce09aca413f46267b9f2321dfdbac744f9d29a35ae638d7752b13ab704335075aa931417cfbcf117c72301d9a0ed1a6cc282c523b1af6bb5
@@ -0,0 +1,3 @@
1
+ class ApplicationMetric < Metricky::Base
2
+
3
+ end
@@ -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
@@ -0,0 +1,4 @@
1
+ <% module_namespacing do -%>
2
+ class ApplicationMetric < Metricky::Base
3
+ end
4
+ <% end %>
@@ -0,0 +1,15 @@
1
+ <% module_namespacing do -%>
2
+ class <%= class_name %>Metric < ApplicationMetric
3
+ def scope
4
+ <%= options[:scope] %>
5
+ end
6
+
7
+ def type
8
+ <%= options[:type] %>
9
+ end
10
+
11
+ def period
12
+ <%= options[:period] %>
13
+ end
14
+ end
15
+ <% end -%>
@@ -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 = "Metrics::#{klass_name}".safe_constantize
16
+ metric = "#{klass_name}".safe_constantize
17
17
  end
18
18
  raise NameError, "#{metric_name} does not exist" unless metric
19
19
  else
@@ -1,3 +1,3 @@
1
1
  module Metricky
2
- VERSION = '0.2.1'
2
+ VERSION = '0.3.0'
3
3
  end
data/lib/metricky.rb CHANGED
@@ -2,7 +2,6 @@ require "groupdate"
2
2
  require "chartkick"
3
3
  require "metricky/base"
4
4
  require "metricky/helper"
5
-
6
5
  require "metricky/engine"
7
6
 
8
7
  module Metricky
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.2.1
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-07 00:00:00.000000000 Z
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