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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/.version +1 -1
  3. data/lib/clean-mock/base.rb +16 -6
  4. metadata +7 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 65e82efc44b05437a2a4cf194c21e7033a4d520a776325d9058719f380befc99
4
- data.tar.gz: dd0d2f1f5244c26861b79da0873d09d168353090c25efed9b99bf49ed1eb885f
3
+ metadata.gz: 0ef46731065dc64d8b4693482cabedf30650561bf3ef726886d4b8d8f6aa8c4a
4
+ data.tar.gz: 9b07173f468c2932ac66c902828d361f62be763e890dd763016ab3e2cf3e90c6
5
5
  SHA512:
6
- metadata.gz: 6b82714d1d2103cb269decd5f032723132a3129ad64315578d77253428ad41930d5c7aa1eaf5d052f9e24654affb00286d12f63a0c7c7f55224ffeb54f188ad6
7
- data.tar.gz: 91b29dbc810dc6936aa7a8b180a4bb5b8ae43a8656165f6604cdc697a759528bedb5046aec9bbe67db251c2cd34ebb5488bbf4a65acab61bf48f7ba47635d5ec
6
+ metadata.gz: 16805d8daaff646c8d11d8aca917a8a98d2534722c18e2cfd668b751ce7f01cbff5b0b664317791e493a0ea5553898617cad8c39421c6abde8dcb375d886b429
7
+ data.tar.gz: babd325c608a220186940844e573852bb354cb40d1c4c11ee105f02af6130e4b50f25bde8c22cab1ead7d8d6a5f500f448afa19e92fe2bc68d4d9cb4fa62e943
data/.version CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -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, no save
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 possible
24
+ # save if responds to save
25
25
  def create *args
26
- build(*args).tap do |model|
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.0
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: 2019-10-05 00:00:00.000000000 Z
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.0.6
44
- signing_key:
43
+ rubygems_version: 3.2.3
44
+ signing_key:
45
45
  specification_version: 4
46
- summary: Ruby testing object creation helper/mocking lib
46
+ summary: Ruby object creation helper/mocking lib used for testing.
47
47
  test_files: []