deep-cover 0.1.14 → 0.1.15

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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +227 -0
  3. data/Gemfile +5 -2
  4. data/Rakefile +9 -6
  5. data/bin/console +3 -3
  6. data/bin/cov +8 -8
  7. data/bin/gemcov +2 -2
  8. data/bin/selfcov +5 -5
  9. data/bin/test_gems +11 -10
  10. data/bin/testall +6 -6
  11. data/deep_cover.gemspec +26 -21
  12. data/exe/deep-cover +1 -0
  13. data/lib/deep-cover.rb +2 -0
  14. data/lib/deep_cover.rb +3 -0
  15. data/lib/deep_cover/analyser.rb +2 -0
  16. data/lib/deep_cover/analyser/base.rb +2 -0
  17. data/lib/deep_cover/analyser/branch.rb +4 -2
  18. data/lib/deep_cover/analyser/covered_code_source.rb +3 -1
  19. data/lib/deep_cover/analyser/function.rb +3 -1
  20. data/lib/deep_cover/analyser/ignore_uncovered.rb +6 -4
  21. data/lib/deep_cover/analyser/node.rb +3 -0
  22. data/lib/deep_cover/analyser/optionally_covered.rb +12 -7
  23. data/lib/deep_cover/analyser/per_char.rb +7 -6
  24. data/lib/deep_cover/analyser/per_line.rb +9 -8
  25. data/lib/deep_cover/analyser/statement.rb +2 -0
  26. data/lib/deep_cover/analyser/subset.rb +4 -1
  27. data/lib/deep_cover/auto_run.rb +3 -0
  28. data/lib/deep_cover/autoload_tracker.rb +6 -3
  29. data/lib/deep_cover/backports.rb +2 -0
  30. data/lib/deep_cover/base.rb +11 -2
  31. data/lib/deep_cover/builtin_takeover.rb +2 -0
  32. data/lib/deep_cover/cli/debugger.rb +55 -30
  33. data/lib/deep_cover/cli/deep_cover.rb +17 -11
  34. data/lib/deep_cover/cli/instrumented_clone_reporter.rb +16 -14
  35. data/lib/deep_cover/config.rb +29 -16
  36. data/lib/deep_cover/core_ext/autoload_overrides.rb +2 -0
  37. data/lib/deep_cover/core_ext/coverage_replacement.rb +2 -0
  38. data/lib/deep_cover/core_ext/load_overrides.rb +5 -6
  39. data/lib/deep_cover/core_ext/require_overrides.rb +6 -7
  40. data/lib/deep_cover/coverage.rb +21 -18
  41. data/lib/deep_cover/covered_code.rb +22 -12
  42. data/lib/deep_cover/custom_requirer.rb +82 -35
  43. data/lib/deep_cover/memoize.rb +48 -0
  44. data/lib/deep_cover/module_override.rb +2 -0
  45. data/lib/deep_cover/node.rb +14 -1
  46. data/lib/deep_cover/node/arguments.rb +2 -0
  47. data/lib/deep_cover/node/assignments.rb +32 -30
  48. data/lib/deep_cover/node/base.rb +30 -29
  49. data/lib/deep_cover/node/begin.rb +3 -1
  50. data/lib/deep_cover/node/block.rb +5 -2
  51. data/lib/deep_cover/node/branch.rb +2 -1
  52. data/lib/deep_cover/node/case.rb +15 -13
  53. data/lib/deep_cover/node/collections.rb +2 -0
  54. data/lib/deep_cover/node/const.rb +2 -0
  55. data/lib/deep_cover/node/def.rb +10 -8
  56. data/lib/deep_cover/node/empty_body.rb +2 -0
  57. data/lib/deep_cover/node/exceptions.rb +3 -1
  58. data/lib/deep_cover/node/if.rb +3 -1
  59. data/lib/deep_cover/node/keywords.rb +4 -2
  60. data/lib/deep_cover/node/literals.rb +2 -0
  61. data/lib/deep_cover/node/loops.rb +5 -3
  62. data/lib/deep_cover/node/mixin/can_augment_children.rb +8 -7
  63. data/lib/deep_cover/node/mixin/check_completion.rb +3 -1
  64. data/lib/deep_cover/node/mixin/child_can_be_empty.rb +4 -2
  65. data/lib/deep_cover/node/mixin/executed_after_children.rb +2 -0
  66. data/lib/deep_cover/node/mixin/execution_location.rb +4 -2
  67. data/lib/deep_cover/node/mixin/flow_accounting.rb +2 -0
  68. data/lib/deep_cover/node/mixin/has_child.rb +22 -18
  69. data/lib/deep_cover/node/mixin/has_child_handler.rb +10 -8
  70. data/lib/deep_cover/node/mixin/has_tracker.rb +4 -2
  71. data/lib/deep_cover/node/mixin/is_statement.rb +3 -1
  72. data/lib/deep_cover/node/mixin/rewriting.rb +5 -3
  73. data/lib/deep_cover/node/mixin/wrapper.rb +2 -0
  74. data/lib/deep_cover/node/module.rb +11 -9
  75. data/lib/deep_cover/node/root.rb +2 -0
  76. data/lib/deep_cover/node/send.rb +4 -2
  77. data/lib/deep_cover/node/short_circuit.rb +4 -2
  78. data/lib/deep_cover/node/splat.rb +2 -0
  79. data/lib/deep_cover/node/variables.rb +2 -0
  80. data/lib/deep_cover/parser_ext/range.rb +3 -1
  81. data/lib/deep_cover/problem_with_diagnostic.rb +11 -9
  82. data/lib/deep_cover/reporter.rb +2 -0
  83. data/lib/deep_cover/reporter/istanbul.rb +28 -24
  84. data/lib/deep_cover/tools.rb +2 -0
  85. data/lib/deep_cover/tools/builtin_coverage.rb +6 -4
  86. data/lib/deep_cover/tools/camelize.rb +3 -1
  87. data/lib/deep_cover/tools/dasherize.rb +3 -1
  88. data/lib/deep_cover/tools/dump_covered_code.rb +7 -6
  89. data/lib/deep_cover/tools/execute_sample.rb +13 -13
  90. data/lib/deep_cover/tools/format.rb +3 -1
  91. data/lib/deep_cover/tools/format_char_cover.rb +4 -2
  92. data/lib/deep_cover/tools/format_generated_code.rb +3 -1
  93. data/lib/deep_cover/tools/number_lines.rb +2 -0
  94. data/lib/deep_cover/tools/our_coverage.rb +5 -3
  95. data/lib/deep_cover/tools/profiling.rb +66 -0
  96. data/lib/deep_cover/tools/require_relative_dir.rb +3 -1
  97. data/lib/deep_cover/tools/silence_warnings.rb +4 -1
  98. data/lib/deep_cover/tools/slice.rb +3 -1
  99. data/lib/deep_cover/tools/truncate_backtrace.rb +2 -0
  100. data/lib/deep_cover/version.rb +3 -1
  101. metadata +47 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e6de45ce3979398ef5abb25a8147848ad13fa370
