trace_location 0.3.0 → 0.4.0

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
  SHA256:
3
- metadata.gz: 66f68e663932cd87db5098e011861e12856fb7124528263a122cba192d288678
4
- data.tar.gz: c44473b3cb3d3e26f4418b8c70e18c265810b2f39dcb33d284f8f94eac0d5c37
3
+ metadata.gz: ac60bad7314ff13ccd86da5e6b88bff9dd50afedb445a3afabee76495aee49fb
4
+ data.tar.gz: 911bbeafa5bdb0d29d47e99fdb1cee89b55abc8b9d44f4157c5b9833e5dc093c
5
5
  SHA512:
6
- metadata.gz: dcb6a6c3e342f64f75be1df7dffa93d86b9373d0d48f8091417c9264420c9e40598746b04a321a3d11237afeefd62e82a35f5b496b857003d25648be26af2d88
7
- data.tar.gz: c1b02a872caabb568fa751ce0452b5771692591623be2ef86b87a334320ce9aff0eb2dbbf2d62124633916ebf515f4e721d264ab8cd26260e97294c4b128229d
6
+ metadata.gz: 211e0891220cb42c8def533b18ca2baeb55fd91c88c847d861482e5a80cae0feba5d5c292ec4b537fcf6173525c49f337bd46ce93f12922a9b6772a92a73227a
7
+ data.tar.gz: 7fa374686f1131f66e1046469fae708f643a0a6be6040f9773da60c2777e0a8a03c51e8962300d4ffe83d1fe1afd5dd4879fd2e4490db4b134e25185e65770d6
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- trace_location (0.3.0)
4
+ trace_location (0.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -3,6 +3,7 @@
3
3
  module TraceLocation
4
4
  module Generator # :nodoc:
5
5
  require_relative 'generator/base'
6
+ require_relative 'generator/csv'
6
7
  require_relative 'generator/log'
7
8
  end
8
9
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'csv'
4
+
5
+ module TraceLocation
6
+ module Generator
7
+ class Csv < Base # :nodoc:
8
+ def initialize(events, return_value, options)
9
+ @events = events
10
+ @return_value = return_value
11
+ @dest_dir = options.fetch(:dest_dir) { ::TraceLocation.config.dest_dir }
12
+ @file_path = File.join(@dest_dir, "trace_location-#{Time.now.strftime('%Y%m%d%H%m%s')}.csv")
13
+ end
14
+
15
+ def generate
16
+ setup_dir
17
+ create_file
18
+ $stdout.puts "Created at #{file_path}"
19
+ end
20
+
21
+ private
22
+
23
+ attr_reader :events, :return_value, :dest_dir, :file_path
24
+
25
+ def setup_dir
26
+ FileUtils.mkdir_p(dest_dir)
27
+ end
28
+
29
+ def create_file
30
+ CSV.open(file_path, 'wb+') do |csv|
31
+ csv << %w[event method path lineno]
32
+ events.each do |e|
33
+ csv << [e.event, e.method_str, e.path, e.lineno]
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -7,6 +7,7 @@ module TraceLocation
7
7
  class InvalidFormatError < ArgumentError; end
8
8
 
9
9
  GENERATORS = {
10
+ csv: ::TraceLocation::Generator::Csv,
10
11
  log: ::TraceLocation::Generator::Log
11
12
  }.freeze
12
13
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TraceLocation
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trace_location
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yoshiyuki Hirano
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-05-06 00:00:00.000000000 Z
11
+ date: 2019-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -78,6 +78,7 @@ files:
78
78
  - lib/trace_location/event.rb
79
79
  - lib/trace_location/generator.rb
80
80
  - lib/trace_location/generator/base.rb
81
+ - lib/trace_location/generator/csv.rb
81
82
  - lib/trace_location/generator/log.rb
82
83
  - lib/trace_location/railtie.rb
83
84
  - lib/trace_location/report.rb