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