4
- data.tar.gz: 74dfa0b7b03271419f0b2c7094e124b447392c46
3
+ metadata.gz: e42b3434b8b6263b660025dc15bb7247aff9d874
4
+ data.tar.gz: 070d3144cbaad64ffa807b17722a62fd810e7455
5
5
  SHA512:
6
- metadata.gz: 2a455c059204f7eeb91f57ca3d4453a7a79021ece85e3228b4a312034dcaef7d022f0776dc9179bcb1dc44049971ba5248fcdc94badcacc6ab1c08bbd9da195e
7
- data.tar.gz: 8c6ec4f7204c95968a329d1ae3896cf9c0e41c68973883add1beca6d1efdcdba353e09ff11dfa97651488a75e2cb4f6dd7cc70d5f23159b21efaba6e967233e4
6
+ metadata.gz: 77d1fd07c736c0045b554998b8448ea5c193af69e8cfe3c067b024d28afed61de22ebe5f5036df03664bb0ad2cbfe18a4c73b66d8fbc9b88dad52a52191d50d7
7
+ data.tar.gz: e16eeb31a67a181fda812a07332831ec58c4d3232147864315e33d0542137bccd1dd51e35a4a8f8db84063da8f68ca49082bfb75f6a69ed93f37270e06093bb0
@@ -0,0 +1,227 @@
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ Exclude:
4
+ - 'spec/char_cover/**/*'
5
+ - 'spec/cli_fixtures/**/*'
6
+ - 'spec/samples/**/*'
7
+ - 'spec/full_usage/**/*'
8
+ - 'spec/specs_tools.rb'
9
+ - 'bin/**/*'
10
+ TargetRubyVersion: 2.1
11
+
12
+
13
+ Layout/EmptyLines:
14
+ Enabled: false
15
+
16
+ Layout/EmptyLineBetweenDefs:
17
+ NumberOfEmptyLines: [1, 2]
18
+
19
+ Layout/FirstParameterIndentation:
20
+ IndentationWidth: 4
21
+
22
+ Layout/IndentArray:
23
+ EnforcedStyle: align_brackets
24
+
25
+ Layout/IndentHash:
26
+ EnforcedStyle: align_braces
27
+
28
+ Layout/MultilineArrayBraceLayout:
29
+ EnforcedStyle: new_line
30
+
31
+ Layout/MultilineHashBraceLayout:
32
+ EnforcedStyle: new_line
33
+
34
+ # Annoying when used with some api that have blocks with sometimes useful parameters
35
+ Lint/UnusedBlockArgument:
36
+ Enabled: false
37
+
38
+ # Annoying because it wines for &block parameters, which helps make signature more explicit
39
+ Lint/UnusedMethodArgument:
40
+ Enabled: false
41
+
42
+ Metrics/AbcSize:
43
+ Enabled: false
44
+
45
+ Metrics/BlockNesting:
46
+ Enabled: false
47
+
48
+ Metrics/BlockLength:
49
+ Enabled: false
50
+
51
+ Metrics/ClassLength:
52
+ Enabled: false
53
+
54
+ Metrics/CyclomaticComplexity:
55
+ Enabled: false
56
+
57
+ # Really, you aim for less than that, but we won't bug you unless you reach 150
58
+ Metrics/LineLength:
59
+ IgnoreCopDirectives: true
60
+ Max: 150
61
+
62
+ Metrics/MethodLength:
63
+ Enabled: false
64
+
65
+ Metrics/ModuleLength:
66
+ Enabled: false
67
+
68
+ Metrics/ParameterLists:
69
+ Enabled: false
70
+
71
+ Metrics/PerceivedComplexity:
72
+ Enabled: false
73
+
74
+ Performance/RedundantBlockCall:
75
+ Enabled: false
76
+
77
+ Rails/FilePath:
78
+ Enabled: false
79
+
80
+ Style/AsciiComments:
81
+ Enabled: false
82
+
83
+ Style/ClassAndModuleChildren:
84
+ Enabled: false
85
+
86
+ Style/ConditionalAssignment:
87
+ Enabled: false
88
+
89
+ Style/Documentation:
90
+ Enabled: false
91
+
92
+ # Can use a single nil in the else clause to remove the warning
93
+ Style/EmptyElse:
94
+ EnforcedStyle: empty
95
+
96
+ Style/EmptyMethod:
97
+ Enabled: false
98
+
99
+ Naming/FileName:
100
+ Enabled: false
101
+
102
+ # We target 2.2 to avoid cops that are not backward compatible, but we want this cop!
103
+ Style/FrozenStringLiteralComment:
104
+ EnforcedStyle: always
105
+
106
+ Style/InverseMethods:
107
+ InverseMethods:
108
+ :present?: :blank?,
109
+ :include?: :exclude?
110
+ Exclude:
111
+ - bin/*
112
+ - gemfiles/*
113
+
114
+ Style/NegatedIf:
115
+ Enabled: false
116
+
117
+ Style/NumericPredicate:
118
+ Enabled: false
119
+
120
+ Style/PercentLiteralDelimiters:
121
+ Enabled: false
122
+
123
+ # We tend to prefer the explicit aspect of sometimes using self.
124
+ Style/RedundantSelf:
125
+ Enabled: false
126
+
127
+ Style/StringLiterals:
128
+ EnforcedStyle: single_quotes
129
+
130
+ # Doesn't look right to force it in this case:
131
+ # where(belongs_to_reflection.foreign_type => value_class.base_class.name,
132
+ # belongs_to_reflection.foreign_key => values.first.id)
133
+ # But look better in some other cases. So disable
134
+ Style/TrailingCommaInArguments:
135
+ Enabled: false
136
+
137
+ Style/TrailingCommaInLiteral:
138
+ EnforcedStyleForMultiline: consistent_comma
139
+
140
+ Naming/VariableNumber:
141
+ Enabled: false
142
+
143
+ Style/WordArray:
144
+ Enabled: false
145
+
146
+ Layout/SpaceInsideHashLiteralBraces:
147
+ EnforcedStyle: no_space
148
+
149
+ Style/GlobalVars:
150
+ Enabled: false
151
+
152
+ Style/FormatStringToken:
153
+ EnforcedStyle: template
154
+
155
+ Style/MutableConstant:
156
+ Enabled: false # TODO: - Remove me one asap
157
+
158
+ Style/Alias:
159
+ EnforcedStyle: prefer_alias_method
160
+
161
+ Naming/PredicateName:
162
+ NamePrefix:
163
+ - is_
164
+ - have_
165
+ NamePrefixBlacklist:
166
+ - have_
167
+ NameWhitelist:
168
+ - is_statement
169
+ - is_child_statement
170
+
171
+ Style/GuardClause:
172
+ Enabled: false
173
+
174
+ Lint/Debugger:
175
+ Enabled: false # TODO: - Remove me one day
176
+
177
+ Style/EmptyCaseCondition:
178
+ Enabled: false
179
+
180
+ Lint/RescueException:
181
+ Enabled: false # TODO: - Remove me one asap
182
+
183
+ Style/DoubleNegation:
184
+ Enabled: false
185
+
186
+ Style/SymbolArray:
187
+ Enabled: false
188
+
189
+ Lint/Void:
190
+ Enabled: true
191
+ Exclude:
192
+ - spec/**/*
193
+
194
+ Style/ClassVars:
195
+ Enabled: false
196
+
197
+ Style/MultilineIfModifier:
198
+ Enabled: false
199
+
200
+ Style/NilComparison:
201
+ Enabled: false
202
+
203
+ Lint/EmptyWhen:
204
+ Enabled: false
205
+
206
+ Style/IfUnlessModifier:
207
+ Enabled: false
208
+
209
+ Naming/ConstantName:
210
+ Enabled: true
211
+ Exclude:
212
+ - lib/deep_cover/node/**/*
213
+
214
+ Style/RescueModifier:
215
+ Enabled: false
216
+
217
+ Style/PreferredHashMethods:
218
+ EnforcedStyle: verbose
219
+
220
+ Style/ModuleFunction:
221
+ Enabled: false
222
+
223
+ Style/Lambda:
224
+ EnforcedStyle: literal
225
+
226
+ Style/StructInheritance:
227
+ Enabled: false
data/Gemfile CHANGED
@@ -1,8 +1,11 @@
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 deep_cover.gemspec
6
8
  gemspec
