Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
DataPaths is a library to manage the paths to data/ directories within projects.
Ruby
tag: v0.3.0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gemtest
.gitignore
.rspec
.yardopts
ChangeLog.md
LICENSE.txt
README.md
Rakefile
data_paths.gemspec
gemspec.yml

README.md

data_paths

Description

DataPaths is a library to manage the paths of directories containing static-content across multiple libraries.

For example, DataPaths can manage the data/ directories of multiple RubyGems, in much the same way RubyGems manages the paths of lib/ directories using $LOAD_PATH.

Features

  • Allows libraries to register static-content directories using the register_data_path class or instance method.
  • Allows libraries to unregister a single path using unregister_data_path or all paths registered by that library with unregister_data_paths.
  • Provides helper methods in {DataPaths::Finders} for searching through the registered static-content directories.
  • Does not use global variables.

Examples

Register a directory containing static-content:

require 'data_paths'

module MyLibrary
  include DataPaths

  # define the data dir(s)
  register_data_path File.join(File.dirname(__FILE__),'..','..','data')
end

List previously registered static-content directories:

# all data directories
DataPaths.paths
# => [...]

# the data directories registeed in MyLibrary
MyLibrary.data_paths
# => [...]

# list data directories registered in an object
lib = MyLibrary.new
lib.register_data_path File.join('path','to','data')

lib.data_paths
# => [...]

Using {DataPaths::Finders} to access content from within the static-content directories:

module MyLibrary
  class UsesContent

    include DataPaths::Finders

    def index
      find_data_file('index.html')
    end

    def file_dirs
      all_data_dirs('extra')
    end

  end
end

Install

$ gem install data_paths

Copyright

Copyright (c) 2011 Hal Brodigan

See {file:LICENSE.txt} for license information.

Something went wrong with that request. Please try again.