class Dustcart::Resource::Base
base class for resources
Attributes
defined_attributes[R]
attributes[R]
dump_dir[R]
Public Class Methods
define_attribute(name)
click to toggle source
# File lib/dustcart/resource_base.rb, line 54 def define_attribute(name) name = name.to_sym @defined_attributes[name] = nil unless @defined_attributes.key?(name) end
inherited(subclass)
click to toggle source
# File lib/dustcart/resource_base.rb, line 47 def inherited(subclass) subclass.instance_variable_set( :@defined_attributes, defined_attributes.dup ) end
new(dir, &block)
click to toggle source
# File lib/dustcart/resource_base.rb, line 10 def initialize(dir, &block) print_initialize_comment @dump_dir = dir @attributes ||= {} instance_eval(&block) if block end
Public Instance Methods
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/dustcart/resource_base.rb, line 18 def method_missing(method, *args, &block) method = method.to_sym if self.class.defined_attributes.key?(method) case args.size when 0 return @attributes[method] when 1 return @attributes[method] = args.first end end super end
precheck()
click to toggle source
# File lib/dustcart/resource_base.rb, line 41 def precheck end
respond_to_missing?(method, *)
click to toggle source
Calls superclass method
# File lib/dustcart/resource_base.rb, line 33 def respond_to_missing?(method, *) self.class.defined_attributes.key?(method) || super end
run()
click to toggle source
# File lib/dustcart/resource_base.rb, line 37 def run FileUtils.mkdir_p(dump_dir) end
Private Instance Methods
print_initialize_comment()
click to toggle source
# File lib/dustcart/resource_base.rb, line 62 def print_initialize_comment puts " Resource: #{self.class.name.split('::').last}" end