fixtury 0.3.2 → 0.3.3

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 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