filecluster 0.1.2 → 0.1.3

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.
@@ -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