junklet 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/Gemfile.lock +1 -1
- data/README.md +22 -0
- data/junklet.gemspec +1 -1
- data/lib/junklet/version.rb +1 -1
- data/lib/junklet.rb +10 -2
- data/spec/lib/junklet_spec.rb +16 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NDQyODhhM2I3NTQyNzM3MzY1ZGM2NDk4YjZhN2VkMzVjMWZiZDdiYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZjUxZWYzYjI3NDJjZDQwZjE4YzlhN2U2ZTI5OWE1NzRlNzhkMjljOA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NmJjYTk5ZmY1ZWEzOGIxMjY0YzU0NzZiODJmODlkMzNhNGJjNTQ2NTFiOTU2
|
10
|
+
MmYxMDc0YTdlOTI5M2UwNjRjMWRjYzVhYjNhYzU3ZDdlNjk4YWQ0YjA5Zjlk
|
11
|
+
MDBiZWM5NDIxMzJjZWFlYTM2Yzg5OTVjOTI2NTMwNTIwYzQ5NjY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NjZjMDc0ZjNkYjU1YWI1NzA0OWM4MzgxZjA0ZGIwNDc1MjhhNDYwZGU5OTUw
|
14
|
+
NzUyYzQxOGI5ZDNkZDJkNTA5ZDA0MzlhYjI3MTUxMjhiZmI3Mzc5NGI0NzRl
|
15
|
+
YmY5NmUyM2EyOTg2Yzk0YmRhMzYyZmUyYmE1OWUzZjQ2NTY3ZDI=
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -16,6 +16,28 @@ So,
|
|
16
16
|
* If equality fails we want to be led to the offending field by the
|
17
17
|
error message and not just the line number in the stack trace.
|
18
18
|
|
19
|
+
# Usage
|
20
|
+
|
21
|
+
junklet :var [, :var_2 [...]] [, options_hash]
|
22
|
+
|
23
|
+
junklet :first_name
|
24
|
+
|
25
|
+
Creates a `let :first_name` with the value of
|
26
|
+
`first_name-774030d0-f58d-4f58-8c5e-dddbdc7f9580` (the uuid will
|
27
|
+
change with each test case)
|
28
|
+
|
29
|
+
junklet :host_name, separator: '-'
|
30
|
+
|
31
|
+
Creates a `let :host_name`, but changes underscores to hyphens in the
|
32
|
+
string value,
|
33
|
+
e.g. `host-name-774030d0-f58d-4f58-8c5e-dddbdc7f9580`. Useful
|
34
|
+
specifically for host names, which cannot have underscores in them.
|
35
|
+
|
36
|
+
junklet :a_a, :b_b, :c_c, separator: '.'
|
37
|
+
|
38
|
+
Does what it says on the tin: creates 3 items with string values of
|
39
|
+
`a.a`, `b.b`, and `c.c` respectively.
|
40
|
+
|
19
41
|
# Background
|
20
42
|
|
21
43
|
At CoverMyMeds we have a legacy impingement that prevents us sometimes
|
data/junklet.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Dave Brady"]
|
10
10
|
spec.email = ["dbrady@covermymeds.com"]
|
11
11
|
spec.summary = "Easily create junk data for specs"
|
12
|
-
spec.description = "Works like let
|
12
|
+
spec.description = "Works like let for rspec, but creates unique random junk data"
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
data/lib/junklet/version.rb
CHANGED
data/lib/junklet.rb
CHANGED
@@ -5,8 +5,16 @@ module RSpec
|
|
5
5
|
module MemoizedHelpers
|
6
6
|
module ClassMethods
|
7
7
|
def junklet(*args)
|
8
|
-
|
9
|
-
|
8
|
+
opts = args.size > 1 && !args.last.is_a?(Symbol) && args.pop || {}
|
9
|
+
|
10
|
+
names = args.map(&:to_s)
|
11
|
+
|
12
|
+
if opts.key?(:separator)
|
13
|
+
names = names.map {|name| name.gsub(/_/, opts[:separator]) }
|
14
|
+
end
|
15
|
+
|
16
|
+
args.zip(names).each do |arg, name|
|
17
|
+
let(arg) { "#{name}-#{SecureRandom.uuid}" }
|
10
18
|
end
|
11
19
|
end
|
12
20
|
end
|
data/spec/lib/junklet_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Junklet do
|
4
4
|
specify { expect(Junklet).to be }
|
5
5
|
|
6
|
-
let(:
|
6
|
+
let(:uuid_regex) { /-[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/ }
|
7
7
|
|
8
8
|
describe '.junklet' do
|
9
9
|
context "with a single arg" do
|
@@ -11,7 +11,7 @@ describe Junklet do
|
|
11
11
|
|
12
12
|
specify { expect(junk).to be }
|
13
13
|
specify { expect(junk).to match /^junk-/ }
|
14
|
-
specify { expect(junk).to match
|
14
|
+
specify { expect(junk).to match uuid_regex }
|
15
15
|
|
16
16
|
describe "memoization" do
|
17
17
|
specify { expect(junk).to eq(junk) }
|
@@ -22,13 +22,23 @@ describe Junklet do
|
|
22
22
|
junklet :junk, :toss, :crud, :crap
|
23
23
|
|
24
24
|
specify { expect(junk).to match /^junk-/ }
|
25
|
-
specify { expect(junk).to match
|
25
|
+
specify { expect(junk).to match uuid_regex }
|
26
26
|
specify { expect(toss).to match /^toss-/ }
|
27
|
-
specify { expect(toss).to match
|
27
|
+
specify { expect(toss).to match uuid_regex }
|
28
28
|
specify { expect(crud).to match /^crud-/ }
|
29
|
-
specify { expect(crud).to match
|
29
|
+
specify { expect(crud).to match uuid_regex }
|
30
30
|
specify { expect(crap).to match /^crap-/ }
|
31
|
-
specify { expect(crap).to match
|
31
|
+
specify { expect(crap).to match uuid_regex }
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'with separator option' do
|
35
|
+
junklet :host_name, :last_name, :first_name, separator: '-'
|
36
|
+
specify { expect(host_name).to match /^host-name-/ }
|
37
|
+
specify { expect(host_name).to match uuid_regex }
|
38
|
+
specify { expect(last_name).to match /^last-name-/ }
|
39
|
+
specify { expect(last_name).to match uuid_regex }
|
40
|
+
specify { expect(first_name).to match /^first-name-/ }
|
41
|
+
specify { expect(first_name).to match uuid_regex }
|
32
42
|
end
|
33
43
|
end
|
34
44
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: junklet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Brady
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - ! '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description: Works like let
|
69
|
+
description: Works like let for rspec, but creates unique random junk data
|
70
70
|
email:
|
71
71
|
- dbrady@covermymeds.com
|
72
72
|
executables: []
|