bubbles 0.0.3 → 0.0.4

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
  SHA1:
3
- metadata.gz: 383a1a649c6407ee1a6038a046e20b32211330e2
4
- data.tar.gz: 16793183bce0ff30fad261b567f24a436b282fbf
3
+ metadata.gz: 96b3d1b99a3f79cb2e58d1c9634b6cf4e1ba6748
4
+ data.tar.gz: 034a1c88110918f379452ac746a73e9775e271e0
5
5
  SHA512:
6
- metadata.gz: daa6af748d3aab608fe92dac4f6480c860f1f3a2500e021d62bfcd46a6173b60d92950a60e1b7c2fca23431213553d55ffdf6beb8e4545ca76929552fe4153bf
7
- data.tar.gz: ae647141df468d36e0efbb7ebf31cb12f31094e4564da47a3da4785634a842adddcfaff351f46d897b487157de8b335e84d66341f161356b48f8f5730ab94aa3
6
+ metadata.gz: d69142f0393fc6ed34094edc8526db90a4e531163a88f728ce723df64f27940bf4dd134716f2662fa130ab2b2d19b9e19774b60b16c76a0a7ba3f6eeb4ccced4
7
+ data.tar.gz: 4f6d3fff532eed8f0e305f1e6a5ae87a7f6aef6b0ba28d4b9f57b1bac239bba37736c3a6f0470e4c1522ff854d9584aeb9b276255cca41fc94f93c1f2267df1e
data/README.md CHANGED
@@ -75,8 +75,10 @@ s3_secret_access_key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
75
75
  s3_bucket: bucket_name
76
76
  s3_region: eu-west-1
77
77
  s3_path: foo_folder/bar_folder/car_folder # will upload to s3://bucket/foo_folder/bar_folder/car_folder
78
+ s3_acl: private # # accepts private, public-read, public-read-write, authenticated-read, aws-exec-read, bucket-owner-read, bucket-owner-full-control
78
79
 
79
- local_dir_uploader_path: /mnt/network_smb_storage
80
+ local_dir_uploader_path: /mnt/network_smb_storage/
81
+ local_dir_metadata_file_path /var/log/uploads_metadata.yaml
80
82
  ```
81
83
 
82
84
  > Look into [lib/bubbles/config.rb](https://github.com/equivalent/bubbles/blob/master/lib/bubbles/config.rb) for more details.
@@ -3,6 +3,7 @@ require 'pathname'
3
3
  require 'logger'
4
4
  require 'securerandom'
5
5
  require 'yaml'
6
+ require 'json'
6
7
  require 'forwardable'
7
8
  require 'aws-sdk'
8
9
  require "bubbles/version"
@@ -11,7 +11,7 @@ module Bubbles
11
11
  attr_writer :config_path, :logger, :source_dir, :processing_dir, :log_path,
12
12
  :log_level, :sleep_interval, :uploader_classes, :num_of_files_to_schedule,
13
13
  :uniq_filename_randomizer, :local_dir_uploader_path, :s3_access_key_id, :s3_secret_access_key,
14
- :s3_region, :s3_path, :s3_bucket, :use_default_config_locations
14
+ :s3_region, :s3_path, :s3_bucket, :use_default_config_locations, :local_dir_metadata_file_path
15
15
 
16
16
  def log_path
17
17
  @log_path || config_yml['log_path'] || STDOUT
@@ -44,6 +44,11 @@ module Bubbles
44
44
  end
45
45
  end
46
46
 
47
+ def local_dir_metadata_file_path
48
+ err_msg = 'You need to set `local_dir_metadata_file_path`'
49
+ @local_dir_metadata_file_path ||= config_yml.fetch('local_dir_metadata_file_path') { raise err_msg }
50
+ end
51
+
47
52
  def local_dir_uploader_path
48
53
  err_msg = 'As you are using LocalDir uploader,' +
49
54
  ' you need to specify `local_dir_uploader_path` in your config' +
@@ -7,6 +7,7 @@ module Bubbles
7
7
  def call
8
8
  config.logger.debug("#{self.class.name}: transfering #{uid_file} to #{local_dir_uploader_path}")
9
9
  FileUtils.cp(uid_file, local_dir_uploader_path)
10
+ write_metadata
10
11
  rescue Errno::ENOENT => e
11
12
  config.logger.error("#{e.message}")
12
13
  command_queue.reschedule(self)
@@ -17,8 +18,23 @@ module Bubbles
17
18
  end
18
19
 
19
20
  private
20
- def_delegators :config, :local_dir_uploader_path
21
- def_delegators :bfile, :uid_file
21
+ def_delegators :config, :local_dir_uploader_path, :local_dir_metadata_file_path
22
+ def_delegators :bfile, :uid_file, :uid_file_name, :metadata
23
+
24
+ def write_metadata
25
+ File.open(local_dir_metadata_file_path, 'a') do |f|
26
+ f.write yaml_append
27
+ end
28
+ end
29
+
30
+ def yaml_append
31
+ <<EOF
32
+ -
33
+ key: #{uid_file_name}
34
+ path: #{uid_file}
35
+ metadata: #{metadata.to_json}
36
+ EOF
37
+ end
22
38
  end
23
39
  end
24
40
  end
@@ -6,7 +6,7 @@ module Bubbles
6
6
 
7
7
  def call
8
8
  File.open(uid_file, 'rb') do |file|
9
- s3.put_object(bucket: s3_bucket, key: s3_full_path, body: file, acl: config.s3_acl)
9
+ s3.put_object(bucket: s3_bucket, key: s3_full_path, body: file, acl: config.s3_acl, metadata: metadata)
10
10
  end
11
11
  rescue => e
12
12
  config.logger.error("#{e.message}")
@@ -19,7 +19,7 @@ module Bubbles
19
19
 
20
20
  private
21
21
  def_delegators :config, :s3_bucket, :s3_path, :s3_credentials, :s3_region
22
- def_delegators :bfile, :uid_file, :uid_file_name
22
+ def_delegators :bfile, :uid_file, :uid_file_name, :metadata
23
23
 
24
24
  def s3
25
25
  @s3 ||= Aws::S3::Client.new({
@@ -1,3 +1,3 @@
1
1
  module Bubbles
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bubbles
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Valent
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-19 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk