filecluster 0.5.27 → 0.5.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/fc/item.rb +15 -3
  3. data/lib/fc/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 188408c3ea713d2fcf6477c68833adc0225b54f02f97b52c77af9502e3a7a61c
4
- data.tar.gz: 6ad9c93d932d360284d7d42da40d35e736b277991767354b9fcf132cf83ef98c
3
+ metadata.gz: 9de6ac005874dd4c6bcb167cc9c71b6417f384c4116668ebcda03f6741f3a2ce
4
+ data.tar.gz: ec2aff79aff42a1b27d68168d2260e8720b676542bf2563ffcbc03a6880c7d37
5
5
  SHA512:
6
- metadata.gz: 2b61bf7130e74cf5c94531f12269b873639ba2e1c440340249e06c4fd446cf4abb38e1eba69cc89794890a01fcbc5342dccae29ec1cfb20387adb10effca79d9
7
- data.tar.gz: 27f24880144776bf678fab2e0c572897c1f0a7dcfce22396adb76490f16f9f936ef1ca1feef761bb01268ccfb1a4e3a9e24cf384394baee8db2e6a9f938e7440
6
+ metadata.gz: bf0c2a5c574e188f9af197b0acf9d328cf49eee1b89708b52f96b63cd3b60c974c2d9f832790619648cf3e67ec8904072965623b2afad01149668e9f13b9d4da
7
+ data.tar.gz: 96e31037d021574d7e6c033dea7a7c5fe685c8166b72ed257d41d8b115c23d0fe3d8892a94ed43bd8cdca31ce6fc1d222242aff297c55c762cfe56c51f9bd649
data/lib/fc/item.rb CHANGED
@@ -13,6 +13,7 @@ module FC
13
13
  # :additional_fields - hash of additional FC:Item fields
14
14
  # :no_md5 - don't use md5
15
15
  # :speed_limit - limit copy speed
16
+ # :force_local_storage_name
16
17
  # If item_name is part of local_path it processed as inplace - local_path is valid path to the item for policy
17
18
  def self.create_from_local(local_path, item_name, policy, options={}, &block)
18
19
  raise 'Path not exists' unless File.exists?(local_path)
@@ -32,14 +33,25 @@ module FC
32
33
  item_params.delete(:not_local)
33
34
  item_params.delete(:no_md5)
34
35
  item_params.delete(:speed_limit)
36
+ item_params.delete(:force_local_storage_name)
35
37
  raise 'Name is empty' if item_params[:name].empty?
36
38
  raise 'Zero size path' if item_params[:size] == 0
37
39
 
38
40
  if local_path.include?(item_name) && !options[:not_local]
39
- storage = policy.get_create_storages.detect do |s|
40
- s.host == FC::Storage.curr_host && local_path.index(s.path) == 0 && local_path.sub(s.path, '').sub(/\/$/, '').sub(/^\//, '') == item_params[:name]
41
+ if options[:force_local_storage_name]
42
+ storage = policy.get_create_storages.detect do |s|
43
+ s.name == options[:force_local_storage_name]
44
+ end
45
+ FC::Error.raise "force_local_storage #{storage.name} is not valid path for policy ##{policy.id}" unless storage
46
+ if local_path.index(storage.path) != 0 || local_path.sub(storage.path, '').sub(/\/$/, '').sub(/^\//, '') != item_params[:name]
47
+ FC::Error.raise "force_local_storage #{storage.name} is not valid path for local path ##{local_path}"
48
+ end
49
+ else
50
+ storage = policy.get_create_storages.detect do |s|
51
+ s.host == FC::Storage.curr_host && local_path.index(s.path) == 0 && local_path.sub(s.path, '').sub(/\/$/, '').sub(/^\//, '') == item_params[:name]
52
+ end
53
+ FC::Error.raise "local_path #{local_path} is not valid path for policy ##{policy.id}" unless storage
41
54
  end
42
- FC::Error.raise "local_path #{local_path} is not valid path for policy ##{policy.id}" unless storage
43
55
  end
44
56
 
45
57
  # new item?
data/lib/fc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = '0.5.27'.freeze
2
+ VERSION = '0.5.28'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filecluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.27
4
+ version: 0.5.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - sh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-04 00:00:00.000000000 Z
11
+ date: 2021-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2