deep-cover 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
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