Sha256: 173b5ebde5e3a46c431f3ae848f46643fb766c9a42f8dc6edaf61d8bd80651e3

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

# Dbuilder

TODO: Write a gem description

## Installation

Add this line to your application's Gemfile:

    gem 'dbuilder'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install dbuilder

## Usage

```ruby
  def SomeBuilder
    extend Dbuilder::Builder
    builder_default :meth_name, "meth value"
  end

  klazz = SomeBuilder.build # This will return a class 'Some' with the method meth_name
  klazz.new # to create an instance of the class

  def SomeOtherBuilder
    extend Dbuilder::Builder
    builder_defaults :m1, 1, :m2, 2, :m3, "terrible movie"
  end

  # this is an example of the short hand way of creating multiple builder_default calls
```

### builder\_default method
  * This method can be used as many times as you want inside of a builder class declaration
  * The first param is the method name 

### builder\_defaults method
  * This method can be used as many times as you want inside of a builder class declaration
  * This takes touples of method name, value 

### \_with methods
  * For each method defined with builder\_default or builder\_defaults
    there is a matching \_with method.
  * the purpose of the \_with methods is to override the default return value of the method
  * Example:
```ruby
  def SomeBuilder
    extend Dbuilder::Builder
    builder_default :meth, "meth value"
  end

  SomeBuilder.with_meth("head").build

  # This would build up a class of Some with an instance method of meth, and its return value be "head" as apposed to "meth value"
```

## Contributing

1. Fork it
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 new Pull Request

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dbuilder-0.5.0 README.md