filecluster 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
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
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-04-25 00:00:00.000000000 Z
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: -1105440005900324058
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: -1105440005900324058
198
+ hash: 191961039
199
199
  requirements: []
200
200
  rubyforge_project:
201
201
  rubygems_version: 1.8.24