Created: 2012-03-23 16:05
Updated: 2019-01-16 00:06
License: mit

Brewscribe Build Status Code Climate

Brewscribe is a Beersmith2 (.bsmx) file parser.


gem install brewscribe or gem brewscribe in your Gemfile.


To start, you can import your .bsmx file with Brewscribe.import(file) where file is any object that responds to #read. This will return a Brewscribe::Document object, containing all the parsed information within the file. Currently, only Recipe objects will be parsed.

By default, Brewscribe will set a text property for each attribute of the recipe, and if it has a parser object it will attempt to further parse the data.

An example of this is found in Brewscribe::IngredientList:

document = Brewscribe.import './spec/support/recipe.bsmx'
recipe =
recipe.ingredients.class # => Brewscribe::IngredientList
recipe.ingredients.grains.class # => Array
recipe.ingredients.grains.first.class # => Brewscribe::Grain # => "Pale Malt (2 Row) US"


I <3 Contributions.

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request


  • Document / Recipe Export
  • More documentation


Created by Andrew Nordman.

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more