Skip to content

gaganawhad/scriptura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gem Version Circle CI Code Climate Test Coverage Dependency Status

This is a ruby library that provides operations related with meta information about the Bible

Installation

Add this line to your application's Gemfile:

gem 'scriptura'

And then execute:

$ bundle

Or install it yourself as:

$ gem install scriptura

Usage

There are four main classes in this library:

  • Scripture
  • ScriptureBook
  • ScriptureChapter
  • ScriptureVerse
  • ScriptureReference

###Scripture

The way it is written, this is actually a module that encapsulates methods that scope the entire bible

> Scripture.book_names
 => ["Genesis", "Exodus", "Leviticus", ... , "Revelation"]

###ScriptureBook

This is a ruby class that gets initialized by passing in the book number. You can also find_by_name the book or find it by its 'string_id'

Note: Books with no chapters are considered to be books with one chapter

> sb = ScriptureBook.new(1)
 => #<ScriptureBook:0x007fcb1b80f7f8 @number=1>
> sb.name
  => "Genesis"
> ScriptureBook.find_by_name("1 Corinthians")
 => #<ScriptureBook:0x007fa194831e80 @number=46>
> ScriptureBook.find_by_name("1 Corinthians").number
 => 46
> ScriptureBook.find("1-corinthians")
 => #<ScriptureBook:0x007fa195866378 @number=46>
> ScriptureBook.find("1-corinthians").number
 => 46
> ScriptureBook.find("1-corinthians").number_of_chapters
 => 16

It raises an error when trying to initalize a scripture book that doesn't exist

> ScriptureBook.new(67)
RuntimeError: book number should be within 1-66
.
.

Feel free to browse the code / test to get a sense of the API

About

An intuitive Ruby API for operations on meta data of the Bible

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages