fixtury 0.3.5 → 0.4.0

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: d422110eda024f73368d6d4e244f909fcbc0b288a223df00e7b527c18f551b13
4
- data.tar.gz: 440dd84ef120db60bd9cad4bcdac952e43c61c915199801c27023c95775725c5
3
+ metadata.gz: 58e7de147f87ad30560d984945e6cc8f9d660336f053c31365ff3fd607e491b3
4
+ data.tar.gz: f8c3d80fd0e51aba0607be65ef39c411cdb33de3427f3d3df017b039f4952012
5
5
  SHA512:
6
- metadata.gz: 8b7c93a1dc5781514337168f86407a0db1c05b0697df2cfb2a595b7766f02f7fcf762b5a1102984e1b18bfcaaaa02d756128c6af4bbb2072a99c13f99809d068
7
- data.tar.gz: 2fad96dd5f9aa75f8af8f0bfc62e15864d3fd70289dc353b8431fee1362bcd53842261b37b5fcba58d583177f9ef7aa0bea4426d81ddd8ab13b097ab76ff03d0
6
+ metadata.gz: da1af2403b30fac589172ff22e45f7095ba5d4464d32723e555f6aa952deecfdbd4722cc02a5a3e36e75d3660a3185fd4f99c9b34434aa72513b34ff3258aa6e
7
+ data.tar.gz: 1aa8adfec328a20afc3afef72af0125636de46f7a23cafd67e9cbb38bb5e3c7c8a85f2099336e780c9c54a67e621361b07de147440a62ceed70c5254071c691c
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fixtury (0.3.4)
4
+ fixtury (0.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -11,6 +11,15 @@ require "fixtury/store"
11
11
  # Top level namespace of the gem
12
12
  module Fixtury
13
13
 
14
+ LOG_LEVELS = {
15
+ (LOG_LEVEL_NONE = :none) => 0,
16
+ (LOG_LEVEL_INFO = :info) => 1,
17
+ (LOG_LEVEL_DEBUG = :debug) => 2,
18
+ (LOG_LEVEL_ALL = :all) => 3,
19
+ }.freeze
20
+
21
+ DEFAULT_LOG_LEVEL = LOG_LEVEL_INFO
22
+
14
23
  # Shortcut for opening the top level schema.
15
24
  def self.define(&block)
16
25
  schema.define(&block)
@@ -23,6 +32,30 @@ module Fixtury
23
32
  @schema ||= ::Fixtury::Schema.new(parent: nil, name: "")
24
33
  end
25
34
 
35
+ def self.log_level
36
+ return @log_level if @log_level
37
+
38
+ @log_level = ENV["FIXTURY_LOG_LEVEL"]
39
+ @log_level ||= DEFAULT_LOG_LEVEL
40
+ @log_level = @log_level.to_s.to_sym
41
+ @log_level
42
+ end
43
+
44
+ def self.log(text = nil, level: LOG_LEVEL_DEBUG, name: nil)
45
+ desired_level = LOG_LEVELS.fetch(log_level) { DEFAULT_LOG_LEVEL }
46
+ return if desired_level == LOG_LEVEL_NONE
47
+
48
+ message_level = LOG_LEVELS.fetch(level) { LOG_LEVEL_DEBUG }
49
+ return unless desired_level >= message_level
50
+
51
+ msg = +"[fixtury"
52
+ msg << "|#{name}" if name
53
+ msg << "]"
54
+ msg << " #{text}" if text
55
+ msg << " #{yield}" if block_given?
56
+ puts msg
57
+ end
58
+
26
59
  end
27
60
 
28
61
  require "fixtury/railtie" if defined?(Rails)
@@ -10,12 +10,6 @@ require "fixtury/reference"
10
10
  module Fixtury
11
11
  class Store
12
12
 
13
- LOG_LEVELS = {
14
- (LOG_LEVEL_NONE = :none) => 0,
15
- (LOG_LEVEL_INFO = :info) => 1,
16
- (LOG_LEVEL_DEBUG = :debug) => 2,
17
- }.freeze
18
-
19
13
  cattr_accessor :instance
20
14
 
21
15
  attr_reader :filepath, :references, :ttl, :auto_refresh_expired
@@ -25,15 +19,11 @@ module Fixtury
25
19
  def initialize(
26
20
  filepath: nil,
27
21
  locator: ::Fixtury::Locator.instance,
28
- log_level: nil,
29
22
  ttl: nil,
30
23
  schema: nil,
31
24
  auto_refresh_expired: false
32
25
  )
33
26
  @schema = schema || ::Fixtury.schema
34
- @log_level = log_level.nil? ? ENV["FIXTURY_LOG_LEVEL"] : log_level
35
- @log_level ||= LOG_LEVEL_NONE
36
- @log_level = @log_level.to_s.to_sym
37
27
  @locator = locator
38
28
  @filepath = filepath
39
29
  @references = @filepath && ::File.file?(@filepath) ? ::YAML.load_file(@filepath) : {}
@@ -59,7 +49,7 @@ module Fixtury
59
49
 
60
50
  references.delete_if do |name, ref|
61
51
  is_expired = ref_invalid?(ref)
62
- log(level: LOG_LEVEL_INFO) { "expiring #{name}" } if is_expired
52
+ log("expiring #{name}", level: LOG_LEVEL_DEBUG) if is_expired
63
53
  is_expired
64
54
  end
65
55
  end
@@ -81,7 +71,7 @@ module Fixtury
81
71
  pattern = pattern[0...-1] if glob
82
72
  references.delete_if do |key, _value|
83
73
  hit = glob ? key.start_with?(pattern) : key == pattern
84
- log(level: LOG_LEVEL_INFO) { "clearing #{key}" } if hit
74
+ log("clearing #{key}", level: LOG_LEVEL_DEBUG) if hit
85
75
  hit
86
76
  end
87
77
  dump_to_file
@@ -100,7 +90,7 @@ module Fixtury
100
90
  full_name = dfn.name
101
91
  ref = references[full_name]
102
92
  result = ref&.real?
103
- log(level: LOG_LEVEL_DEBUG) { result ? "hit #{full_name}" : "miss #{full_name}" }
93
+ log(result ? "hit #{full_name}" : "miss #{full_name}", level: LOG_LEVEL_ALL)
104
94
  result
105
95
  end
106
96
 
@@ -114,7 +104,7 @@ module Fixtury
114
104
  end
115
105
 
116
106
  if ref && auto_refresh_expired && ref_invalid?(ref)
117
- log(level: LOG_LEVEL_INFO) { "refreshing #{full_name}" }
107
+ log("refreshing #{full_name}", level: LOG_LEVEL_DEBUG)
118
108
  clear_ref(full_name)
119
109
  ref = nil
120
110
  end
@@ -122,11 +112,11 @@ module Fixtury
122
112
  value = nil
123
113
 
124
114
  if ref
125
- log(level: LOG_LEVEL_DEBUG) { "hit #{full_name}" }
115
+ log("hit #{full_name}", level: LOG_LEVEL_ALL)
126
116
  value = load_ref(ref.value)
127
117
  if value.nil?
128
118
  clear_ref(full_name)
129
- log(level: LOG_LEVEL_DEBUG) { "missing #{full_name}" }
119
+ log("missing #{full_name}", level: LOG_LEVEL_ALL)
130
120
  end
131
121
  end
132
122
 
@@ -136,7 +126,7 @@ module Fixtury
136
126
 
137
127
  value = dfn.call(store: self, execution_context: execution_context)
138
128
 
139
- log(level: LOG_LEVEL_INFO) { "store #{full_name}" }
129
+ log("store #{full_name}", level: LOG_LEVEL_DEBUG)
140
130
 
141
131
  ref = dump_ref(full_name, value)
142
132
  ref = ::Fixtury::Reference.new(full_name, ref)
@@ -165,14 +155,8 @@ module Fixtury
165
155
  !locator.recognize?(ref.value)
166
156
  end
167
157
 
168
- def log(level: LOG_LEVEL_DEBUG, name: "store")
169
- desired_level = LOG_LEVELS.fetch(log_level) { LOG_LEVEL_NONE }
170
- return if desired_level == LOG_LEVEL_NONE
171
-
172
- message_level = LOG_LEVELS.fetch(level) { LOG_LEVEL_DEBUG }
173
- return unless desired_level >= message_level
174
-
175
- puts "[fixtury|#{name}] #{yield}"
158
+ def log(msg, level:)
159
+ ::Fixtury.log(msg, level: level, name: "store")
176
160
  end
177
161
 
178
162
  end
@@ -154,7 +154,10 @@ module Fixtury
154
154
 
155
155
  def load_all_fixtury_fixtures!
156
156
  (fixtury_dependencies | local_fixtury_dependencies).each do |name|
157
- fixtury(name) unless fixtury_loaded?(name)
157
+ unless fixtury_loaded?(name)
158
+ ::Fixtury.log("preloading #{name.inspect}", name: "test", level: ::Fixtury::LOG_LEVEL_INFO)
159
+ fixtury(name)
160
+ end
158
161
  end
159
162
  end
160
163
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Fixtury
4
4
 
5
- VERSION = "0.3.5"
5
+ VERSION = "0.4.0"
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.5
4
+ version: 0.4.0
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-29 00:00:00.000000000 Z
11
+ date: 2020-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: autotest