coveralls_reborn 0.9.0 → 0.10.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
  SHA1:
3
- metadata.gz: e8a2382688150917f88dd65c6dbfe10bc8493d96
4
- data.tar.gz: cac2d0782c26a3c024a4669348a1ac7f349fa1a5
3
+ metadata.gz: f4cd807256f3b2424a9ebd737660d179e8bb448f
4
+ data.tar.gz: 1c83b8e8be4f2d03bf62c26996ff34c52c0f3be2
5
5
  SHA512:
6
- metadata.gz: 2153cfea1a78341b8a885372824eb86a3c4c65b651a99bed8c32d70c23dbe6d1dc50eac20cfabdb77190aa4016a652eb2b316a016c965503c4d3e6516bd00227
7
- data.tar.gz: 978e7712cc5f2979bdd9b75424fc18326fc7693b5ea50b0863acf1e5bd672994df24cf0e732a312d68bc4dbd9e75e78a1ce28fbd691111cc4b8a455e0f919cc3
6
+ metadata.gz: ffd14ccfc5339a43af2951d40be456a27b2d3d805406cd8fe5519a23eea58e6324c5c6ce5b8c5f8ea5ab626d139d3081a6a8efd14b4b62b870299237fad9e13a
7
+ data.tar.gz: 359db8935442a61cb3d676d73a59ac9be7a5f2647ca238b80daa824d84012485253564274a550d80e7099539538e70f2d43e86bdea61b1458a61aeaa6797f3e0
data/.rubocop.yml ADDED
@@ -0,0 +1,59 @@
1
+ require: rubocop-rspec
2
+
3
+ AllCops:
4
+ DisplayCopNames: true
5
+ TargetRubyVersion: 2.1
6
+ Exclude:
7
+ - 'spec/coveralls/fixtures/**/*'
8
+ - 'vendor/bundle/**/*'
9
+
10
+ Lint/HandleExceptions:
11
+ Enabled: false
12
+
13
+ Metrics/AbcSize:
14
+ Max: 37
15
+
16
+ Metrics/CyclomaticComplexity:
17
+ Max: 18
18
+
19
+ Metrics/PerceivedComplexity:
20
+ Max: 19
21
+
22
+ Metrics/BlockLength:
23
+ Exclude:
24
+ - 'spec/**/*'
25
+
26
+ Metrics/LineLength:
27
+ Enabled: false
28
+
29
+ Metrics/MethodLength:
30
+ Enabled: false
31
+
32
+ Metrics/ModuleLength:
33
+ Exclude:
34
+ - 'lib/coveralls/configuration.rb'
35
+ - 'spec/**/*'
36
+
37
+ Naming/AccessorMethodName:
38
+ Exclude:
39
+ - 'lib/coveralls/configuration.rb'
40
+
41
+ RSpec/ExampleLength:
42
+ Max: 8
43
+
44
+ RSpec/MultipleExpectations:
45
+ Enabled: false
46
+
47
+ RSpec/NamedSubject:
48
+ Enabled: false
49
+
50
+ RSpec/NestedGroups:
51
+ Max: 4
52
+
53
+ Style/Documentation:
54
+ Enabled: false
55
+
56
+ # TODO: Remove when targeting Ruby 2.3 because it is already enabled.
57
+ Style/FrozenStringLiteralComment:
58
+ Enabled: true
59
+ EnforcedStyle: always
data/.travis.yml CHANGED
@@ -7,18 +7,23 @@ sudo: false
7
7
  before_install:
8
8
  - gem update bundler
9
9
 
10
+ env:
11
+ global:
12
+ # --dev improves JRuby startup time
13
+ # --debug reports proper coverage to SimpleCov
14
+ # See https://github.com/jruby/jruby/wiki/Improving-startup-time
15
+ - JRUBY_OPTS="--dev --debug"
16
+
10
17
  rvm:
11
- - 1.9.3
12
- - 2.0.0
13
18
  - 2.1.10
14
19
  - 2.2.8
15
20
  - 2.3.5
16
21
  - 2.4.2
17
22
  - ruby-head
18
- - jruby
23
+ - jruby-9.1.13.0
19
24
 
20
25
  matrix:
