calcifer 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: a959bb4f96beb91315e7571c4e0b6c6d40e6c9225f545d063b9fc2f3ed926d9a
4
- data.tar.gz: 54a53e3d1dcb91bcbd20aac7ffe794d4b22867508a76d66e3066afb16b057321
3
+ metadata.gz: 8c5707a10355cd294158d90205376066eeb28c86641e9fc19175b2cd416bcd37
4
+ data.tar.gz: 060ab3bf12ca9c3794aed8735d66ac20676a950374c4fc00ab5f68ac4218ca50
5
5
  SHA512:
6
- metadata.gz: b522e099b19572387281ae0d987adcd796e98e3cc47e88115e2a06437a6a1d6bdf9dddd8462a81876f241c1b2a762d656138c35c31b564eff1bbfef40fe6639c
7
- data.tar.gz: f98d7b8431f5ef378950ddddff0323abb846d7951b7ac68f875516e5e1307d7a3eeeadcf8f00eae9ac4b4d70aa7b28694496d67d8ea055f4214feaad31644e61
6
+ metadata.gz: a431a5422bacd73123f432c964d1150a1d4d10de982f8e411c2b6a334a8c3d447930e46376075706d2e9dbbdcc86ddce13973a34f88cd42fed5074ef4b3cafd7
7
+ data.tar.gz: 2be6476fdde544faa31240ffb52237d56baf4bb28e9f254c9c92de72d221faf396397a388f6332f81902b81967b131935629d770d08503b28d4b4849737b8a3a
data/.rubocop.yml ADDED
@@ -0,0 +1,20 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ Exclude:
4
+ - 'bin/**/*'
5
+ - calcifer.gemspec
6
+ - spec/fixtures/**
7
+
8
+ Metrics/ModuleLength:
9
+ Exclude:
10
+ - spec/**/*.rb
11
+
12
+ Metrics/BlockLength:
13
+ Exclude:
14
+ - spec/**/*.rb
15
+
16
+ Style/Documentation:
17
+ Enabled: false
18
+
19
+ Metrics/MethodLength:
20
+ Max: 20
data/Gemfile CHANGED
@@ -1,6 +1,8 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
2
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
3
+ source 'https://rubygems.org'
4
+
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
6
 
5
7
  # Specify your gem's dependencies in calcifer.gemspec
6
8
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- calcifer (0.2.1)
4
+ calcifer (0.3.0)
5
5
  rgl
6
6
 
7
7
  GEM
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: :spec
@@ -10,24 +10,44 @@ module Calcifer
10
10
 
11
11
  def initialize(file)
12
12
  @file = file
13
+ @module_name = []
13
14
  end
14
15
 
15
16
  def execute
16
17
  return unless @file
17
18
 
18
- module_name = ''
19
19
  @file.readlines.each do |line|
20
- next if line.strip.match(ONE_LINE_CLASS_REGEX)&.length&.positive?
20
+ next if one_line_class_definition?(line)
21
21
 
22
- if line.strip.match(MODULE_REGEX)&.length&.positive?
23
- module_name += "#{line.gsub('module', '').strip}::"
24
- elsif line.strip.match(CLASS_REGEX)&.length&.positive?
25
- module_name += line.gsub('class', '').gsub(/<(.*)/, '').strip
22
+ if module_definition?(line)
23
+ @module_name << line.gsub('module', '').strip
24
+ elsif class_definition?(line)
25
+ @module_name << line.gsub('class', '').gsub(/<(.*)/, '').strip
26
26
  break
27
27
  end
28
28
  end
29
29
 
30
- module_name.length.positive? ? module_name : nil
30
+ mount_module_name
31
+ end
32
+
33
+ private
34
+
35
+ def one_line_class_definition?(line)
36
+ line.strip.match(ONE_LINE_CLASS_REGEX)&.length&.positive?
37
+ end
38
+
39
+ def module_definition?(line)
40
+ line.strip.match(MODULE_REGEX)&.length&.positive?
41
+ end
42
+
43
+ def class_definition?(line)
44
+ line.strip.match(CLASS_REGEX)&.length&.positive?
45
+ end
46
+
47
+ def mount_module_name
48
+ return unless @module_name.length.positive?
49
+
50
+ @module_name.join('::')
31
51
  end
32
52
  end
33
53
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Calcifer
2
- VERSION = "0.2.1"
4
+ VERSION = '0.3.0'
3
5
  end
data/lib/calcifer.rb CHANGED
@@ -7,7 +7,15 @@ module Calcifer
7
7
  class Error < StandardError; end
8
8
 
9
9
  def self.execute
10
- file_list = Calcifer::Finders::FilesDiffFinder.new.execute
10
+ spec_files_path = graph_list_file.map(&:related_files_paths).flatten
11
+ spec_files_path_list = Calcifer::Finders::SpecFilesRelatedFinder.new(spec_files_path).execute
12
+
13
+ printf `echo #{spec_files_path_list}`
14
+ end
15
+
16
+ private
17
+
18
+ def graph_list_file
11
19
  graph_list_file = file_list.map(&->(file) { Calcifer::Buiders::RootFileBuilder.new(file).build }).compact
12
20
 
13
21
  graph_list_file.each do |graph|
@@ -15,10 +23,9 @@ module Calcifer
15
23
  graph_vertices = related_files.map { |related_file| [graph.file_path, related_file] }
16
24
  graph.graph_root.add_edges(*graph_vertices)
17
25
  end
26
+ end
18
27
 
19
- spec_files_path = graph_list_file.map(&:related_files_paths).flatten
20
- spec_files_path_list = Calcifer::Finders::SpecFilesRelatedFinder.new(spec_files_path).execute
21
-
22
- printf `echo #{spec_files_path_list}`
28
+ def file_list
29
+ Calcifer::Finders::FilesDiffFinder.new.execute
23
30
  end
24
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: calcifer
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
  - Gustavo Duarte
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-05 00:00:00.000000000 Z
11
+ date: 2022-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rgl
@@ -76,6 +76,7 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
78
  - ".rspec"
79
+ - ".rubocop.yml"
79
80
  - ".travis.yml"
80
81
  - CODE_OF_CONDUCT.md
81
82
  - Gemfile