rspec_term 0.2.1 → 0.3.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6014901cddd549ab5fe80f6ee647739d6380b396
4
- data.tar.gz: 7fb89013efb4c67bb5d73d39e8f61800fa04ae15
3
+ metadata.gz: 8cddd663b83f38f851a927b4b2b5843bcd73f1aa
4
+ data.tar.gz: 23dd069bdd8959b95eab2e1551ce3cdbb0de0a40
5
5
  SHA512:
6
- metadata.gz: 4dd0763db6f8cfb1c3b6b4c3ee395632bbae802ce9c3e3cb8bc76854761f3d78a80b590a6bcfc54dc14800261c44946da13a1bacf855fdffb296a400a88137f5
7
- data.tar.gz: 45141d294278d585c040200ec908847847795c18e0a56ccb2259e68a1dbc4fc96e4adfa107f0d7742ed903e6c4e7b223eff89dd327018a36264df2c3c91d6221
6
+ metadata.gz: 3699f92d3e1048941d6fe72e3aa855ead3ef132b4122a3fa669652d01f992782752267f6faa7ac8fc3d97917cf0465d1ab52ea3067d8622f14ee3f8e675f1379
7
+ data.tar.gz: e4661f956e844a740bf3e86ad39a55b188d04755308ef2b25bf67b8110487fa7d194b41faebaf84e730d45cc011e2df88e3e8b8af2f0df9d1eb3d3daae3cb18d
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in rspec_term.gemspec
4
4
  gemspec
5
-
6
- gem 'rspec'
7
-
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # RspecTerm
2
- ###### ver 0.2.0
2
+ ###### ver 0.3.0
3
3
 
4
4
  RSpecの実行中や、テスト結果によってiTermの背景画像を変更する ruby gem です。
5
5
  RSpec2, RSpec3に対応しています。
@@ -39,6 +39,17 @@ spec/spec_helper.rb ファイルに以下を記述します
39
39
  config.nothing_url = 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/nothing.jpg'
40
40
  config.tmp_dir = '/tmp/rspec_term'
41
41
 
42
+ require 'simplecov'
43
+ config.coverage do
44
+ SimpleCov.result.covered_percent
45
+ end
46
+ config.coverage_url do |coverage|
47
+ case coverage
48
+ when 70..100
49
+ 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/coverage_100.jpg'
50
+ end
51
+ end
52
+
42
53
  end
43
54
 
44
55
  #### 基本的な使い方
@@ -53,6 +64,9 @@ spec/spec_helper.rb ファイルに以下を記述します
53
64
  * `nothing_url` : 行うべきテストがなかった場合に表示される画像のURL。
54
65
  * `tmp_dir` : URLの画像を保存するディレクトリ。URLから生成したハッシュをファイル名として保存する。すでにファイルが存在する場合は再度ダウンロードしない。
55
66
 
67
+ * `coverage` : coverageの値(%)を返す
68
+ * `coverage_file` : テストがエラーなしで終了した場合にcoverageに応じて表示される画像のファイルを返す。該当する場合は`success_file`よりも優先される。
69
+ * `coverage_url` : テストがエラーなしで終了した場合にcoverageに応じて表示される画像のURLを返す。該当する場合は`success_url`よりも優先される。
56
70
 
57
71
  ## Contributing
58
72
 
@@ -17,5 +17,32 @@ class RSpecTerm::Configure
17
17
  instance
18
18
  end
19
19
 
20
+ def coverage &block
21
+ if block_given?
22
+ @coverage = block
23
+ self
24
+ else
25
+ @coverage
26
+ end
27
+ end
28
+
29
+ def coverage_file &block
30
+ if block_given?
31
+ @coverage_file = block
32
+ self
33
+ else
34
+ @coverage_file
35
+ end
36
+ end
37
+
38
+ def coverage_url &block
39
+ if block_given?
40
+ @coverage_url = block
41
+ self
42
+ else
43
+ @coverage_url
44
+ end
45
+ end
46
+
20
47
  end
21
48
 
@@ -88,7 +88,19 @@ class RSpecTerm::Formatters::BackgroundFormatter < RSpec::Core::Formatters::Base
88
88
 
89
89
  unless @error_message
90
90
  (file, url, tmp) = if notification.failure_count == 0
91
- [@config.success_file, @config.success_url, "#{@success_tmp}"]
91
+ coverage = nil
92
+ if @config.coverage and (coverage = @config.coverage.call)
93
+ file = if @config.coverage_file
94
+ @config.coverage_file.call coverage
95
+ end || @config.success_file
96
+ url = if @config.coverage_url
97
+ @config.coverage_url.call coverage
98
+ end || @config.success_url
99
+ tmp = url_to_tmp @tmp_dir, url
100
+ [file, url, "#{tmp}"]
101
+ else
102
+ [@config.success_file, @config.success_url, "#{@success_tmp}"]
103
+ end
92
104
  else
93
105
  [@config.failure_file, @config.failure_url, "#{@failure_tmp}"]
94
106
  end
@@ -101,8 +113,12 @@ class RSpecTerm::Formatters::BackgroundFormatter < RSpec::Core::Formatters::Base
101
113
  end
102
114
 
103
115
  def set_file file, url, tmp
104
- return file if File.exists? file.to_s
105
- return tmp if File.exists? tmp.to_s
116
+ file = file.path if file and file.is_a? File
117
+ url = url.path if url and url.is_a? File
118
+ tmp = tmp.path if tmp and tmp.is_a? File
119
+ return file if file and File.exists? file
120
+ File.delete tmp if tmp and File.zero? tmp
121
+ return tmp if File.exists? tmp
106
122
  return tmp unless url and tmp
107
123
 
108
124
  open tmp, 'wb' do |f|
@@ -1,3 +1,3 @@
1
1
  module RspecTerm
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -20,4 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.5"
22
22
  spec.add_development_dependency "rake"
23
+
24
+ spec.add_development_dependency 'rspec', '~> 3.0.0.rc1'
25
+ spec.add_development_dependency 'simplecov'
23
26
  end
@@ -1,4 +1,11 @@
1
1
  # encoding: utf-8
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter do |file|
5
+ not file.filename =~ /^#{SimpleCov.root}\/lib/
6
+ end
7
+ end
8
+
2
9
  require 'rspec_term'
3
10
 
4
11
  RSpecTerm.configure do |config|
@@ -15,5 +22,16 @@ RSpecTerm.configure do |config|
15
22
  config.nothing_url = 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/nothing.jpg'
16
23
  config.tmp_dir = '/tmp/rspec_term'
17
24
 
25
+ config.coverage do
26
+ SimpleCov.result.covered_percent
27
+ end
28
+
29
+ config.coverage_url do |coverage|
30
+ case coverage
31
+ when 70..100
32
+ 'https://raw.githubusercontent.com/brightgenerous/rspec_term/master/images/coverage_100.jpg'
33
+ end
34
+ end
35
+
18
36
  end
19
37
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec_term
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
  - brightgenerous
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.0.rc1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0.rc1
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
41
69
  description: Change iTerm background after RSpec execution.
42
70
  email:
43
71
  - katou.akihiro@gmail.com