Module: DataPaths::Methods

Included in:
DataPaths
Defined in:
lib/data_paths/methods.rb

Instance Method Summary collapse

Instance Method Details

#data_pathsSet

The directories registered within a specific module or class.

Returns:

  • (Set)

    The directories registered so far.



11
12
13
# File 'lib/data_paths/methods.rb', line 11

def data_paths
  @data_paths ||= Set[]
end

#register_data_dir(path) ⇒ String

Registers a path as a data directory.

Examples:

register_data_dir File.join(File.dirname(__FILE__),'..','..','..','data')

Parameters:

Returns:

  • (String)

    The fully qualified form of the specified path.

Raises:

  • (RuntimeError)

    The specified path is not a directory.



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/data_paths/methods.rb', line 30

def register_data_dir(path)
  path = File.expand_path(path)

  unless File.directory?(path)
    raise(RuntimeError,"#{path.dump} must be a directory")
  end

  self.data_paths << path

  DataPaths.paths << path
  return path
end

#unregister_data_dir!(path) ⇒ true

Unregisters any matching data directories.

Parameters:

  • path (String)

    The path to unregistere.

Returns:

  • (true)


51
52
53
54
55
56
57
# File 'lib/data_paths/methods.rb', line 51

def unregister_data_dir!(path)
  path = File.expand_path(path)

  self.data_paths.reject! { |dir| dir == path }
  DataPaths.paths.reject! { |dir| dir == path }
  return true
end

#unregister_data_dirs!true

Unregisters all previously registered data directories.

Returns:

  • (true)


64
65
66
67
68
# File 'lib/data_paths/methods.rb', line 64

def unregister_data_dirs!
  DataPaths.paths.reject! { |dir| self.data_paths.include?(dir) }
  self.data_paths.clear
  return true
end