scout-essentials 1.2.0 → 1.3.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: 0b0a00cab2e80f5ac221c5b89ba51ac9d2e179108523533ccff04bcffa28b621
4
- data.tar.gz: 59658780d237328a638a962d9645de6994534015c932deddd7c7b55ddad394c5
3
+ metadata.gz: 635a27a40f5897e83e1632e43a1cfa9343edd5c53e7eee522fc99f4a74e03171
4
+ data.tar.gz: 19bb00a9be1cc0ab21661cedc46bfd1d21118cd0fed9f0d240b205580e8a733a
5
5
  SHA512:
6
- metadata.gz: 88d48ab2416e00f99db24211774c93841e3aab8bbe14d9a495358f77771aaf3fa03e08d9864a81e5e9818de13bc0bcafe94e975a2d8186312909dc1934750906
7
- data.tar.gz: 2cdc543433977a1901f6cc15ad92d30acbb3718bc70919829912083f4cd71e8e18fe9bc63bc396625a78946d15450802b38fd564f6ba63dcd8b2723393db4d84
6
+ metadata.gz: 11813ec485609e4275258e12aee416663bb70e99c453dc9e7ec2363a864370c07506c74c38b20ac43426a12e7872456eb37e9e368fc10e3f2d3a5b1083d12281
7
+ data.tar.gz: da326b8fa64b0850fd2d4e50ab1e0e13d4a881039b4945503a56debcd800a8c5850b5b09f6f63d2631746ae177dcce16ce235ae9deb803b095e8b7d7e588c0a0
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.0
1
+ 1.3.0
@@ -57,7 +57,6 @@ module Misc
57
57
  def self.file_md5(file)
58
58
  file = file.find if Path === file
59
59
  file = File.expand_path(file)
60
- #md5file = file + '.md5'
61
60
  Persist.persist("MD5:#{file}", :string) do
62
61
  Digest::MD5.file(file).hexdigest
63
62
  end
@@ -3,6 +3,10 @@ module NamedArray
3
3
  extend MetaExtension
4
4
  extension_attr :fields, :key
5
5
 
6
+ def all_fields
7
+ [key, fields].compact.flatten
8
+ end
9
+
6
10
  def self.field_match(field, name)
7
11
  if (String === field) && (String === name)
8
12
  field == name ||
@@ -130,6 +134,7 @@ module NamedArray
130
134
 
131
135
  def self.add_zipped(source, new)
132
136
  source.zip(new).each do |s,n|
137
+ next if n.nil?
133
138
  s.concat(n)
134
139
  end
135
140
  source
@@ -7,7 +7,7 @@ module Path
7
7
  caller_dup = caller.dup
8
8
  while file = caller_dup.shift
9
9
  break unless file =~ /(?:scout|rbbt)\/(?:resource\.rb|workflow\.rb)/ or
10
- file =~ /(?:scout|rbbt)\/(?:.*\/)?path\.rb/ or
10
+ file =~ /(?:scout|rbbt)\/(?:.*\/)?(path|open)\.rb/ or
11
11
  file =~ /(?:scout|rbbt)\/(?:.*\/)?path\/(?:find|refactor|util)\.rb/ or
12
12
  file =~ /(?:scout|rbbt)\/persist.rb/ or
13
13
  file =~ /scout\/resource\/produce.rb/ or
@@ -49,8 +49,10 @@ module Persist
49
49
  type = SERIALIZER if type == :serializer
50
50
 
51
51
  case type
52
- when nil, :string, :text, :file, :stream, :select, :folder
52
+ when nil, :text, :stream
53
53
  serialized
54
+ when :string, :file, :select, :folder
55
+ serialized.strip
54
56
  when :path
55
57
  Path.setup(serialized.strip)
56
58
  when :integer
@@ -142,7 +144,11 @@ module Persist
142
144
  when :file
143
145
  value = Open.read(file)
144
146
  value.sub!(/^\./, File.dirname(file)) if value.start_with?("./")
145
- value
147
+ if Misc.is_filename?(value)
148
+ value
149
+ else
150
+ file
151
+ end
146
152
  when :file_array
147
153
  Open.read(file).split("\n").collect do |f|
148
154
  f.sub!(/^\./, File.dirname(file)) if f.start_with?("./")
@@ -151,7 +157,8 @@ module Persist
151
157
  when Hash
152
158
  type[file]
153
159
  else
154
- deserialize(Open.read(file), type)
160
+ serialized = Open.read(file)
161
+ deserialize(serialized, type)
155
162
  end
156
163
  end
157
164
  end
data/lib/scout/persist.rb CHANGED
@@ -55,7 +55,13 @@ module Persist
55
55
  res = yield
56
56
 
57
57
  if res.nil?
58
- return Persist.load(file, type)
58
+ if type.nil?
59
+ Log.debug "Empty result and no persist type; not loading result file"
60
+ return nil
61
+ else
62
+ Log.debug "Empty result; loading #{type} result from file"
63
+ return Persist.load(file, type)
64
+ end
59
65
  end
60
66
 
61
67
  Open.rm(file)
@@ -1,5 +1,6 @@
1
1
  module Path
2
2
  def produce(force = false)
3
+ raise @produced if Exception === @produced
3
4
  return self if ! force && (Open.exist?(self) || @produced)
4
5
  begin
5
6
  if Resource === self.pkgdir
@@ -8,14 +9,14 @@ module Path
8
9
  false
9
10
  end
10
11
  rescue ResourceNotFound
11
- false
12
+ @produced = false
12
13
  rescue
13
14
  message = $!.message
14
15
  message = "No exception message" if message.nil? || message.empty?
15
16
  Log.warn "Error producing #{self}: #{message}"
16
17
  raise $!
17
18
  ensure
18
- @produced = true
19
+ @produced = true if @produced.nil?
19
20
  end
20
21
  end
21
22
 
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: scout-essentials 1.2.0 ruby lib
5
+ # stub: scout-essentials 1.3.0 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "scout-essentials".freeze
9
- s.version = "1.2.0"
9
+ s.version = "1.3.0"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Miguel Vazquez".freeze]
14
- s.date = "2023-08-08"
14
+ s.date = "2023-11-07"
15
15
  s.description = "Things a scout can use anywhere".freeze
16
16
  s.email = "mikisvaz@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout-essentials
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-08-08 00:00:00.000000000 Z
11
+ date: 2023-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: shoulda