minitest-utils 0.2.4 → 0.2.5

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: 4cb9175e02a1b0c67a4ea94315175d96a3d3555a
4
- data.tar.gz: a224d1c76b18311a1eb65a6870a235b877484ed8
3
+ metadata.gz: 00753f8eeec8385e0d3f1977151b7cd9a26216fa
4
+ data.tar.gz: 570952f23cabfc13096ad2705704fde50b5309a2
5
5
  SHA512:
6
- metadata.gz: e16ebb9d008a74ac4cf2b4b9032bbf5323dd71711c9627fba28dc03e397b4be238d035420ae9f09f0ff7215ac05a351e6d4c2ab445b0f6f6e5dc0d3cbdcabfdc
7
- data.tar.gz: 783bcf8f73e1d5a8537d587231e0925d066f41cdccf2f6b6baeb94f003a2a8fedd540919330da9cfecb74195adf80178a9ee22f7ff5cda0c76d3fb882ed4e077
6
+ metadata.gz: 6c5fab9d3ee176e24caf4bf8e48c76a2b95214811460f58938b058269676eabb4334c75e7d02636af0dfcb973ae2264e40121854347d58350dfe7782f2d2ddbb
7
+ data.tar.gz: d3dc23facaa4dd670f34c770120690d246a58bd64c2e5946e5a90b315847a11b90f1fe0dfba49e361a7bc55fd24caf4800888ed35aefa8075625263b8becf390
data/README.md CHANGED
@@ -57,6 +57,18 @@ class SampleTest < Minitest::Test
57
57
  end
58
58
  ```
59
59
 
60
+ Finally, you can also use `let`.
61
+
62
+ ```ruby
63
+ class SampleTest < Minitest::Test
64
+ let(:token) { 'secret' }
65
+
66
+ test 'set token' do
67
+ assert_equal 'secret', token
68
+ end
69
+ end
70
+ ```
71
+
60
72
  ## Screenshots
61
73
 
62
74
  ![](https://raw.githubusercontent.com/fnando/minitest-utils/master/screenshots/light-failing.png)
@@ -54,5 +54,18 @@ module Minitest
54
54
 
55
55
  include mod
56
56
  end
57
+
58
+ def self.let(name, &block)
59
+ target = instance_method(name) rescue nil
60
+ message = "Cannot define let(:#{name});"
61
+
62
+ raise ArgumentError, "#{message} method cannot begin with 'test'." if name.to_s.start_with?('test')
63
+ raise ArgumentError, "#{message} method already defined by #{target.owner}." if target
64
+
65
+ define_method(name) do
66
+ @_memoized ||= {}
67
+ @_memoized.fetch(name) {|k| @_memoized[k] = instance_eval(&block) }
68
+ end
69
+ end
57
70
  end
58
71
  end
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Utils
3
- VERSION = '0.2.4'
3
+ VERSION = '0.2.5'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-03 00:00:00.000000000 Z
11
+ date: 2015-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.4.5
119
+ rubygems_version: 2.4.5.1
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: Some utilities for your Minitest day-to-day usage.