Module: OMGF::Regurgitator
- Includes:
- Regurgitator::FileInfo, Regurgitator::ListKeys
- Defined in:
- lib/omgf/regurgitator.rb
Instance Method Summary collapse
- #_log_err(env, m, e) ⇒ Object
- #_uris!(info) ⇒ Object
- #check_domain!(domain) ⇒ Object
- #mg_get_uris(env, domain, key, get_path_opts = {}) ⇒ Object
- #mg_list_keys(env, domain, prefix, after, limit) ⇒ Object
- #mg_size_and_uris(env, domain, key, get_path_opts = {}) ⇒ Object
- #regurgitator_init(db) ⇒ Object
Instance Method Details
#_log_err(env, m, e) ⇒ Object
19 20 21 22 |
# File 'lib/omgf/regurgitator.rb', line 19 def _log_err(env, m, e) l = env["rack.logger"] or return l.error("retrying #{m} against tracker: #{e.} (#{e.class})") end |
#_uris!(info) ⇒ Object
34 35 36 |
# File 'lib/omgf/regurgitator.rb', line 34 def _uris!(info) info[:uris].values.flatten! end |
#check_domain!(domain) ⇒ Object
14 15 16 17 |
# File 'lib/omgf/regurgitator.rb', line 14 def check_domain!(domain) get_dmid(domain) or raise MogileFS::Backend::UnregDomainError, "#{domain} not found" end |
#mg_get_uris(env, domain, key, get_path_opts = {}) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'lib/omgf/regurgitator.rb', line 38 def mg_get_uris(env, domain, key, get_path_opts = {}) check_domain!(domain) info = file_info({}, domain, key) or return super _uris!(info) rescue Sequel::Error => e _log_err(env, "mg_get_uris", e) super end |
#mg_list_keys(env, domain, prefix, after, limit) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/omgf/regurgitator.rb', line 24 def mg_list_keys(env, domain, prefix, after, limit) check_domain!(domain) list_keys(domain, prefix: prefix, after: after, limit: limit) do |x| yield(x[:dkey], x[:length], x[:devcount]) end rescue Sequel::Error => e _log_err(env, "mg_list_keys", e) super end |
#mg_size_and_uris(env, domain, key, get_path_opts = {}) ⇒ Object
47 48 49 50 51 52 53 54 |
# File 'lib/omgf/regurgitator.rb', line 47 def mg_size_and_uris(env, domain, key, get_path_opts = {}) check_domain!(domain) info = file_info({}, domain, key) or return super [ info[:length], _uris!(info) ] rescue Sequel::Error => e _log_err(env, "mg_size_and_uris", e) super end |
#regurgitator_init(db) ⇒ Object
9 10 11 12 |
# File 'lib/omgf/regurgitator.rb', line 9 def regurgitator_init(db) @db = db file_info_init end |