7
9
 
8
10
  gem 'pry-byebug', platforms: :mri
11
+ gem 'ruby-prof', platforms: :mri
data/Rakefile CHANGED
@@ -1,13 +1,17 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
3
2
 
4
- RSpec::Core::RakeTask.new(:spec).tap{|task| task.pattern = "spec/*_spec.rb, spec/*/*_spec.rb"}
3
+ require 'bundler/gem_tasks'
4
+ require 'rspec/core/rake_task'
5
+ require 'rubocop/rake_task'
5
6
 
6
- task :default => :spec
7
+ RuboCop::RakeTask.new
7
8
 
9
+ RSpec::Core::RakeTask.new(:spec).tap { |task| task.pattern = 'spec/*_spec.rb, spec/*/*_spec.rb' }
10
+
11
+ multitask default: RUBY_VERSION > '2.1' ? [:rubocop, :spec] : :spec
8
12
 
9
13
  namespace :dev do
10
- desc "Setup extra things required to run the spec suite"
14
+ desc 'Setup extra things required to run the spec suite'
11
15
  task :install do
12
16
  commands = []
13
17
 
@@ -24,6 +28,5 @@ namespace :dev do
24
28
  end
25
29
  puts "Command succeeded: #{command}"
26
30
  end
27
-
28
31
  end
