ci-cache 1.0.0 → 1.1.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 +4 -4
- data/.editorconfig +21 -0
- data/.travis.yml +2 -2
- data/CHANGELOG.md +5 -0
- data/lib/ci-cache/storage.rb +14 -4
- data/lib/ci-cache/version.rb +1 -1
- data/spec/storage_spec.rb +19 -2
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79c6f62e7140ce98a3a46c1152220de94933c108
|
4
|
+
data.tar.gz: 3c5747e523e18f4e5b2c611b9e94adbde1771fca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b743cdac3da092db121d537c2e84ff68470bc2054303f929729d248c3c6a87a6e8d27bd676c0c2e297d4f45ec85c6337a96d4e7c01c7f4e2d8da7e603305439
|
7
|
+
data.tar.gz: 2da6f3d3b85076f74edcbddb78fa83e5fc4adfe1964882eef2df2961a68f9954330f2af68770f273e03aa5fbb764cf6a444483da8b57d1fb68dd56857dc50a12
|
data/.editorconfig
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# EditorConfig helps developers define and maintain consistent
|
2
|
+
# coding styles between different editors and IDEs
|
3
|
+
# editorconfig.org
|
4
|
+
|
5
|
+
root = true
|
6
|
+
|
7
|
+
|
8
|
+
[*]
|
9
|
+
|
10
|
+
# Change these settings to your own preference
|
11
|
+
indent_style = space
|
12
|
+
indent_size = 2
|
13
|
+
|
14
|
+
# We recommend you to keep these unchanged
|
15
|
+
end_of_line = lf
|
16
|
+
charset = utf-8
|
17
|
+
trim_trailing_whitespace = true
|
18
|
+
insert_final_newline = true
|
19
|
+
|
20
|
+
[*.md]
|
21
|
+
trim_trailing_whitespace = false
|
data/.travis.yml
CHANGED
@@ -6,9 +6,9 @@ rvm:
|
|
6
6
|
- rbx-19mode
|
7
7
|
deploy:
|
8
8
|
provider: rubygems
|
9
|
-
api_key:
|
10
|
-
secure: XMfj0fh0v8byvY67GtTLIeJcxEpmt7WBOTF9fmsEsWv6Wq2ZYeWdlLxgK042FTB7IkFYVF6EsA4zmOFKZkMpypwROj0cwTEeoA/5DjukowVc2KwpRLXMCUBeatRD9U63A8gq3CVrS7t5emo4trxb6lH+x3HIgF5Ef4n8Sj+MWJM=
|
11
9
|
gem: ci-cache
|
12
10
|
on:
|
13
11
|
tags: true
|
14
12
|
repo: johanneswuerbach/ci-cache
|
13
|
+
api_key:
|
14
|
+
secure: AMbQe7WSmP/41Fi9XCHlTF+qxlPhbTSu9/6r7FUPK3b5lFoegdiQCyFw1QdKHtBHW8Rcjb7MyDKehlnnUhNbO6jA5ioccfLCZsvc3mh3Ce5HO0xhJiN9sZ+7Odt5Xgj1OPrMPeyt3bV5J84MwUrrRhP2EOwrfSArJnWaFdAJ/dc=
|
data/CHANGELOG.md
ADDED
data/lib/ci-cache/storage.rb
CHANGED
@@ -9,8 +9,9 @@ module CiCache
|
|
9
9
|
|
10
10
|
def download(name, tmp_folder)
|
11
11
|
target_file = "#{tmp_folder}/#{name}"
|
12
|
-
|
13
|
-
|
12
|
+
prefixed_name = prefixed_name(name)
|
13
|
+
log "Download: #{prefixed_name} ~> #{target_file}"
|
14
|
+
object = bucket_object(prefixed_name)
|
14
15
|
File.open(target_file, 'wb') do |file|
|
15
16
|
object.read do |chunk|
|
16
17
|
file.write(chunk)
|
@@ -21,13 +22,18 @@ module CiCache
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def upload(name, content)
|
24
|
-
|
25
|
-
|
25
|
+
prefixed_name = prefixed_name(name)
|
26
|
+
log "Upload: #{prefixed_name}"
|
27
|
+
object = bucket_object(prefixed_name)
|
26
28
|
object.write(content)
|
27
29
|
end
|
28
30
|
|
29
31
|
private
|
30
32
|
|
33
|
+
def prefixed_name(name)
|
34
|
+
prefix + name
|
35
|
+
end
|
36
|
+
|
31
37
|
def log(message)
|
32
38
|
@context.log(message)
|
33
39
|
end
|
@@ -36,6 +42,10 @@ module CiCache
|
|
36
42
|
ENV["CI_CACHE_S3_BUCKET"]
|
37
43
|
end
|
38
44
|
|
45
|
+
def prefix
|
46
|
+
ENV["CI_CACHE_S3_PREFIX"] || ""
|
47
|
+
end
|
48
|
+
|
39
49
|
def configure_aws
|
40
50
|
AWS.config(
|
41
51
|
access_key_id: ENV["CI_CACHE_S3_KEY"],
|
data/lib/ci-cache/version.rb
CHANGED
data/spec/storage_spec.rb
CHANGED
@@ -16,8 +16,18 @@ describe CiCache::Storage do
|
|
16
16
|
subject { storage.download(name, folder) }
|
17
17
|
|
18
18
|
context "when the object exists" do
|
19
|
+
|
19
20
|
it "downloads the object" do
|
20
|
-
storage.should_receive(:bucket_object).and_return(object)
|
21
|
+
storage.should_receive(:bucket_object).with(name).and_return(object)
|
22
|
+
object.should_receive(:read).and_yield("chunk")
|
23
|
+
handle.should_receive(:write).with("chunk")
|
24
|
+
File.should_receive(:open).with("~/file", "wb").and_yield(handle)
|
25
|
+
subject
|
26
|
+
end
|
27
|
+
|
28
|
+
it "uses a defined prefix" do
|
29
|
+
storage.should_receive(:prefix).and_return("my-repo/")
|
30
|
+
storage.should_receive(:bucket_object).with("my-repo/" + name).and_return(object)
|
21
31
|
object.should_receive(:read).and_yield("chunk")
|
22
32
|
handle.should_receive(:write).with("chunk")
|
23
33
|
File.should_receive(:open).with("~/file", "wb").and_yield(handle)
|
@@ -38,7 +48,14 @@ describe CiCache::Storage do
|
|
38
48
|
subject { storage.upload(name, "content") }
|
39
49
|
|
40
50
|
it "uploads the content" do
|
41
|
-
storage.should_receive(:bucket_object).and_return(object)
|
51
|
+
storage.should_receive(:bucket_object).with(name).and_return(object)
|
52
|
+
object.should_receive(:write).with("content")
|
53
|
+
subject
|
54
|
+
end
|
55
|
+
|
56
|
+
it "uses a defined prefix" do
|
57
|
+
storage.should_receive(:prefix).and_return("my-repo/")
|
58
|
+
storage.should_receive(:bucket_object).with("my-repo/" + name).and_return(object)
|
42
59
|
object.should_receive(:write).with("content")
|
43
60
|
subject
|
44
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ci-cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johannes Würbach
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-09-
|
11
|
+
date: 2013-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk
|
@@ -59,9 +59,11 @@ executables:
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
+
- .editorconfig
|
62
63
|
- .gitignore
|
63
64
|
- .rspec
|
64
65
|
- .travis.yml
|
66
|
+
- CHANGELOG.md
|
65
67
|
- Gemfile
|
66
68
|
- LICENSE
|
67
69
|
- README.md
|