bfs 0.4.3 → 0.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/bfs/helpers.rb +4 -14
- data/spec/bfs/helpers_spec.rb +16 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3115a351e861d29c6a6f6ccbc249bdc6c9ecb8aa8d3920124db6e556fd1f0c6f
|
4
|
+
data.tar.gz: b98132bf36cc3ce7d34958253f23b7dab386b4b9a2c5bb7480d017d56b41e0c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4992de998a6b74e54d41d44d8061418cabfeb2c86f581c07bd4a5557a1684aa821e17655668184a21e57e9f352ad0e302c66a3b4d443e84331e37d89c4c6ddbc
|
7
|
+
data.tar.gz: de0e32d0a38f045864f86ea837d188fd3dbb72cad1695386c4abb0d38ee3bececefd828d8b7efcee332d7a50d7ae5eaa36b7f7b33e1332560ba6f207c58a12bf
|
data/lib/bfs/helpers.rb
CHANGED
@@ -1,22 +1,12 @@
|
|
1
1
|
require 'tempfile'
|
2
|
+
require 'delegate'
|
2
3
|
|
3
4
|
module BFS
|
4
|
-
class TempWriter
|
5
|
+
class TempWriter < DelegateClass(::Tempfile)
|
5
6
|
def initialize(name, opts={}, &closer)
|
6
|
-
@closer
|
7
|
+
@closer = closer
|
7
8
|
@tempfile = ::Tempfile.new(File.basename(name.to_s), opts)
|
8
|
-
|
9
|
-
|
10
|
-
def path
|
11
|
-
@tempfile.path
|
12
|
-
end
|
13
|
-
|
14
|
-
def write(data)
|
15
|
-
@tempfile.write(data)
|
16
|
-
end
|
17
|
-
|
18
|
-
def closed?
|
19
|
-
@tempfile.closed?
|
9
|
+
super @tempfile
|
20
10
|
end
|
21
11
|
|
22
12
|
def close
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe BFS::TempWriter do
|
4
|
+
let(:closer) { proc {} }
|
5
|
+
subject { described_class.new 'test', nil, &closer }
|
6
|
+
|
7
|
+
it 'should behave like a File' do
|
8
|
+
missing = ::File.public_instance_methods - subject.public_methods
|
9
|
+
expect(missing).to be_empty
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should exectute a closer block' do
|
13
|
+
expect(closer).to receive(:call).with(subject.path)
|
14
|
+
expect(subject.close).to be_truthy
|
15
|
+
end
|
16
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bfs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dimitrij Denissenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Minimalist abstraction for bucket storage
|
14
14
|
email: dimitrij@blacksquaremedia.com
|
@@ -28,6 +28,7 @@ files:
|
|
28
28
|
- spec/bfs/blob_spec.rb
|
29
29
|
- spec/bfs/bucket/fs_spec.rb
|
30
30
|
- spec/bfs/bucket/in_mem_spec.rb
|
31
|
+
- spec/bfs/helpers_spec.rb
|
31
32
|
homepage: https://github.com/bsm/bfs.rb
|
32
33
|
licenses:
|
33
34
|
- Apache-2.0
|
@@ -55,3 +56,4 @@ test_files:
|
|
55
56
|
- spec/bfs/blob_spec.rb
|
56
57
|
- spec/bfs/bucket/fs_spec.rb
|
57
58
|
- spec/bfs/bucket/in_mem_spec.rb
|
59
|
+
- spec/bfs/helpers_spec.rb
|