# 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