filecluster 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/fc/item.rb +6 -0
- data/lib/fc/version.rb +1 -1
- data/test/item_test.rb +10 -5
- metadata +4 -4
data/lib/fc/item.rb
CHANGED
@@ -113,5 +113,11 @@ module FC
|
|
113
113
|
def get_item_storages
|
114
114
|
FC::ItemStorage.where("item_id = #{id}")
|
115
115
|
end
|
116
|
+
|
117
|
+
def get_available_storages
|
118
|
+
r = FC::DB.connect.query("SELECT st.* FROM #{FC::Storage.table_name} as st, #{FC::ItemStorage.table_name} as ist WHERE
|
119
|
+
ist.item_id = #{id} AND ist.status='ready' AND ist.storage_name = st.name")
|
120
|
+
r.map{|data| FC::Storage.create_from_fiels(data)}.select {|storage| storage.up? }
|
121
|
+
end
|
116
122
|
end
|
117
123
|
end
|
data/lib/fc/version.rb
CHANGED
data/test/item_test.rb
CHANGED
@@ -11,7 +11,7 @@ class ItemTest < Test::Unit::TestCase
|
|
11
11
|
@@storages << FC::Storage.new(:name => 'rec2-sda', :host => 'rec2')
|
12
12
|
@@item_storages = @@storages.map do |storage|
|
13
13
|
storage.save
|
14
|
-
item_storage = FC::ItemStorage.new(:item_id => @@item.id, :storage_name => storage.name)
|
14
|
+
item_storage = FC::ItemStorage.new(:item_id => @@item.id, :storage_name => storage.name, :status => 'ready')
|
15
15
|
item_storage.save
|
16
16
|
item_storage
|
17
17
|
end
|
@@ -21,10 +21,6 @@ class ItemTest < Test::Unit::TestCase
|
|
21
21
|
FC::DB.connect.query("DELETE FROM items")
|
22
22
|
FC::DB.connect.query("DELETE FROM storages")
|
23
23
|
end
|
24
|
-
end
|
25
|
-
|
26
|
-
should "get_item_storages" do
|
27
|
-
assert_same_elements @@item_storages.map(&:id), @@item.get_item_storages.map(&:id)
|
28
24
|
end
|
29
25
|
|
30
26
|
should "create_from_local" do
|
@@ -46,4 +42,13 @@ class ItemTest < Test::Unit::TestCase
|
|
46
42
|
end
|
47
43
|
end
|
48
44
|
|
45
|
+
should "get_item_storages" do
|
46
|
+
assert_same_elements @@item_storages.map(&:id), @@item.get_item_storages.map(&:id)
|
47
|
+
end
|
48
|
+
|
49
|
+
should "item get_available_storages" do
|
50
|
+
@@storages[0].update_check_time
|
51
|
+
assert_equal 1, @@item.get_available_storages.count
|
52
|
+
assert_equal @@storages[0].name, @@item.get_available_storages.first.name
|
53
|
+
end
|
49
54
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: filecluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-05-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rb-readline
|
@@ -186,7 +186,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
186
186
|
version: '0'
|
187
187
|
segments:
|
188
188
|
- 0
|
189
|
-
hash:
|
189
|
+
hash: 191961039
|
190
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
191
|
none: false
|
192
192
|
requirements:
|
@@ -195,7 +195,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
195
195
|
version: '0'
|
196
196
|
segments:
|
197
197
|
- 0
|
198
|
-
hash:
|
198
|
+
hash: 191961039
|
199
199
|
requirements: []
|
200
200
|
rubyforge_project:
|
201
201
|
rubygems_version: 1.8.24
|