class Dustcart::Group
resource group
Constants
- INPUT_RESOURCES
- OUTPUT_RESOURCES
Public Class Methods
new(group_class, dir)
click to toggle source
# File lib/dustcart/group.rb, line 17 def initialize(group_class, dir) print_initialize_comment(group_class) @temp_dir = dir initialize_classes(group_class) end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/dustcart/group.rb, line 24 def method_missing(method, *args, &block) super unless args.size == 1 name = args[0] begin klass = get_class(method) rescue NameError super end resource = klass.new(@temp_dir, name, &block) resource.precheck resource.run end
respond_to_missing?(method, *)
click to toggle source
ignore :reek:UtilityFunction
# File lib/dustcart/group.rb, line 40 def respond_to_missing?(method, *) get_class(method) true rescue NameError false end
Private Instance Methods
get_class(method)
click to toggle source
# File lib/dustcart/group.rb, line 54 def get_class(method) @group_type.const_get(to_camel_case(method.to_s)) end
initialize_classes(group_class)
click to toggle source
# File lib/dustcart/group.rb, line 58 def initialize_classes(group_class) case group_class when :input require_files(INPUT_RESOURCES) @group_type = Resource::Input when :output require_files(OUTPUT_RESOURCES) @group_type = Resource::Output else raise "invalid group type (#{group_class})" end end
print_initialize_comment(group_class)
click to toggle source
# File lib/dustcart/group.rb, line 75 def print_initialize_comment(group_class) puts "Group: #{group_class}" end
require_files(files)
click to toggle source
# File lib/dustcart/group.rb, line 71 def require_files(files) files.each { |file| require file } end
to_camel_case(str)
click to toggle source
ignore :reek:UtilityFunction
# File lib/dustcart/group.rb, line 50 def to_camel_case(str) str.split('_').map(&:capitalize).join end