filecluster 0.4.13 → 0.4.14

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: c2a7e2b03e88697fb0e2123c32db16dd8a266b40
4
- data.tar.gz: 323c7c1efaaaef5e84eafdb87c0d55cf04c1b827
3
+ metadata.gz: 682a63b1d5a1315b249718bc596d4297ceecd7aa
4
+ data.tar.gz: f212b750a964e94e454f2a2163359334ec1cc898
5
5
  SHA512:
6
- metadata.gz: 15a70282e51cd4d7571920c2c458e17c9402148593004ac7b48777c976e3c635f79fac3d732c6a4811181f4a1219a74409bd1e1bd2159faa10f6e411922adcb9
7
- data.tar.gz: 35d9f0727102c900cbfaffab42e6ad1de334b6ef795c055f6f09c7c2ae53c6d4202c41e116d9872dfffe6cc39d116412898cc90dd8b567bdfd1dcd9b381c4410
6
+ metadata.gz: 228b7124186c2bac6921b6a4e286c9e87f36d0352dfc842e2c1c4090978cca84a1f9a5b6cd9aff2706dcf9f793f8fb98f03ea68856c7fc73e986d5a72756b78f
7
+ data.tar.gz: 9d95e2fe21d4dd036451019d28783102f2098462afd8e34f8dd29a23d4de235043c413cea82dabda56c510ea882641d85eb21750f138e6219ce45f61c03dbcf0
data/lib/fc/base.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  module FC
4
4
  class DbBase
5
- attr_accessor :id, :database_fields
5
+ attr_accessor :id, :database_fields, :additional_fields
6
6
 
7
7
  class << self
8
8
  attr_accessor :table_name, :table_fields
@@ -12,6 +12,7 @@ module FC
12
12
  self.class.table_fields.each {|key| self.send("#{key}=", params[key] || params[key.to_sym]) }
13
13
  @id = (params["id"] || params[:id]).to_i if params["id"] || params[:id]
14
14
  @database_fields = params[:database_fields] || {}
15
+ @additional_fields = params[:additional_fields] || {}
15
16
  end
16
17
 
17
18
  def self.table_name
@@ -29,8 +30,17 @@ module FC
29
30
  # make instance on fields hash
30
31
  def self.create_from_fiels(data)
31
32
  # use only defined in set_table fields
32
- database_fields = data.select{|key, val| self.table_fields.include?(key.to_s)}
33
- self.new(database_fields.merge({:id => data["id"].to_s, :database_fields => database_fields}))
33
+ #database_fields = data.select{|key, val| self.table_fields.include?(key.to_s)}
34
+ additional_fields = {}
35
+ database_fields = {}
36
+ data.each do |key, val|
37
+ if self.table_fields.include?(key.to_s)
38
+ database_fields[key] = val
39
+ elsif key != 'id'
40
+ additional_fields[key.to_sym] = val
41
+ end
42
+ end
43
+ self.new(database_fields.merge({:id => data["id"].to_s, :database_fields => database_fields, :additional_fields => additional_fields}))
34
44
  end
35
45
 
36
46
  # get element by id
@@ -61,6 +71,11 @@ module FC
61
71
  fields << "#{key}=#{val ? (val.class == String ? "'#{FC::DB.connect.escape(val)}'" : val.to_i) : 'NULL'}"
62
72
  end
63
73
  end
74
+ @additional_fields.each do |key, val|
75
+ val = 1 if val == true
76
+ val = 0 if val == false
77
+ fields << "#{key}=#{val ? (val.class == String ? "'#{FC::DB.connect.escape(val)}'" : val.to_i) : 'NULL'}"
78
+ end
64
79
  if fields.length > 0
65
80
  sql << fields.join(',')
66
81
  sql << " WHERE id=#{@id.to_i}" if @id
data/lib/fc/item.rb CHANGED
@@ -10,6 +10,7 @@ module FC
10
10
  # Additional options:
11
11
  # :replace=true - replace item if it exists
12
12
  # :remove_local=true - delete local_path file/dir after add
13
+ # :additional_fields - hash of additional FC:Item fields
13
14
  # If item_name is part of local_path it processed as inplace - local_path is valid path to the item for policy
14
15
  def self.create_from_local(local_path, item_name, policy, options={})
15
16
  raise 'Path not exists' unless File.exists?(local_path)
data/lib/fc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = "0.4.13"
2
+ VERSION = "0.4.14"
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.4.13
4
+ version: 0.4.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - sh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-27 00:00:00.000000000 Z
11
+ date: 2015-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mysql2