scout-essentials 1.2.0 → 1.3.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: 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