attractor 2.5.0 → 2.6.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: 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