fb2rb is a Fiction Book 2 parser/generator library written in Ruby.
Add this line to your application’s Gemfile:
gem 'fb2rb'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install fb2rb
You can create FB2 book in memory and write it to file:
require 'fb2rb'
book = FB2rb::Book.new
book.description.title_info.book_title = 'Book title'
body = FB2rb::Body.new(nil, '<p>Book text</p>')
book.bodies << body
book.write_compressed('/path/to/book.fb2.zip')
# or
book.write_uncompressed('/path/to/book.fb2')
Also, you can read existing FB2 file:
require 'fb2rb'
book = FB2rb::Book.read_compressed('/path/to/book.fb2.zip')
# or
book = FB2rb::Book.read_uncompressed('/path/to/book.fb2')
puts book.description.title_info.book_title
puts book.bodies[0].content