29
32
  end
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "deep_cover"
3
+ require 'bundler/setup'
4
+ require 'deep_cover'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- require "pry"
10
+ require 'pry'
11
11
  Pry.start
12
12
 
13
13
  # require "irb"
data/bin/cov CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
  module DeepCover
3
- require "bundler/setup"
3
+ require 'bundler/setup'
4
4
 
5
- $LOAD_PATH.unshift('../covered_deep_cover') if ENV["CC"]
6
- require "deep_cover"
7
- require_relative "../spec/specs_tools"
5
+ $LOAD_PATH.unshift('../covered_deep_cover') if ENV['CC']
6
+ require 'deep_cover'
7
+ require_relative '../spec/specs_tools'
8
8
  require 'deep_cover/cli/debugger'
9
9
 
10
10
  example = ARGV[0] || 'simple_if'
@@ -14,7 +14,7 @@ module DeepCover
14
14
  fn = File.absolute_path(fn)
15
15
  source = File.read(fn)
16
16
  else
17
- fn = "<passed_from_command_line>"
17
+ fn = '<passed_from_command_line>'
18
18
  source = ARGV[0].gsub(';;', "\n")
19
19
  end
20
20
 
@@ -26,7 +26,7 @@ module DeepCover
26
26
  item = -1
27
27
  examples = groups.flat_map do |title, examples|
