clean-mock 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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: []