Sha256: d2f6c0f6a857875b6ce251888ef5b6007d6dc8035b1ff4b6cbfde5d500429a32

Contents?: true

Size: 1.98 KB

Versions: 2

Compression:

Stored size: 1.98 KB

Contents

= ruby-conf

  Simple way to do ruby config DSL

== Examples

  RubyConf.define :godzilla do
    mothra 'sucks'
    godzilla 'rocks'
  end


  > RubyConf.godzilla.mothra
  => "sucks" 
  > RubyConf.godzilla.godzilla
  => "rocks" 



  RubyConf.define "monkey" , :as => 'MyBonobo' do
   has_legs true
   number_arms 2
   number_legs 2
   name 'Nancy' , 'Drew'
   age 34

   # make sure to pass a lambda and not a do block
   # do blocks chain configurations (see below)
   number_of_bananas_eaten lambda { 
     BanannaChomper.lookup("nancy.bananas").count
   }
  end
  MyBonobo.name                     # ['Nancy' , 'Drew']
  MyBonobo.number_of_bananas_eaten  # execute proc
  MyBonobo.number_legs              # 2
  RubyConf[:monkey][:age]           # 34
  ...

=== Anonymous configurations
  config = RubyConf.define do
    favorite_color 'blue'
  end
  config.favorite_color             # "blue"

=== Configuration chaining
  RubyConf.define "rails", :as => :RailsConfig do
    production do
      database "rails_prod"
      host "localhost"
    end
    staging do
      database "rails_staging"
      host "localhost"
    end
  end
  RailsConfig.production.database  # "rails_prod"
  RailsConfig.staging.database     # "rails_staging"

== Contributing to ruby-conf
 
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
* Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
* Fork the project.
* Start a feature/bugfix branch.
* Commit and push until you are happy with your contribution.
* Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
* Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

== Copyright

Copyright (c) 2012 Curtis Schofield & Hollin Wilkins. See LICENSE.txt for
further details.

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-conf-1.4.1 README.rdoc
ruby-conf-1.4.0 README.rdoc