28
28
  menu << Term::ANSIColor.green(title) if title
29
- menu.concat(examples.keys.map {|ex| " #{item+=1}: #{ex || '(General)'}"})
29
+ menu.concat(examples.keys.map { |ex| " #{item += 1}: #{ex || '(General)'}" })
30
30
  examples.values
31
31
  end
32
32
  if ARGV[1]
@@ -34,10 +34,10 @@ module DeepCover
34
34
  else
35
35
  require 'highline'
36
36
  puts menu
37
- answer = HighLine.new.ask(Term::ANSIColor.blue("Which? "), Integer) { |q| q.in = 0...examples.size }
37
+ answer = HighLine.new.ask(Term::ANSIColor.blue('Which? '), Integer) { |q| q.in = 0...examples.size }
38
38
  end
39
39
  lines, lineno = examples[answer]
40
40
  end
41
41
 
42
- CLI::Debugger.new(lines.join, filename: fn, lineno: lineno, debug: true).show
42
+ CLI::Debugger.new(lines.join, filename: fn, lineno: lineno, debug: true, profile: ENV['PROF']).show
43
43
  end
data/bin/gemcov CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
  module DeepCover
3
- require "bundler/setup"
3
+ require 'bundler/setup'
4
4
  require 'deep_cover'
5
5
  require 'deep_cover/cli/instrumented_clone_reporter'
6
6
 
7
- CLI::InstrumentedCloneReporter.new(ARGV[0] || "~/inky-rb").run
7
+ CLI::InstrumentedCloneReporter.new(ARGV[0] || '~/inky-rb').run
8
8
  end