21
26
  allow_failures:
22
27
  - rvm: ruby-head
23
- - rvm: jruby
28
+ - rvm: jruby-9.1.13.0
24
29
  fast_finish: true
data/Gemfile CHANGED
@@ -1,29 +1,30 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in coveralls-ruby.gemspec
4
6
  gemspec
5
7
 
6
- gem 'rake', '~> 12.0'
7
- gem 'rspec', '~> 3.6'
8
- gem 'simplecov', require: false
9
- gem 'truthy', '~> 1.0'
10
- gem 'vcr', '~> 3.0'
11
- gem 'webmock', Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0') ? '~> 2.3' : '~> 3.0'
12
-
13
- platforms :ruby_19 do
14
- gem 'term-ansicolor', '~> 1.3.0'
15
- gem 'tins', '~> 1.6.0'
8
+ platforms :jruby do
9
+ gem 'jruby-openssl', '~> 0.9.21'
16
10
  end
17
11
 
18
- platforms :jruby do
19
- gem 'jruby-openssl'
12
+ platforms :rbx do
13
+ gem 'rubinius-developer_tools', '~> 2.0'
14
+ gem 'rubysl', '~> 2.2'
20
15
  end
21
16
 
22
- platform :rbx do
23
- gem 'rubysl', '~> 2.0'
24
- gem 'rubinius-developer_tools'
17
+ group :development do
18
+ gem 'rake', '~> 12.2'
19
+ gem 'rspec', '~> 3.7'
20
+ gem 'rubocop', '~> 0.51.0'
21
+ gem 'rubocop-rspec', '~> 1.20'
22
+ gem 'simplecov', '~> 0.15.1', require: false
23
+ gem 'truthy', '~> 1.0'
24
+ gem 'vcr', '~> 3.0'
25
+ gem 'webmock', '~> 3.1'
25
26
  end
26
27
 
27
28
  group :test do
28
- gem 'pry'
29
+ gem 'pry', '~> 0.11.3'
29
30
  end
data/LICENSE CHANGED
@@ -1,22 +1,21 @@
1
- Copyright (c) 2012 Wil Gieseler
2
-
3
1
  MIT License
4
2
 
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
3
+ Copyright (c) 2017 Wil Gieseler
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
12
11
 
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
15
14
 
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
- # [Coveralls Reborn](http://coveralls.io) for Ruby [![Test Coverage](https://coveralls.io/repos/tagliala/coveralls-ruby-reborn/badge.svg?branch=master)](https://coveralls.io/r/tagliala/coveralls-ruby-reborn) [![Build Status](https://secure.travis-ci.org/tagliala/coveralls-ruby-reborn.svg?branch=master)](https://travis-ci.org/tagliala/coveralls-ruby-reborn) [![Gem Version](https://badge.fury.io/rb/coveralls.svg)](http://badge.fury.io/rb/coveralls)
1
+ # [Coveralls Reborn](http://coveralls.io) for Ruby [![Test Coverage](https://coveralls.io/repos/tagliala/coveralls-ruby-reborn/badge.svg?branch=master)](https://coveralls.io/r/tagliala/coveralls-ruby-reborn) [![Build Status](https://secure.travis-ci.org/tagliala/coveralls-ruby-reborn.svg?branch=master)](https://travis-ci.org/tagliala/coveralls-ruby-reborn) [![Gem Version](https://badge.fury.io/rb/coveralls_reborn.svg)](http://badge.fury.io/rb/coveralls_reborn) [![Dependency Status](https://gemnasium.com/badges/github.com/tagliala/coveralls-ruby-reborn.svg)](https://gemnasium.com/github.com/tagliala/coveralls-ruby-reborn)
2
2
 
3
3
  ### [Read the docs &rarr;](https://coveralls.zendesk.com/hc/en-us/articles/201769485-Ruby-Rails)
4
4
 
