calcifer 0.2.1 → 0.3.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: 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