require 'pathname'

module Tachikoma
  class << self
    # ~/users-tachikoma-dir
    def root_path
      @root_path ||= Pathname.new Dir.pwd
    end

    def root_path=(root_path)
      @root_path = Pathname.new File.expand_path(root_path)
    end

    # ~/users-tachikoma-dir/data
    def data_path
      @data_path ||= root_path.join('data')
    end

    def data_path=(data_path)
      @data_path = Pathname.new File.expand_path(data_path)
    end

    # ~/users-tachikoma-dir/repos
    def repos_path
      @repos_path ||= root_path.join('repos')
    end

    def repos_path=(repos_path)
      @repos_path = Pathname.new File.expand_path(repos_path)
    end

    # /path/to/gem/tachikoma
    def original_root_path
      @original_root_path ||= Pathname.new File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
    end

    # /path/to/gem/tachikoma/data
    def original_data_path
      @original_data_path ||= original_root_path.join('data')
    end
  end
end

require 'pathname'

module Tachikoma
  # ~/users-tachikoma-dir
  def self.root_path
    @root_path ||= Pathname.new(Dir.pwd)
  end

  def self.root_path=(root_path)
    @root_path = Pathname.new File.expand_path(root_path)
  end

  # ~/users-tachikoma-dir/data
  def self.data_path
    @data_path ||= root_path.join('data')
  end

  def self.data_path=(data_path)
    @data_path = Pathname.new File.expand_path(data_path)
  end

  # ~/users-tachikoma-dir/repos
  def self.repos_path
    @repos_path ||= root_path.join('repos')
  end

  def self.repos_path=(repos_path)
    @repos_path = Pathname.new File.expand_path(repos_path)
  end

  # /path/to/gem/tachikoma
  def self.original_root_path
    @original_root_path ||= Pathname.new File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
  end

  # /path/to/gem/tachikoma/data
  def self.original_data_path
    @original_data_path ||= original_root_path.join('data')
  end
end

--- 
+++ 
@@ -1,40 +1,42 @@
 require 'pathname'
 
 module Tachikoma
-  # ~/users-tachikoma-dir
-  def self.root_path
-    @root_path ||= Pathname.new(Dir.pwd)
-  end
+  class << self
+    # ~/users-tachikoma-dir
+    def root_path
+      @root_path ||= Pathname.new Dir.pwd
+    end
 
-  def self.root_path=(root_path)
-    @root_path = Pathname.new File.expand_path(root_path)
-  end
+    def root_path=(root_path)
+      @root_path = Pathname.new File.expand_path(root_path)
+    end
 
-  # ~/users-tachikoma-dir/data
-  def self.data_path
-    @data_path ||= root_path.join('data')
-  end
+    # ~/users-tachikoma-dir/data
+    def data_path
+      @data_path ||= root_path.join('data')
+    end
 
-  def self.data_path=(data_path)
-    @data_path = Pathname.new File.expand_path(data_path)
-  end
+    def data_path=(data_path)
+      @data_path = Pathname.new File.expand_path(data_path)
+    end
 
-  # ~/users-tachikoma-dir/repos
-  def self.repos_path
-    @repos_path ||= root_path.join('repos')
-  end
+    # ~/users-tachikoma-dir/repos
+    def repos_path
+      @repos_path ||= root_path.join('repos')
+    end
 
-  def self.repos_path=(repos_path)
-    @repos_path = Pathname.new File.expand_path(repos_path)
-  end
+    def repos_path=(repos_path)
+      @repos_path = Pathname.new File.expand_path(repos_path)
+    end
 
-  # /path/to/gem/tachikoma
-  def self.original_root_path
-    @original_root_path ||= Pathname.new File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
-  end
+    # /path/to/gem/tachikoma
+    def original_root_path
+      @original_root_path ||= Pathname.new File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
+    end
 
-  # /path/to/gem/tachikoma/data
-  def self.original_data_path
-    @original_data_path ||= original_root_path.join('data')
+    # /path/to/gem/tachikoma/data
+    def original_data_path
+      @original_data_path ||= original_root_path.join('data')
+    end
   end
 end
Use eigenclass for simple syntax
