Sha256: a507579b03ac097945a87c4c65272e0da1dde2dc168b16ccc397a035e6417b38

Contents?: true

Size: 1.93 KB

Versions: 1

Compression:

Stored size: 1.93 KB

Contents

# RequirePatternXt
[![Build Status](https://travis-ci.org/mindreframer/require_pattern_xt.svg?branch=master)](http://travis-ci.org/mindreframer/require_pattern_xt)

__ a fork from https://github.com/Wardrop/RequirePattern with some impovements __

This library provides a simple extension to the Kernel module that allows files to be conveniantly `require`'d based on a glob pattern.

This library does NOT use load paths. Instead, it provides methods that load files either relative to the current working directory (`require_pattern`), or relative to the current file (`require_relative_pattern`).


# Why?

At this point you may be wondering why would I not just do this:

```ruby
Dir.glob('**/*.rb') { |f| require f }
```

In some instances you will get away with that, but what happens when file _x_ must be required before file _y_? This is what this library intends to resolve. It will load files in a loop, keeping track of what succeeds, and fails with an exception. This process continues until either all files have been required, or until a loop iteration fails to load any files at all.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'require_pattern_xt'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install require_pattern_xt

## Usage

Usage is relatively intuitive. Simply call either `require_pattern` or `require_relative_pattern` with one or more glob patterns, and all files matching those patterns will be required.

```ruby
require_pattern 'lib/**/*.rb', 'models/**/*.rb'
```

Any files that refuse to load will be reported to STDERR with backtrace information.

# Tests

    $ sh/test

## Contributing

1. Fork it ( https://github.com/[my-github-username]/require_pattern_xt/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
require_pattern_xt-1.0.0 README.md