Class: Gizzard::WrapCommand
Instance Attribute Summary
Attributes inherited from Command
#argv, #buffer, #command_options, #global_options, #job_injector, #manager
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Command
classify, #confirm!, #get_base_name, #help!, #initialize, make_job_injector, make_manager, #output, #require_tables, #require_template_options, run
Constructor Details
This class inherits a constructor from Gizzard::Command
Class Method Details
.derive_wrapper_shard_id(shard_info, wrapping_class_name) ⇒ Object
370 371 372 373 |
# File 'lib/gizzard/commands.rb', line 370 def self.derive_wrapper_shard_id(shard_info, wrapping_class_name) suffix = "_" + wrapping_class_name.split(".").last.downcase.gsub("shard", "") ShardId.new("localhost", shard_info.id.table_prefix + suffix) end |
Instance Method Details
#run ⇒ Object
375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 |
# File 'lib/gizzard/commands.rb', line 375 def run class_name, *shard_ids = @argv help! "No shards specified" if shard_ids.empty? shard_ids.each do |shard_id_string| shard_id = ShardId.parse(shard_id_string) shard_info = manager.get_shard(shard_id) manager.create_shard(ShardInfo.new(wrapper_id = self.class.derive_wrapper_shard_id(shard_info, class_name), class_name, "", "", 0)) existing_links = manager.list_upward_links(shard_id) unless existing_links.include?(LinkInfo.new(wrapper_id, shard_id, 1)) manager.add_link(wrapper_id, shard_id, 1) existing_links.each do |link_info| manager.add_link(link_info.up_id, wrapper_id, link_info.weight) manager.remove_link(link_info.up_id, link_info.down_id) end end output wrapper_id.to_unix end end |