fixtury 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 11c65dc0db10367bf67f7d421ccc76e7b647a5bf73357431bc85dbd788667b00
4
- data.tar.gz: 7042ed9b891e4fd0e2bdcade6cc0145160e5fb1dd6394d2bcd8de612ecceb1f8
3
+ metadata.gz: 5419cf56fd821e06b8b0fc7d55f564d87e85aaab5e7e21933c5ef923f3f32294
4
+ data.tar.gz: e53da80eda66ee2abd07baec7ccd847ba18a5e8631b01014f7e62a43616ac509
5
5
  SHA512:
6
- metadata.gz: ed2b328ac82a6506a9c0d4fb26e049ee249cae994dd4406d2896c0b4be8e270dc54fef1a5f94a887077abc5a9a964a6412bea23bccce7ead21c600c70c2f4374
7
- data.tar.gz: 18888bd37fdd508552353f5aa4d076f5bedd4ccf4420d7fc914450dcbaf5ea0c1cb29b428af3c94c3c617fd64359831f43594f65e3e9d300166329e0155e3b11
6
+ metadata.gz: a69c33f32f35346abae60a3f3c27f232dc813fbe551f99055d7e2fcc8eacd5c6873fdf5a925be4d3ef3635c7558577918018dc8c399674e26232fc0fd0a0d10e
7
+ data.tar.gz: 4b9e9f3f0c4e538248eda219cb57d6f618a870407ae8f9bfeabf17aab49850e8e253bfd77a7279a9b70b164b572fb41021211b22b46d6e656c7fc57e21af6959
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fixtury (0.3.2)
4
+ fixtury (0.3.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -7,14 +7,17 @@ module Fixtury
7
7
 
8
8
  attr_reader :name
9
9
  attr_reader :schema
10
+ alias parent schema
11
+ attr_reader :options
10
12
 
11
13
  attr_reader :callable
12
14
  attr_reader :enhancements
13
15
 
14
- def initialize(schema: nil, name:, &block)
16
+ def initialize(schema: nil, name:, options: {}, &block)
15
17
  @name = name
16
18
  @schema = schema
17
19
  @callable = block
20
+ @options = options
18
21
  @enhancements = []
19
22
  end
20
23
 
@@ -9,12 +9,17 @@ module Fixtury
9
9
  new(name, HOLDER_VALUE)
10
10
  end
11
11
 
12
- attr_reader :name, :value, :created_at
12
+ def self.create(name, value)
13
+ new(name, value)
14
+ end
15
+
16
+ attr_reader :name, :value, :created_at, :options
13
17
 
14
- def initialize(name, value)
18
+ def initialize(name, value, options = {})
15
19
  @name = name
16
20
  @value = value
17
21
  @created_at = Time.now.to_i
22
+ @options = options
18
23
  end
19
24
 
20
25
  def holder?
@@ -9,13 +9,14 @@ require "fixtury/errors/schema_frozen_error"
9
9
  module Fixtury
10
10
  class Schema
11
11
 
12
- attr_reader :definitions, :children, :name, :parent, :relative_name, :around_fixture_definition
12
+ attr_reader :definitions, :children, :name, :parent, :relative_name, :around_fixture_definition, :options
13
13
 
14
- def initialize(parent:, name:)
14
+ def initialize(parent:, name:, options: {})
15
15
  @name = name
16
16
  @parent = parent
17
17
  @relative_name = @name.split("/").last
18
18
  @around_fixture_definition = nil
19
+ @options = options
19
20
  @frozen = false
20
21
  reset!
21
22
  end
@@ -83,19 +84,19 @@ module Fixtury
83
84
  out.join("\n")
84
85
  end
85
86
 
86
- def namespace(name, &block)
87
+ def namespace(name, options = {}, &block)
87
88
  ensure_not_frozen!
88
89
  ensure_no_conflict!(name: name, definitions: true, namespaces: false)
89
90
 
90
- child = find_or_create_child_schema(name: name)
91
+ child = find_or_create_child_schema(name: name, options: options)
91
92
  child.instance_eval(&block) if block_given?
92
93
  child
93
94
  end
94
95
 
95
- def fixture(name, &block)
96
+ def fixture(name, options = {}, &block)
96
97
  ensure_not_frozen!
97
98
  ensure_no_conflict!(name: name, definitions: true, namespaces: true)
98
- create_child_definition(name: name, &block)
99
+ create_child_definition(name: name, options: options, &block)
99
100
  end
100
101
 
101
102
  def enhance(name, &block)
@@ -186,13 +187,13 @@ module Fixtury
186
187
  children[name.to_s]
187
188
  end
188
189
 
189
- def find_or_create_child_schema(name:)
190
+ def find_or_create_child_schema(name:, options:)
190
191
  name = name.to_s
191
192
  child = find_child_schema(name: name)
192
193
  child ||= begin
193
194
  children[name] = begin
194
195
  child_name = build_child_name(name: name)
195
- self.class.new(name: child_name, parent: self)
196
+ self.class.new(name: child_name, parent: self, options: options)
196
197
  end
197
198
  end
198
199
  child
@@ -202,9 +203,9 @@ module Fixtury
202
203
  definitions[name.to_s]
203
204
  end
204
205
 
205
- def create_child_definition(name:, &block)
206
+ def create_child_definition(name:, options:, &block)
206
207
  child_name = build_child_name(name: name)
207
- definition = ::Fixtury::Definition.new(name: child_name, schema: self, &block)
208
+ definition = ::Fixtury::Definition.new(name: child_name, schema: self, options: options, &block)
208
209
  definitions[name.to_s] = definition
209
210
  end
210
211
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Fixtury
4
4
 
5
- VERSION = "0.3.2"
5
+ VERSION = "0.3.3"
6
6
 
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fixtury
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Nelson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-21 00:00:00.000000000 Z
11
+ date: 2020-10-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autotest