filecluster 0.5.27 → 0.6.1

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 +12 -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: 70e781eff2ad964938c028544244ed54f0f5405abc8a666adc7aa177264cf592
4
+ data.tar.gz: 29606a59dfe196df2a625ff848dd5cc3977c80cb75b7614dcb1bd69a0264dd93
5
5
  SHA512:
6
- metadata.gz: 2b61bf7130e74cf5c94531f12269b873639ba2e1c440340249e06c4fd446cf4abb38e1eba69cc89794890a01fcbc5342dccae29ec1cfb20387adb10effca79d9
7
- data.tar.gz: 27f24880144776bf678fab2e0c572897c1f0a7dcfce22396adb76490f16f9f936ef1ca1feef761bb01268ccfb1a4e3a9e24cf384394baee8db2e6a9f938e7440
6
+ metadata.gz: efd5d6fee6abcc55800445ac2c6ce67b355d0d619c473c63733a7664a97e9ff03f2a50f88a9633312f98e7007166ab8a1b4f9e58d105ef8dfa0b7c843a89f8fe
7
+ data.tar.gz: 459c19c8258b02000a4cc0d6cf4988ee64fb5e548e8239e7176fa0fc1f4b3ac0976cf8d31a1c1fa07fcd4a5f82685eb641168501a1c6d5f1def50c2889c97af7
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
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,22 @@ 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)
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]
42
+ storage = options[:force_local_storage]
43
+ if local_path.index(storage.path) != 0 || local_path.sub(storage.path, '').sub(/\/$/, '').sub(/^\//, '') != item_params[:name]
44
+ FC::Error.raise "force_local_storage #{storage.name} is not valid path for local path ##{local_path}"
45
+ end
46
+ else
47
+ storage = policy.get_create_storages.detect do |s|
48
+ s.host == FC::Storage.curr_host && local_path.index(s.path) == 0 && local_path.sub(s.path, '').sub(/\/$/, '').sub(/^\//, '') == item_params[:name]
49
+ end
50
+ FC::Error.raise "local_path #{local_path} is not valid path for policy ##{policy.id}" unless storage
41
51
  end
42
- FC::Error.raise "local_path #{local_path} is not valid path for policy ##{policy.id}" unless storage
43
52
  end
44
53
 
45
54
  # 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.6.1'.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.6.1
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: 2022-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2