@@ -1,21 +1,21 @@
1
1
  #!/usr/bin/env ruby
2
- require "bundler/setup"
3
- require "pry"
2
+ require 'bundler/setup'
3
+ require 'pry'
4
4
 
5
5
  covered_path = ARGV[0]
6
6
  if covered_path
7
7
  $LOAD_PATH.unshift(covered_path)
8
8
  end
9
- require "deep_cover"
9
+ require 'deep_cover'
10
10
 
11
11
  if covered_path.nil?
12
12
  covered_path = DeepCover::Tools.dump_covered_code_and_save('./lib', dest_path: '../covered_deep_cover')
13
- puts "Covered code generation done. Output in", covered_path
13
+ puts 'Covered code generation done. Output in', covered_path
14
14
  exec 'bin/selfcov', covered_path
15
15
  else
16
16
  coverage = DeepCover::Coverage.load(covered_path)
17
17
  require 'rspec'
18
18
  error = RSpec::Core::Runner::run(Dir.glob('./spec/*_spec.rb'))
19
- puts "Lines not covered:", coverage.report
19
+ puts 'Lines not covered:', coverage.report
20
20
  binding.pry
21
21
  end
@@ -1,21 +1,22 @@
1
1
  #!/usr/bin/env ruby
2
2
  $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
3
- require "deep_cover"
3
+ require 'deep_cover'
4
4
 
5
5
  def gem_list
6
6
  return %w[erubis thor i18n builder tzinfo diff-lcs rack-test tilt multipart-post diff-lcs
7
- rubygems-bundler method_source daemons hike multi_json rails-deprecated_sanitizer slop
8
- rspec-support thread_safe rspec-core rspec-expectations rspec-mocks rspec mini_portile
9
- multi_json rspec-support rspec-expectations rspec-mocks mail nokogiri rack rspec unf
10
- json thread_safe rspec-core json rack-protection sdoc docile faraday multi_xml coderay
11
- mime-types net-scp multi_json turbolinks formatador coffee-script rack-test] +
12
- %w[devise]
7
+ rubygems-bundler method_source daemons hike multi_json rails-deprecated_sanitizer slop
8
+ rspec-support thread_safe rspec-core rspec-expectations rspec-mocks rspec mini_portile
9
+ multi_json rspec-support rspec-expectations rspec-mocks mail nokogiri rack rspec unf
10
+ json thread_safe rspec-core json rack-protection sdoc docile faraday multi_xml coderay
11
+ mime-types net-scp multi_json turbolinks formatador coffee-script rack-test
12
+ ] +
13
+ %w[devise]
13
14
  # How I got those:
14
15
  require 'gems'
15
16
  Gems.most_downloaded
16
- .map(&:first) # discard nb downloads
17
- .map{|h| h['full_name']} # get name-0.1.2
18
- .map{|n| n.rpartition('-').first } # => name
17
+ .map(&:first) # discard nb downloads
18
+ .map { |h| h['full_name'] } # get name-0.1.2
19
+ .map { |n| n.rpartition('-').first } # => name
19
20
  end
20
21
 
21
22
  def install_gems
@@ -39,18 +39,18 @@ rubies = {}
39
39
  results = []
40
40
 
41
41
  if (`which rvm`; $?.success?)
42
- ruby_exec = "rvm-exec %{ruby_version} "
42
+ ruby_exec = 'rvm-exec %{ruby_version} '
43
43
  elsif (`which chruby-exec`; $?.success?)
44
- ruby_exec = "chruby-exec %{version} -- "
44
+ ruby_exec = 'chruby-exec %{version} -- '
45
45
  end
46
46
 
47
47
  configs.each do |ruby_version, gemfile|
48
- next if ruby_version == "ruby-head"
48
+ next if ruby_version == 'ruby-head'
49
49
 
50
- current_ruby_exec = ruby_exec % {ruby_version: ruby_version}
50
+ current_ruby_exec = format(ruby_exec, ruby_version: ruby_version)
51
51
 
