clean-mock 0.2.0 → 0.2.1
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 +4 -4
- data/.version +1 -1
- data/lib/clean-mock/base.rb +16 -6
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ef46731065dc64d8b4693482cabedf30650561bf3ef726886d4b8d8f6aa8c4a
|
4
|
+
data.tar.gz: 9b07173f468c2932ac66c902828d361f62be763e890dd763016ab3e2cf3e90c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 16805d8daaff646c8d11d8aca917a8a98d2534722c18e2cfd668b751ce7f01cbff5b0b664317791e493a0ea5553898617cad8c39421c6abde8dcb375d886b429
|
7
|
+
data.tar.gz: babd325c608a220186940844e573852bb354cb40d1c4c11ee105f02af6130e4b50f25bde8c22cab1ead7d8d6a5f500f448afa19e92fe2bc68d4d9cb4fa62e943
|
data/.version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.1
|
data/lib/clean-mock/base.rb
CHANGED
@@ -16,16 +16,14 @@ class CleanMock
|
|
16
16
|
build(*args).attributes.select{ |k,v| v.present? }
|
17
17
|
end
|
18
18
|
|
19
|
-
# create a new model
|
19
|
+
# create a new model without save
|
20
20
|
def build *args
|
21
21
|
new(*args).model
|
22
22
|
end
|
23
23
|
|
24
|
-
# save if
|
24
|
+
# save if responds to save
|
25
25
|
def create *args
|
26
|
-
|
27
|
-
model.save if model.respond_to?(:save)
|
28
|
-
end
|
26
|
+
new(*args).create_mock
|
29
27
|
end
|
30
28
|
|
31
29
|
# create only once
|
@@ -96,10 +94,22 @@ class CleanMock
|
|
96
94
|
|
97
95
|
# helper to create and link model
|
98
96
|
# create :org -> @model.org_id = mock.create(org).id
|
99
|
-
def create name, field=nil
|
97
|
+
def create name, field = nil
|
100
98
|
field ||= name.to_s.singularize + '_id'
|
101
99
|
new_model = CleanMock.create(name)
|
102
100
|
@model.send('%s=' % field, new_model.id)
|
103
101
|
new_model
|
104
102
|
end
|
103
|
+
|
104
|
+
def create_mock
|
105
|
+
@model.save if @model.respond_to?(:save)
|
106
|
+
@after_save.call if @after_save
|
107
|
+
@model
|
108
|
+
end
|
109
|
+
|
110
|
+
def after_save &block
|
111
|
+
@after_save = block
|
112
|
+
end
|
113
|
+
alias :after_create :after_save
|
114
|
+
|
105
115
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clean-mock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Clean and efficient ruby testing object creation helper/mocking library
|
14
14
|
with interface similar to FactoryBot
|
@@ -25,7 +25,7 @@ homepage: https://github.com/dux/clean-mock
|
|
25
25
|
licenses:
|
26
26
|
- MIT
|
27
27
|
metadata: {}
|
28
|
-
post_install_message:
|
28
|
+
post_install_message:
|
29
29
|
rdoc_options: []
|
30
30
|
require_paths:
|
31
31
|
- lib
|
@@ -40,8 +40,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
requirements: []
|
43
|
-
rubygems_version: 3.
|
44
|
-
signing_key:
|
43
|
+
rubygems_version: 3.2.3
|
44
|
+
signing_key:
|
45
45
|
specification_version: 4
|
46
|
-
summary: Ruby
|
46
|
+
summary: Ruby object creation helper/mocking lib used for testing.
|
47
47
|
test_files: []
|