rspec-mock 0.3.1 → 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: 4d41231dea8720ca4d76f823472bf581d84a4a9da3461af451be605edf8cfa78
4
- data.tar.gz: 7d1fd9ca4ec0a33f542265031a0e7dbb388027df244f647495f53c3127d70c56
3
+ metadata.gz: 8e883de11242d052f62a1c71561da13eab05e1ab3017b99c0195dc53b018dcf9
4
+ data.tar.gz: 94a8aa02334ac7ce4f20be787fe7cc55f33fed352681ad8125fc03ac85cde3da
5
5
  SHA512:
6
- metadata.gz: ee0c689523327ad6ab0dfdde7561f1eb2ddb58a140c5170a64eafaa25a6c0f06b60359a8e321a513c948cf2c117a01a3f483e78d448e857d9584b1a173c2ba6d
7
- data.tar.gz: 3721b1aa583ec74d3762061746a776c15bb03d983e3140bd2dad004ec4171ec96fb7593f7136a3d8957cb46e8138202428b25bbf321e7abeb38d011bd981dfac
6
+ metadata.gz: a3130160c9fff353aaf325f054bbf573bac8f32201fb2cbf8bd2c1f777deddae6b6bba030e479cc97240f3b967d09598b4a9312b45fa08ad088f9904664615c6
7
+ data.tar.gz: c9bd824aa0ebfbacb914bcca33f944a5763ca8203f1e07a4c1fb38323e6335be2101e1fe8a1e0ed6fdf599a90fa13ba5c4dda2139bc6b498c31b06f5af8f5dbc
@@ -13,13 +13,15 @@ module RSpec
13
13
  end
14
14
 
15
15
  require_relative 'migration_analytics/file_analyzer'
16
- require_relative 'migration_analytics/cli'
16
+ require_relative 'migration_analytics/printer'
17
17
  end
18
18
 
19
19
  require_relative 'configuration'
20
20
  require_relative 'context'
21
21
  require_relative 'methods'
22
22
  require_relative 'version'
23
+
24
+ require_relative(defined?(::Rails) ? 'railtie' : 'task')
23
25
  end
24
26
 
25
27
  module Core
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env ruby
2
1
  # frozen_string_literal: true
3
2
 
4
3
  require 'colorize'
@@ -12,39 +11,16 @@ require_relative 'file_analyzer'
12
11
  module RSpec
13
12
  module Mock
14
13
  module MigrationAnalytics
15
- class Cli
14
+ class Printer
16
15
  class << self
17
- def call
18
- if ::ARGV.empty?
19
- print_usage
20
- exit 1
21
- end
22
-
23
- begin
24
- verify_path(::ARGV[0])
25
- rescue => error
26
- puts("\n❌ Error: #{error.message}".red)
27
- puts(error.backtrace) if ENV['DEBUG']
28
- end
29
- end
16
+ def call(path)
17
+ return verify_directory(path) if ::File.directory?(path)
30
18
 
31
- def verify_path(path)
32
- case
33
- when ::File.directory?(path) then verify_directory(path)
34
- else verify_file(path)
35
- end
19
+ verify_file(path)
36
20
  end
37
21
 
38
22
  private
39
23
 
40
- def print_usage
41
- puts('Usage: ruby cli.rb <path_to_spec_file_or_directory>'.yellow)
42
- puts("\nExamples:".blue)
43
- puts(' ruby cli.rb spec/models/user_spec.rb')
44
- puts(' ruby cli.rb spec/models/')
45
- puts(' ruby cli.rb spec/')
46
- end
47
-
48
24
  def verify_directory(dir_path) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
49
25
  results = []
50
26
  stats = {
@@ -188,5 +164,3 @@ module RSpec
188
164
  end
189
165
  end
190
166
  end
191
-
192
- RSpec::Mock::MigrationAnalytics::Cli.call if __FILE__.eql?($PROGRAM_NAME)
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RSpec
4
+ module Mock
5
+ class Railtie < ::Rails::Railtie
6
+ rake_tasks do
7
+ load(::File.join(::File.dirname(__FILE__), 'tasks', 'rspec_mock.rake'))
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'rake'
4
+
5
+ module RSpec
6
+ module Mock
7
+ class Task
8
+ def self.load
9
+ ::Kernel.load(::File.join(::File.dirname(__FILE__), 'tasks', 'rspec_mock.rake'))
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ namespace :rspec_mock do
4
+ namespace :migration_analytics do
5
+ desc 'Analyze Flexmock usage and track migration progress to RSpec mocks'
6
+ # :nocov:
7
+ task :flexmock do
8
+ require 'rspec/mock/migration_analytics/printer'
9
+
10
+ path = ::ARGV[1] || 'spec'
11
+ puts("\n🔍 Analyzing Flexmock usage in: #{path}")
12
+ RSpec::Mock::MigrationAnalytics::Printer.call(path)
13
+ end
14
+ # :nocov:
15
+ end
16
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module RSpec
4
4
  module Mock
5
- VERSION = '0.3.1'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
data/rspec-mock.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = %w[lib]
28
28
 
29
29
  spec.add_runtime_dependency 'colorize', '>= 0.8.1'
30
+ spec.add_runtime_dependency 'rake', '~> 13.2', '>= 13.2.1'
30
31
  spec.add_runtime_dependency 'rspec-core', '~> 3.10'
31
32
  spec.add_runtime_dependency 'rspec-mocks', '~> 3.10'
32
33
  spec.add_runtime_dependency 'terminal-table', '~> 3.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladislav Trotsenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-08 00:00:00.000000000 Z
11
+ date: 2024-11-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize
@@ -24,6 +24,26 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.8.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 13.2.1
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "~>"
42
+ - !ruby/object:Gem::Version
43
+ version: '13.2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 13.2.1
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: rspec-core
29
49
  requirement: !ruby/object:Gem::Requirement
@@ -98,11 +118,14 @@ files:
98
118
  - lib/rspec/mock/context.rb
99
119
  - lib/rspec/mock/core.rb
100
120
  - lib/rspec/mock/methods.rb
101
- - lib/rspec/mock/migration_analytics/cli.rb
102
121
  - lib/rspec/mock/migration_analytics/file_analyzer.rb
122
+ - lib/rspec/mock/migration_analytics/printer.rb
103
123
  - lib/rspec/mock/migration_analytics/tracker/base.rb
104
124
  - lib/rspec/mock/migration_analytics/tracker/flexmock.rb
105
125
  - lib/rspec/mock/migration_analytics/tracker/rspec.rb
126
+ - lib/rspec/mock/railtie.rb
127
+ - lib/rspec/mock/task.rb
128
+ - lib/rspec/mock/tasks/rspec_mock.rake
106
129
  - lib/rspec/mock/version.rb
107
130
  - rspec-mock.gemspec
108
131
  homepage: https://github.com/mocktools/ruby-rspec-mock