minitest-utils 0.2.4 → 0.2.5

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: 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.