Class: BibleSearch
- Inherits:
-
Object
- Object
- BibleSearch
- Defined in:
- lib/biblesearch-api/client_version.rb,
lib/biblesearch-api/endpoints/books.rb,
lib/biblesearch-api/endpoints/search.rb,
lib/biblesearch-api/endpoints/verses.rb,
lib/biblesearch-api/endpoints/chapters.rb,
lib/biblesearch-api/endpoints/passages.rb,
lib/biblesearch-api/endpoints/versions.rb
Defined Under Namespace
Modules: Books, Chapters, Passages, Search, Verses, Versions
Constant Summary collapse
- VERSION =
"1.2.0"
Instance Method Summary collapse
-
#valid_book(book_sig) ⇒ Object
accept a hash or string book signature, validate it, and return a string.
- #valid_chapter(chapter_sig) ⇒ Object
- #valid_verse(verse_sig) ⇒ Object
Instance Method Details
#valid_book(book_sig) ⇒ Object
accept a hash or string book signature, validate it, and return a string
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/biblesearch-api/endpoints/books.rb', line 4 def valid_book(book_sig) # if it's a hash, convert it to a string if book_sig.is_a?(Hash) begin book_sig = "#{book_sig.fetch(:version_id)}:#{book_sig.fetch(:book_id)}" rescue raise ArgumentError.new('Book signature hash must include :version_id and :book_id') end end # then check unless book_sig.match(@book_re) raise ArgumentError.new('Book signature must be in the form "LANGUAGE_ID-VERSION_ID:BOOK_ID"') end book_sig end |
#valid_chapter(chapter_sig) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/biblesearch-api/endpoints/chapters.rb', line 3 def valid_chapter(chapter_sig) if chapter_sig.is_a?(Hash) begin # chapter_sig = chapter_sig.fetch(:version_id) + ':' + chapter_sig.fetch(:book_id) + ".#{chapter_sig.fetch(:chapter)}" chapter_sig = "#{valid_book(chapter_sig)}.#{chapter_sig.fetch(:chapter)}" rescue raise ArgumentError.new('Chapter signature hash must include :version_id, :book_id, and :chapter') end end unless chapter_sig.match(@chapter_re) raise ArgumentError.new('Chapter signature must be in the form "VERSION_ID:BOOK_ID.CHAPTER_NUMBER"') end chapter_sig end |
#valid_verse(verse_sig) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/biblesearch-api/endpoints/verses.rb', line 3 def valid_verse(verse_sig) if verse_sig.is_a?(Hash) begin verse_sig = "#{valid_chapter(verse_sig)}.#{verse_sig[:verse]}" rescue raise ArgumentError.new('Verse signature hash must include :version_id, :book_id, :chapter, and :verse') end end # Validate a signature string, returning a verse Mash if valid and the # remote request succeeds unless verse_sig.match(@verse_re) raise ArgumentError.new('Verse signature must be in the form "VERSION_ID:BOOK_ID.CHAPTER_NUMBER.VERSE_NUMBER"') end verse_sig end |