filecluster 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,6 +9,13 @@ module FC
9
9
  end
10
10
  @storages_cache_time = 20 # ttl for storages cache
11
11
 
12
+ def self.filter_by_host(host = nil)
13
+ host = FC::Storage.curr_host unless host
14
+ self.where.select do |policy|
15
+ policy.get_create_storages.detect{|storage| storage.host == host}
16
+ end
17
+ end
18
+
12
19
  def get_create_storages
13
20
  return @create_storages_cache if @create_storages_cache && Time.new.to_i - @get_create_storages_time.to_i < self.class.storages_cache_time
14
21
  @get_create_storages_time = Time.new.to_i
@@ -1,3 +1,3 @@
1
1
  module FC
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -84,4 +84,11 @@ class PolicyTest < Test::Unit::TestCase
84
84
  @@storages[0].save
85
85
  assert_equal 'rec2-sda', @@policy.get_proper_storage_for_copy(1, 1).name, 'storage by copy_id'
86
86
  end
87
+
88
+ should "filter_by_host" do
89
+ FC::Storage.stubs(:curr_host).returns('rec2')
90
+ FC::Policy.new(:create_storages => 'rec3-sda,rec2-sda', :copy_storages => 'rec1-sda,rec2-sda', :copies => 1, :name => 'policy 2').save
91
+ FC::Policy.new(:create_storages => 'rec1-sda,rec3-sda', :copy_storages => 'rec1-sda,rec2-sda', :copies => 1, :name => 'policy 3').save
92
+ assert_same_elements ['policy 1', 'policy 2'], FC::Policy.filter_by_host.map{|p| p.name}
93
+ end
87
94
  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.2
4
+ version: 0.1.3
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-22 00:00:00.000000000 Z
12
+ date: 2013-04-24 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: 2481106043269937193
189
+ hash: -4100781296058111702
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: 2481106043269937193
198
+ hash: -4100781296058111702
199
199
  requirements: []
200
200
  rubyforge_project:
201
201
  rubygems_version: 1.8.24