fixtury 0.3.5 → 0.4.0

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