fixtury 0.3.3 → 0.3.4

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