52
- env_vars = { "BUNDLE_GEMFILE" => gemfile, "WITHOUT_PENDING" => ENV["WITHOUT_PENDING"] || "1"}
53
- gemfile_text = gemfile || "Default gemfile"
52
+ env_vars = {'BUNDLE_GEMFILE' => gemfile, 'WITHOUT_PENDING' => ENV['WITHOUT_PENDING'] || '1'}
53
+ gemfile_text = gemfile || 'Default gemfile'
54
54
  success = true
55
55
 
56
56
  if !rubies.include?(ruby_version)
@@ -1,46 +1,51 @@
1
- # coding: utf-8
2
- lib = File.expand_path("../lib", __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "deep_cover/version"
5
+ require 'deep_cover/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
- spec.name = "deep-cover"
8
+ spec.name = 'deep-cover'
8
9
  spec.version = DeepCover::VERSION
9
- spec.authors = ["Marc-André Lafortune", "Maxime Lapointe"]
10
- spec.email = ["github@marc-andre.ca", "hunter_spawn@hotmail.com"]
10
+ spec.authors = ['Marc-André Lafortune', 'Maxime Lapointe']
11
+ spec.email = ['github@marc-andre.ca', 'hunter_spawn@hotmail.com']
11
12
 
12
- spec.summary = %q{Write a short summary, because Rubygems requires one.}
13
- spec.description = %q{Write a longer description or delete this line.}
14
- spec.homepage = "http://github.com"
15
- spec.license = "MIT"
13
+ spec.summary = 'In depth coverage of your Ruby code.'
14
+ spec.description = 'expression and branch coverage for Ruby.'
15
+ spec.homepage = 'http://github.com'
16
+ spec.license = 'MIT'
16
17
 
17
18
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
19
  f.match(%r{^(test|spec|features)/})
19
20
  end
20
- spec.bindir = "exe"
21
+ spec.bindir = 'exe'
21
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
- spec.require_paths = ["lib"]
23
+ spec.require_paths = ['lib']
23
24
 
24
25
  ### Runtime dependencies
25
- spec.required_ruby_version = ">= 2.0.0"
26
+ spec.required_ruby_version = '>= 2.0.0'
26
27
 
28
+ # Main dependency
27
29
  spec.add_runtime_dependency 'parser'
30
+
31
+ # Support
28
32
  spec.add_runtime_dependency 'backports', '>= 3.10.1'
29
33
  spec.add_runtime_dependency 'binding_of_caller'
30
34
 
31
35
  # CLI
32
- spec.add_runtime_dependency "term-ansicolor"
33
- spec.add_runtime_dependency "highline"
34
- spec.add_runtime_dependency 'with_progress'
36
+ spec.add_runtime_dependency 'highline'
35
37
  spec.add_runtime_dependency 'slop', '~> 4.0'
38
+ spec.add_runtime_dependency 'term-ansicolor'
39
+ spec.add_runtime_dependency 'with_progress'
36
40
 
37
41
  # While in 0.x
38
42
  spec.add_runtime_dependency 'pry'
39
43
 
40
44
  ### Dev dependencies
41
- spec.add_development_dependency "bundler", "~> 1.15"
42
- spec.add_development_dependency "rake", "~> 10.0"
43
- spec.add_development_dependency "rspec", "~> 3.0"
44
- spec.add_development_dependency 'activesupport', "~> 4.0"
45
- spec.add_development_dependency "psych", ">= 2.0"
45
+ spec.add_development_dependency 'activesupport', '~> 4.0'
46
+ spec.add_development_dependency 'bundler', '~> 1.15'
47
+ spec.add_development_dependency 'psych', '>= 2.0'
48
+ spec.add_development_dependency 'rake', '~> 10.0'
49
+ spec.add_development_dependency 'rspec', '~> 3.0'
50
+ spec.add_development_dependency 'rubocop'
46
51
  end