attractor 2.5.0 → 2.6.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: 1eef3d6e8104428fdc8240ae5161654990b53d5351962bc474f11e450db9cbc2
4
- data.tar.gz: 6ec7109f7c6aa6e4b5b594863e5bfeff08652f2fdf6c8c2a86a208357c084713
3
+ metadata.gz: 31bd7aa261b4e29b98a2a0af93e653d6dac08d0187505b57ff6df1dc60ad37c4
4
+ data.tar.gz: 602324b18e247c6410f9d6206b089c0ae11cfe2d6a99feb5d0a0cf3d9a77f88e
5
5
  SHA512:
6
- metadata.gz: 244a2d549ba546424c7a4c25aaa59c17b4bd1a8fed73cbdd09851c4296631c4b42d907d4b31a76a8a4f6c584143d8f086764299e00e690bce1f0f19cc69d8bcb
7
- data.tar.gz: d508623821df269d803f3fdb0440fbd76f14a5d24cbd169c23cfabf01e1423171b201b1c3ee2c92a986ada20700c790c67ff75d3928bfbf9e4e1d2419e60be65
6
+ metadata.gz: 04a0fb63d5f198b8a5f412615e0fcc48ccb3cf6ee89edc1448ce0213cd9bc5f224bd4d435bf1c114c19789461cc6d4ccea13f55dc7cd39a6132bc0fe3d388342
7
+ data.tar.gz: bb2aa36a13ca5a1615853e6eb29bc13e2f5b49e46e18242fc10ef78ea4d57cd5dbbd5ed2c9bd01e5139c191a36d61ff5d7ca5f1645bcdce98783c194740425a1
data/README.md CHANGED
@@ -10,7 +10,6 @@
10
10
  [license-url]: https://github.com/julianrubisch/attractor/blob/master/LICENSE
11
11
  [twitter-url]: https://twitter.com/AttractorGem
12
12
  [twitter-shield]: https://img.shields.io/twitter/follow/AttractorGem?style=social
13
- [build-status]: https://travis-ci.org/julianrubisch/attractor.svg?branch=master
14
13
  [twitter-shield]: https://img.shields.io/twitter/follow/AttractorGem?style=social
15
14
  [ruby-tests-action-shield]: https://github.com/julianrubisch/attractor/workflows/Ruby%20Tests/badge.svg
16
15
  <!-- Media -->
@@ -39,7 +38,6 @@
39
38
  ---
40
39
 
41
40
  <!-- PROJECT SHIELDS -->
42
- ![Build Status][build-status]
43
41
  ![Ruby Tests Action Status][ruby-tests-action-shield]
44
42
  [![Forks][forks-shield]][forks-url]
45
43
  [![Stargazers][stars-shield]][stars-url]
@@ -64,7 +64,9 @@ module Attractor
64
64
  score: value.score,
65
65
  complexity: value.complexity,
66
66
  churn: value.churn,
67
- refactor: to_be_refactored.include?(value.file_path)
67
+ refactor: to_be_refactored.include?(value.file_path),
68
+ details: value.details,
69
+ history: value.history
68
70
  }
69
71
  end
70
72
  ]
@@ -49,13 +49,40 @@ module Attractor
49
49
  end
50
50
  end
51
51
 
52
+ class JSONFormatter
53
+ def call(calculators)
54
+ result = calculators.map do |calc|
55
+ type = calc.last.type
56
+ values = calc.last.calculate
57
+ suggester = Suggester.new(values)
58
+ to_be_refactored = suggester.suggest.map(&:file_path)
59
+
60
+ [
61
+ type, values.map do |value|
62
+ {
63
+ file_path: value.file_path,
64
+ score: value.score,
65
+ complexity: value.complexity,
66
+ churn: value.churn,
67
+ refactor: to_be_refactored.include?(value.file_path)
68
+ }
69
+ end
70
+ ]
71
+ end
72
+
73
+ puts result.to_h.to_json
74
+ end
75
+ end
76
+
52
77
  def initialize(format:, **other)
53
78
  super(**other)
54
79
  @formatter = case format.to_sym
55
- when :csv
56
- CSVFormatter.new
57
- else
58
- TableFormatter.new
80
+ when :csv
81
+ CSVFormatter.new
82
+ when :json
83
+ JSONFormatter.new
84
+ else
85
+ TableFormatter.new
59
86
  end
60
87
  end
61
88
 
@@ -1,3 +1,3 @@
1
1
  module Attractor
2
- VERSION = "2.5.0"
2
+ VERSION = "2.6.0"
3
3
  end
@@ -1,3 +1,3 @@
1
1
  module Attractor
2
- VERSION = "2.4.0"
2
+ VERSION = "2.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attractor
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.0
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julian Rubisch
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-04-15 00:00:00.000000000 Z
11
+ date: 2023-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: churn
@@ -415,7 +415,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
415
415
  - !ruby/object:Gem::Version
416
416
  version: '0'
417
417
  requirements: []
418
- rubygems_version: 3.4.12
418
+ rubygems_version: 3.4.19
419
419
  signing_key:
420
420
  specification_version: 4
421
421
  summary: Churn vs Complexity Chart Generator