5
5
  An up-to-date fork of [lemurheavy/coveralls-ruby](https://github.com/lemurheavy/coveralls-ruby)
6
+
7
+ Add to your `Gemfile`:
8
+
9
+ ```rb
10
+ gem 'coveralls_reborn', '~> 0.10.0', require: false
11
+ ```
data/Rakefile CHANGED
@@ -1,14 +1,20 @@
1
1
  #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/gem_tasks'
3
5
 
4
6
  # Travis!
5
7
  require 'rubygems'
6
8
  require 'rake'
7
9
  require 'rspec/core/rake_task'
8
10
 
9
- desc "Run RSpec"
11
+ require 'rubocop/rake_task'
12
+
13
+ RuboCop::RakeTask.new
14
+
15
+ desc 'Run RSpec'
10
16
  RSpec::Core::RakeTask.new do |t|
11
17
  t.verbose = false
12
18
  end
13
19
 
14
- task default: :spec
20
+ task default: %i[rubocop spec]
data/bin/coveralls CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  lib = File.expand_path(File.dirname(__FILE__) + '/../lib')
4
5
  $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
@@ -6,4 +7,4 @@ $LOAD_PATH.unshift(lib) if File.directory?(lib) && !$LOAD_PATH.include?(lib)
6
7
  require 'coveralls'
7
8
  require 'coveralls/command'
8
9
 
9
- Coveralls::CommandLine.start
10
+ Coveralls::CommandLine.start
@@ -1,29 +1,31 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path('../lib', __FILE__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require 'coveralls/version'
4
6
 
5
7
  Gem::Specification.new do |gem|
6
- gem.authors = ["Geremia Taglialatela"]
7
- gem.email = ["tagliala.dev@gmail.com"]
8
- gem.description = "A Ruby implementation of the Coveralls API."
9
- gem.summary = "A Ruby implementation of the Coveralls API."
10
- gem.homepage = "https://coveralls.io"
11
- gem.license = "MIT"
8
+ gem.authors = ['Nick Merwin', 'Wil Gieseler', 'Geremia Taglialatela']
9
+ gem.email = ['nick@lemurheavy.com', 'supapuerco@gmail.com', 'tagliala.dev@gmail.com']
10
+ gem.description = 'A Ruby implementation of the Coveralls API.'
11
+ gem.summary = 'A Ruby implementation of the Coveralls API.'
12
+ gem.homepage = 'https://coveralls.io'
13
+ gem.license = 'MIT'
12
14
 
13
- gem.files = `git ls-files`.split($\)
14
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
15
+ gem.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
15
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
- gem.name = "coveralls_reborn"
17
- gem.require_paths = ["lib"]
18
+ gem.name = 'coveralls_reborn'
19
+ gem.require_paths = ['lib']
18
20
  gem.version = Coveralls::VERSION
19
21
 
20
- gem.required_ruby_version = '>= 1.9.3'
22
+ gem.required_ruby_version = '>= 2.1'
21
23
 
22
24
  gem.add_dependency 'json', '~> 2.1'
23
25
  gem.add_dependency 'simplecov', '~> 0.15.1'
24
- gem.add_dependency 'tins', '~> 1.6'
25
26
  gem.add_dependency 'term-ansicolor', '~> 1.3'
26
27
  gem.add_dependency 'thor', '~> 0.20.0'
28
+ gem.add_dependency 'tins', '~> 1.6'
27
29
 
28
- gem.add_development_dependency 'bundler', '~> 1.15'
30
+ gem.add_development_dependency 'bundler', '~> 1.16'
29
31
  end
data/lib/coveralls/api.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'json'
2
4
  require 'net/https'
3
5
  require 'tempfile'
@@ -8,121 +10,123 @@ module Coveralls
8
10
  API_HOST = ENV['COVERALLS_ENDPOINT']
9
11
  API_DOMAIN = ENV['COVERALLS_ENDPOINT']
10
12
  else
11
- API_HOST = ENV['COVERALLS_DEVELOPMENT'] ? "localhost:3000" : "coveralls.io"
12
- API_PROTOCOL = ENV['COVERALLS_DEVELOPMENT'] ? "http" : "https"
13
- API_DOMAIN = "#{API_PROTOCOL}://#{API_HOST}"
13
+ API_HOST = ENV['COVERALLS_DEVELOPMENT'] ? 'localhost:3000' : 'coveralls.io'
14
+ API_PROTOCOL = ENV['COVERALLS_DEVELOPMENT'] ? 'http' : 'https'
15
+ API_DOMAIN = "#{API_PROTOCOL}://#{API_HOST}".freeze
14
16
  end
15
17
 
16
- API_BASE = "#{API_DOMAIN}/api/v1"
18
+ API_BASE = "#{API_DOMAIN}/api/v1".freeze
17
19
 
18
20
  def self.post_json(endpoint, hash)
19
21
  disable_net_blockers!
20
22
 
21
23
  uri = endpoint_to_uri(endpoint)
22
24
 
23
- Coveralls::Output.puts("#{ JSON.pretty_generate(hash) }", color: "green") if ENV['COVERALLS_DEBUG']
24
- Coveralls::Output.puts("[Coveralls] Submitting to #{API_BASE}", color: "cyan")
25
+ Coveralls::Output.puts(JSON.pretty_generate(hash).to_s, color: 'green') if ENV['COVERALLS_DEBUG']
26
+ Coveralls::Output.puts("[Coveralls] Submitting to #{API_BASE}", color: 'cyan')
25
27
 
26
28
  client = build_client(uri)
27
29
  request = build_request(uri.path, hash)
28
30
 
29
31
  response = client.request(request)
30
32
 
31
- response_hash = JSON.load(response.body.to_str)
33
+ response_hash = JSON.parse(response.body.to_str)
32
34
 
33
35
  if response_hash['message']
34
- Coveralls::Output.puts("[Coveralls] #{ response_hash['message'] }", color: "cyan")
36
+ Coveralls::Output.puts("[Coveralls] #{response_hash['message']}", color: 'cyan')
35
37
  end
36
38
 
37
39
  if response_hash['url']
38
- Coveralls::Output.puts("[Coveralls] #{ Coveralls::Output.format(response_hash['url'], color: "underline") }", color: "cyan")
40
+ Coveralls::Output.puts("[Coveralls] #{Coveralls::Output.format(response_hash['url'], color: 'underline')}", color: 'cyan')
39
41
  end
40
42
 
41
43
  case response
42
44
  when Net::HTTPServiceUnavailable
43
- Coveralls::Output.puts("[Coveralls] API timeout occured, but data should still be processed", color: "red")
45
+ Coveralls::Output.puts('[Coveralls] API timeout occured, but data should still be processed', color: 'red')
44
46
  when Net::HTTPInternalServerError
45
- Coveralls::Output.puts("[Coveralls] API internal error occured, we're on it!", color: "red")
47
+ Coveralls::Output.puts("[Coveralls] API internal error occured, we're on it!", color: 'red')
46
48
  end
47
49
  end
48
50
 
49
- private
51
+ class << self
52
+ private
50
53
 
51
- def self.disable_net_blockers!
52
- begin
53
- require 'webmock'
54
+ def disable_net_blockers!
55
+ begin
56
+ require 'webmock'
54
57
 
55
- allow = WebMock::Config.instance.allow || []
56
- WebMock::Config.instance.allow = [*allow].push API_HOST
57
- rescue LoadError
58
- end
58
+ allow = WebMock::Config.instance.allow || []
59
+ WebMock::Config.instance.allow = [*allow].push API_HOST
60
+ rescue LoadError
61
+ end
59
62
 
60
- begin
61
- require 'vcr'
63
+ begin
64
+ require 'vcr'
62
65
 
63
- VCR.send(VCR.version.major < 2 ? :config : :configure) do |c|
64
- c.ignore_hosts API_HOST
66
+ VCR.send(VCR.version.major < 2 ? :config : :configure) do |c|
67
+ c.ignore_hosts API_HOST
68
+ end
69
+ rescue LoadError
65
70
  end
66
- rescue LoadError
67
71
  end
68
- end
69
72
 
70
- def self.endpoint_to_uri(endpoint)
71
- URI.parse("#{API_BASE}/#{endpoint}")
72
- end
73
+ def endpoint_to_uri(endpoint)
74
+ URI.parse("#{API_BASE}/#{endpoint}")
75
+ end
73
76
 
74
- def self.build_client(uri)
75
- client = Net::HTTP.new(uri.host, uri.port)
76
- client.use_ssl = true if uri.port == 443
77
- client.verify_mode = OpenSSL::SSL::VERIFY_NONE
77
+ def build_client(uri)
78
+ client = Net::HTTP.new(uri.host, uri.port)
79
+ client.use_ssl = true if uri.port == 443
80
+ client.verify_mode = OpenSSL::SSL::VERIFY_NONE
78
81
 
79
- unless client.respond_to?(:ssl_version=)
80
- Net::HTTP.ssl_context_accessor("ssl_version")
81
- end
82
+ unless client.respond_to?(:ssl_version=)
83
+ Net::HTTP.ssl_context_accessor('ssl_version')
84
+ end
82
85
 
83
- client.ssl_version = 'TLSv1'
86
+ client.ssl_version = 'TLSv1'
84
87
 
85
- client
86
- end
88
+ client
89
+ end
87
90
 
88
- def self.build_request(path, hash)
89
- request = Net::HTTP::Post.new(path)
90
- boundary = rand(1_000_000).to_s
91
+ def build_request(path, hash)
92
+ request = Net::HTTP::Post.new(path)
93
+ boundary = rand(1_000_000).to_s
91
94
 
92
- request.body = build_request_body(hash, boundary)
93
- request.content_type = "multipart/form-data, boundary=#{boundary}"
95
+ request.body = build_request_body(hash, boundary)
96
+ request.content_type = "multipart/form-data, boundary=#{boundary}"
94
97
 
95
- request
96
- end
98
+ request
99
+ end
97
100
 
98
- def self.build_request_body(hash, boundary)
99
- hash = apified_hash(hash)
100
- file = hash_to_file(hash)
101
+ def build_request_body(hash, boundary)
102
+ hash = apified_hash(hash)
103
+ file = hash_to_file(hash)
101
104
 
102
- "--#{boundary}\r\n" \
103
- "Content-Disposition: form-data; name=\"json_file\"; filename=\"#{File.basename(file.path)}\"\r\n" \
104
- "Content-Type: text/plain\r\n\r\n" +
105
- File.read(file.path) +
106
- "\r\n--#{boundary}--\r\n"
107
- end
105
+ "--#{boundary}\r\n" \
106
+ "Content-Disposition: form-data; name=\"json_file\"; filename=\"#{File.basename(file.path)}\"\r\n" \
107
+ "Content-Type: text/plain\r\n\r\n" +
108
+ File.read(file.path) +
109
+ "\r\n--#{boundary}--\r\n"
110
+ end
108
111
 
109
- def self.hash_to_file(hash)
110
- file = nil
111
- Tempfile.open(['coveralls-upload', 'json']) do |f|
112
- f.write(JSON.dump hash)
113
- file = f
112
+ def hash_to_file(hash)
113
+ file = nil
114
+ Tempfile.open(['coveralls-upload', 'json']) do |f|
115
+ f.write(JSON.dump(hash))
116
+ file = f
117
+ end
118
+ File.new(file.path, 'rb')
114
119
  end
115
- File.new(file.path, 'rb')
116
- end
117
120
 
118
- def self.apified_hash hash
119
- config = Coveralls::Configuration.configuration
120
- if ENV['COVERALLS_DEBUG'] || Coveralls.testing
121
- Coveralls::Output.puts "[Coveralls] Submitting with config:", color: "yellow"
122
- output = JSON.pretty_generate(config).gsub(/"repo_token": ?"(.*?)"/,'"repo_token": "[secure]"')
123
- Coveralls::Output.puts output, color: "yellow"
121
+ def apified_hash(hash)
122
+ config = Coveralls::Configuration.configuration
123
+ if ENV['COVERALLS_DEBUG'] || Coveralls.testing
124
+ Coveralls::Output.puts '[Coveralls] Submitting with config:', color: 'yellow'
125
+ output = JSON.pretty_generate(config).gsub(/"repo_token": ?"(.*?)"/, '"repo_token": "[secure]"')
126
+ Coveralls::Output.puts output, color: 'yellow'
127
+ end
128
+ hash.merge(config)
124
129
  end
125
- hash.merge(config)
126
130
  end
127
131
  end
128
132
  end
@@ -1,69 +1,73 @@
1
- require "thor"
1
+ # frozen_string_literal: true
2
+
3
+ require 'thor'
2
4
 
3
5
  module Coveralls
4
6
  class CommandLine < Thor
5
-
6
- desc "push", "Runs your test suite and pushes the coverage results to Coveralls."
7
+ desc 'push', 'Runs your test suite and pushes the coverage results to Coveralls.'
7
8
  def push
8
9
  return unless ensure_can_run_locally!
9
- ENV["COVERALLS_RUN_LOCALLY"] = "true"
10
- cmds = ["bundle exec rake"]
10
+ ENV['COVERALLS_RUN_LOCALLY'] = 'true'
11
+ cmds = ['bundle exec rake']
11
12
  if File.exist?('.travis.yml')
12
- cmds = YAML.load_file('.travis.yml')["script"] || cmds rescue cmds
13
+ cmds = begin
14
+ YAML.load_file('.travis.yml')['script'] || cmds
15
+ rescue StandardError
16
+ cmds
17
+ end
13
18
  end
14
19
  cmds.each { |cmd| system cmd }
15
- ENV["COVERALLS_RUN_LOCALLY"] = nil
20
+ ENV['COVERALLS_RUN_LOCALLY'] = nil
16
21
  end
17
22
 
18
- desc "report", "Runs your test suite locally and displays coverage statistics."
23
+ desc 'report', 'Runs your test suite locally and displays coverage statistics.'
19
24
  def report
20
- ENV["COVERALLS_NOISY"] = "true"
21
- exec "bundle exec rake"
22
- ENV["COVERALLS_NOISY"] = nil
25
+ ENV['COVERALLS_NOISY'] = 'true'
26
+ exec 'bundle exec rake'
27
+ ENV['COVERALLS_NOISY'] = nil
23
28
  end
24
29
 
25
- desc "open", "View this repository on Coveralls."
30
+ desc 'open', 'View this repository on Coveralls.'
26
31
  def open
27
- open_token_based_url "https://coveralls.io/repos/%@"
32
+ open_token_based_url 'https://coveralls.io/repos/%@'
28
33
  end
29
34
 
30
- desc "service", "View this repository on your CI service's website."
35
+ desc 'service', "View this repository on your CI service's website."
31
36
  def service
32
- open_token_based_url "https://coveralls.io/repos/%@/service"
37
+ open_token_based_url 'https://coveralls.io/repos/%@/service'
33
38
  end
34
39
 
35
- desc "last", "View the last build for this repository on Coveralls."
40
+ desc 'last', 'View the last build for this repository on Coveralls.'
36
41
  def last
37
- open_token_based_url "https://coveralls.io/repos/%@/last_build"
42
+ open_token_based_url 'https://coveralls.io/repos/%@/last_build'
38
43
  end
39
44
 
40
- desc "version", "See version"
45
+ desc 'version', 'See version'
41
46
  def version
42
47
  Coveralls::Output.puts Coveralls::VERSION
43
48
  end
44
49
 
45
50
  private
46
51
 
47
- def open_token_based_url url
52
+ def open_token_based_url(url)
48
53
  config = Coveralls::Configuration.configuration
49
54
  if config[:repo_token]
50
- url = url.gsub("%@", config[:repo_token])
55
+ url = url.gsub('%@', config[:repo_token])
51
56
  `open #{url}`
52
57
  else
53
- Coveralls::Output.puts "No repo_token configured."
58
+ Coveralls::Output.puts 'No repo_token configured.'
54
59
  end
55
60
  end
56
61
 
57
62
  def ensure_can_run_locally!
58
63
  config = Coveralls::Configuration.configuration
59
64
  if config[:repo_token].nil?
60
- Coveralls::Output.puts "Coveralls cannot run locally because no repo_secret_token is set in .coveralls.yml", color: "red"
61
- Coveralls::Output.puts "Please try again when you get your act together.", color: "red"
65
+ Coveralls::Output.puts 'Coveralls cannot run locally because no repo_secret_token is set in .coveralls.yml', color: 'red'
66
+ Coveralls::Output.puts 'Please try again when you get your act together.', color: 'red'
62
67
 
63
68
  return false
64
69
  end
65
70
  true
66
71
  end
67
-
68
72
  end
69
73
  end