I have this class Callback
to act as custom attr_accessor
module Callback
def add_callback(name)
define_method(name) do
instance_variable_get("@#{name.to_s}")
end
define_method("#{name.to_s}=") do |value|
instance_variable_set("@#{name.to_s}", value)
end
end
end
I do include the class into my main class
require_relative "./callback"
class TaskManager
include Callback
add_callback :on_start, :on_finished, :on_error
def initialize; end
end
But when I require it in irb I got undefined method error
require "./task_manager.rb"
irb(main):003:0> require "./task_manager.rb"
/Users/task_manager.rb:9:in `<class:TaskManager>': undefined method `add_callback' for TaskManager:Class (NoMethodError)
Both file already in same folder