webmock-resources 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,6 +7,11 @@ module WebMock::Resources
7
7
  def self.create resource_name, attributes = {}
8
8
  schema = SchemaStorage[resource_name]
9
9
  resource = schema[:fields].merge(id: schema[:sequence].next).merge(attributes)
10
+
11
+ resource.each do |k,v|
12
+ resource[k] = v.call(schema[:sequence].curr) if v.is_a? Proc
13
+ end
14
+
10
15
  @resources[resource_name] ||= []
11
16
  @resources[resource_name] << resource
12
17
 
@@ -37,7 +42,8 @@ module WebMock::Resources
37
42
  def self.reset
38
43
  WebMock.reset!
39
44
  @resources = {}
40
- WebMock::Resources::Definition.refresh
45
+ Definition.refresh
46
+ SchemaStorage.reset_sequences
41
47
  end
42
48
 
43
49
  end
@@ -4,8 +4,12 @@ module WebMock::Resources
4
4
  @schema = { object: nil, sequence: Sequence.new, fields: {} }
5
5
  end
6
6
 
7
- def attribute name, value
8
- @schema[:fields][name] = value
7
+ def attribute name, value=nil, &block
8
+ if block_given?
9
+ @schema[:fields][name] = block
10
+ else
11
+ @schema[:fields][name] = value
12
+ end
9
13
  end
10
14
 
11
15
  def object clazz
@@ -17,5 +17,11 @@ module WebMock::Resources
17
17
  def self.clear
18
18
  @resources = {}
19
19
  end
20
+
21
+ def self.reset_sequences
22
+ @resources.each do |k,v|
23
+ v[:sequence] = Sequence.new
24
+ end
25
+ end
20
26
  end
21
27
  end
@@ -7,5 +7,9 @@ module WebMock::Resources
7
7
  def next
8
8
  @value = @value.next
9
9
  end
10
+
11
+ def curr
12
+ @value
13
+ end
10
14
  end
11
15
  end
@@ -1,5 +1,5 @@
1
1
  module WebMock
2
2
  module Resources
3
- VERSION = "0.0.4"
3
+ VERSION = "0.0.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webmock-resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-04 00:00:00.000000000 Z
12
+ date: 2012-06-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: webmock