fixtury 0.3.3 → 0.3.4

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: 5419cf56fd821e06b8b0fc7d55f564d87e85aaab5e7e21933c5ef923f3f32294
4
- data.tar.gz: e53da80eda66ee2abd07baec7ccd847ba18a5e8631b01014f7e62a43616ac509
3
+ metadata.gz: 6e98c0301a74feb23eac901666363ac54ed521d91a497a3e24c981cc7237edb9
4
+ data.tar.gz: 949cd3db96159d072029ee2c7ca2b04579fd99cb471d1a22d75a2f0b72d8aced
5
5
  SHA512:
6
- metadata.gz: a69c33f32f35346abae60a3f3c27f232dc813fbe551f99055d7e2fcc8eacd5c6873fdf5a925be4d3ef3635c7558577918018dc8c399674e26232fc0fd0a0d10e
7
- data.tar.gz: 4b9e9f3f0c4e538248eda219cb57d6f618a870407ae8f9bfeabf17aab49850e8e253bfd77a7279a9b70b164b572fb41021211b22b46d6e656c7fc57e21af6959
6
+ metadata.gz: 2ecd015fa82cbe560932a73b303cde3132614efaa8d231f6e0dea0272086c8b0441d7964a10039ded2fb5c64e89ff5a74835b9054fbfc1d675a42f479294142f
7
+ data.tar.gz: 1a8d220621bcdb4aff855fcd7cba8bfd51cd542bf3361747abba7e159fed2bdd2428d284cff3173829abda2ea9d27a8540cd687e4b65b1ce0345ec6e6b4efdf0
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fixtury (0.3.3)
4
+ fixtury (0.3.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -8,6 +8,7 @@ require "fixtury/schema"
8
8
  require "fixtury/locator"
9
9
  require "fixtury/store"
10
10
 
11
+ # Top level namespace of the gem
11
12
  module Fixtury
12
13
 
13
14
  # Shortcut for opening the top level schema.
@@ -19,7 +20,7 @@ module Fixtury
19
20
  # The default top level schema. Fixtury::Schema instances can be completely self-contained but most
20
21
  # usage would be through this shared definition.
21
22
  def self.schema
22
- @top_level_schema ||= ::Fixtury::Schema.new(parent: nil, name: "")
23
+ @schema ||= ::Fixtury::Schema.new(parent: nil, name: "")
23
24
  end
24
25
 
25
26
  end
@@ -33,9 +33,11 @@ module Fixtury
33
33
  ns = ns.namespace(ns_name){}
34
34
  end
35
35
 
36
- names.each do |fixture_name|
36
+ names.map! do |fixture_name|
37
37
  ns.fixture(fixture_name, &definition)
38
- self.local_fixtury_dependencies += ["/#{namespace}/#{fixture_name}"]
38
+ new_name = "/#{namespace}/#{fixture_name}"
39
+ self.local_fixtury_dependencies += [new_name]
40
+ new_name
39
41
  end
40
42
 
41
43
  # otherwise, just record the dependency
@@ -43,12 +45,14 @@ module Fixtury
43
45
  self.fixtury_dependencies += names.flatten.compact.map(&:to_s)
44
46
  end
45
47
 
46
- accessor_option = opts.key?(:accessor) ? opts[:accessor] : true
48
+ accessor_option = opts[:as]
49
+ accessor_option = opts[:accessor] if accessor_option.nil? # old version, backwards compatability
50
+ accessor_option = accessor_option.nil? ? true : accessor_option
47
51
 
48
52
  if accessor_option
49
53
 
50
54
  if accessor_option != true && names.length > 1
51
- raise ArgumentError, "A named :accessor option is only available when providing one fixture"
55
+ raise ArgumentError, "A named :as option is only available when providing one fixture"
52
56
  end
53
57
 
54
58
  names.each do |fixture_name|
@@ -78,12 +82,15 @@ module Fixtury
78
82
 
79
83
  name = name.to_s
80
84
 
81
- local_alias = "/#{self.class.fixtury_namespace}/#{name}"
82
- if self.local_fixtury_dependencies.include?(local_alias)
83
- return fixtury_store.get(local_alias, execution_context: self)
85
+ # in the case that we're looking for a relative fixture, see if it's registered relative to the test's namespace.
86
+ unless name.include?("/")
87
+ local_name = "/#{self.class.fixtury_namespace}/#{name}"
88
+ if local_fixtury_dependencies.include?(local_name)
89
+ return fixtury_store.get(local_name, execution_context: self)
90
+ end
84
91
  end
85
92
 
86
- unless self.fixtury_dependencies.include?(name)
93
+ unless fixtury_dependencies.include?(name) || local_fixtury_dependencies.include?(name)
87
94
  raise ArgumentError, "Unrecognized fixtury dependency `#{name}` for #{self.class}"
88
95
  end
89
96
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Fixtury
4
4
 
5
- VERSION = "0.3.3"
5
+ VERSION = "0.3.4"
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.3
4
+ version: 0.3.4
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-22 00:00:00.000000000 Z
11
+ date: 2020-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autotest