pericope 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/console +14 -0
- data/bin/pericope +1 -1
- data/lib/pericope.rb +33 -19
- data/lib/pericope/cli.rb +2 -2
- data/lib/pericope/version.rb +1 -1
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e9520cfcbbe46071bc2f891a3eb1cd2c4790b88b
         | 
| 4 | 
            +
              data.tar.gz: 06d8cc8008621dd923b08054a63cfb627f532f57
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1b8e7a0866232493e1bd8b36d80ff5baefa278df4f76129e6f130e56cc2a73b4190aa9ef26a2555399733c583f76315608d140ff6787fb91473a0b56af4757c2
         | 
| 7 | 
            +
              data.tar.gz: 643ca5b7bdcd8fcaef115c2afd7c13a91c835c0d6b520422c90cdf63211570a124039bd223a832b5f8c0c972caef7ed70d10cc4211df37df817357488c7d0012
         | 
    
        data/bin/console
    ADDED
    
    | @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            #!/usr/bin/env ruby
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require "bundler/setup"
         | 
| 4 | 
            +
            require "pericope"
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            # You can add fixtures and/or initialization code here to make experimenting
         | 
| 7 | 
            +
            # with your gem easier. You can also use a different console, if you like.
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            # (If you use this, don't forget to add pry to your Gemfile!)
         | 
| 10 | 
            +
            # require "pry"
         | 
| 11 | 
            +
            # Pry.start
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            require "irb"
         | 
| 14 | 
            +
            IRB.start
         | 
    
        data/bin/pericope
    CHANGED
    
    
    
        data/lib/pericope.rb
    CHANGED
    
    | @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            # encoding: UTF-8
         | 
| 2 2 |  | 
| 3 | 
            -
            require  | 
| 3 | 
            +
            require "pericope/version"
         | 
| 4 4 |  | 
| 5 5 | 
             
            class Pericope
         | 
| 6 6 | 
             
              attr_reader :book,
         | 
| @@ -54,7 +54,7 @@ class Pericope | |
| 54 54 |  | 
| 55 55 |  | 
| 56 56 | 
             
              def self.book_has_chapters?(book)
         | 
| 57 | 
            -
                book_chapter_counts[book | 
| 57 | 
            +
                book_chapter_counts[book] > 1
         | 
| 58 58 | 
             
              end
         | 
| 59 59 |  | 
| 60 60 | 
             
              def book_has_chapters?
         | 
| @@ -172,8 +172,8 @@ class Pericope | |
| 172 172 |  | 
| 173 173 |  | 
| 174 174 |  | 
| 175 | 
            -
              def to_s
         | 
| 176 | 
            -
                "#{book_name} #{ | 
| 175 | 
            +
              def to_s(options={})
         | 
| 176 | 
            +
                "#{book_name} #{well_formatted_reference(options)}"
         | 
| 177 177 | 
             
              end
         | 
| 178 178 |  | 
| 179 179 |  | 
| @@ -209,19 +209,34 @@ class Pericope | |
| 209 209 |  | 
| 210 210 |  | 
| 211 211 |  | 
| 212 | 
            -
              def well_formatted_reference
         | 
| 212 | 
            +
              def well_formatted_reference(options={})
         | 
| 213 213 | 
             
                recent_chapter = nil # e.g. in 12:1-8, remember that 12 is the chapter when we parse the 8
         | 
| 214 214 | 
             
                recent_chapter = 1 unless book_has_chapters?
         | 
| 215 | 
            -
             | 
| 215 | 
            +
             | 
| 216 | 
            +
                verse_range_separator = options.fetch(:verse_range_separator, "–") # en-dash
         | 
| 217 | 
            +
                chapter_range_separator = options.fetch(:chapter_range_separator, "—") # em-dash
         | 
| 218 | 
            +
                verse_list_separator = options.fetch(:verse_list_separator, ", ")
         | 
| 219 | 
            +
                chapter_list_separator = options.fetch(:chapter_list_separator, "; ")
         | 
| 220 | 
            +
                always_print_verse_range = options.fetch(:always_print_verse_range, false)
         | 
| 221 | 
            +
             | 
| 222 | 
            +
                s = ""
         | 
| 223 | 
            +
                ranges.each_with_index do |range, i|
         | 
| 216 224 | 
             
                  min_chapter = Pericope.get_chapter(range.begin)
         | 
| 217 225 | 
             
                  min_verse = Pericope.get_verse(range.begin)
         | 
| 218 226 | 
             
                  max_chapter = Pericope.get_chapter(range.end)
         | 
| 219 227 | 
             
                  max_verse = Pericope.get_verse(range.end)
         | 
| 220 | 
            -
                  s = ""
         | 
| 221 228 |  | 
| 222 | 
            -
                  if  | 
| 229 | 
            +
                  if i > 0
         | 
| 230 | 
            +
                    if recent_chapter == min_chapter
         | 
| 231 | 
            +
                      s << verse_list_separator
         | 
| 232 | 
            +
                    else
         | 
| 233 | 
            +
                      s << chapter_list_separator
         | 
| 234 | 
            +
                    end
         | 
| 235 | 
            +
                  end
         | 
| 236 | 
            +
             | 
| 237 | 
            +
                  if min_verse == 1 && max_verse >= Pericope.get_max_verse(book, max_chapter) && !always_print_verse_range
         | 
| 223 238 | 
             
                    s << min_chapter.to_s
         | 
| 224 | 
            -
                    s << " | 
| 239 | 
            +
                    s << "#{chapter_range_separator}#{max_chapter}" if max_chapter > min_chapter
         | 
| 225 240 | 
             
                  else
         | 
| 226 241 | 
             
                    if recent_chapter == min_chapter
         | 
| 227 242 | 
             
                      s << min_verse.to_s
         | 
| @@ -232,18 +247,17 @@ class Pericope | |
| 232 247 |  | 
| 233 248 | 
             
                    if range.count > 1
         | 
| 234 249 |  | 
| 235 | 
            -
                      s << "-"
         | 
| 236 250 | 
             
                      if min_chapter == max_chapter
         | 
| 237 | 
            -
                        s << max_verse | 
| 251 | 
            +
                        s << "#{verse_range_separator}#{max_verse}"
         | 
| 238 252 | 
             
                      else
         | 
| 239 253 | 
             
                        recent_chapter = max_chapter
         | 
| 240 | 
            -
                        s << "#{max_chapter}:#{max_verse}"
         | 
| 254 | 
            +
                        s << "#{chapter_range_separator}#{max_chapter}:#{max_verse}"
         | 
| 241 255 | 
             
                      end
         | 
| 242 256 | 
             
                    end
         | 
| 243 257 | 
             
                  end
         | 
| 258 | 
            +
                end
         | 
| 244 259 |  | 
| 245 | 
            -
             | 
| 246 | 
            -
                end.join(", ")
         | 
| 260 | 
            +
                s
         | 
| 247 261 | 
             
              end
         | 
| 248 262 |  | 
| 249 263 |  | 
| @@ -269,7 +283,7 @@ class Pericope | |
| 269 283 | 
             
              end
         | 
| 270 284 |  | 
| 271 285 | 
             
              def self.get_max_chapter(book)
         | 
| 272 | 
            -
                book_chapter_counts[book | 
| 286 | 
            +
                book_chapter_counts[book]
         | 
| 273 287 | 
             
              end
         | 
| 274 288 |  | 
| 275 289 |  | 
| @@ -280,8 +294,8 @@ private | |
| 280 294 |  | 
| 281 295 | 
             
              def set_book(value)
         | 
| 282 296 | 
             
                @book = value || raise(ArgumentError, "must specify book")
         | 
| 283 | 
            -
                @book_name = Pericope.book_names[@book | 
| 284 | 
            -
                @book_chapter_count = Pericope.book_chapter_counts[@book | 
| 297 | 
            +
                @book_name = Pericope.book_names[@book]
         | 
| 298 | 
            +
                @book_chapter_count = Pericope.book_chapter_counts[@book]
         | 
| 285 299 | 
             
              end
         | 
| 286 300 |  | 
| 287 301 |  | 
| @@ -482,7 +496,7 @@ private | |
| 482 496 | 
             
                current_book_id = nil
         | 
| 483 497 | 
             
                chapters = 0
         | 
| 484 498 | 
             
                @chapter_verse_counts = {}
         | 
| 485 | 
            -
                @book_chapter_counts = []
         | 
| 499 | 
            +
                @book_chapter_counts = [{}]
         | 
| 486 500 |  | 
| 487 501 | 
             
                path = File.expand_path(File.dirname(__FILE__) + "/../data/chapter_verse_count.txt")
         | 
| 488 502 | 
             
                File.open(path) do |file|
         | 
| @@ -522,7 +536,7 @@ private | |
| 522 536 | 
             
                    # as the aforementioned book.
         | 
| 523 537 | 
             
                    segments = text.chomp.split("\t")
         | 
| 524 538 | 
             
                    book_id = segments.shift.to_i
         | 
| 525 | 
            -
                    @book_names[book_id | 
| 539 | 
            +
                    @book_names[book_id] = segments.shift
         | 
| 526 540 | 
             
                    @book_name_regexes[book_id] = /\b(?:#{segments.join("|")})\b/
         | 
| 527 541 | 
             
                  end
         | 
| 528 542 | 
             
                end
         | 
    
        data/lib/pericope/cli.rb
    CHANGED
    
    
    
        data/lib/pericope/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pericope
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.6. | 
| 4 | 
            +
              version: 0.6.6
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Bob Lail
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-11-22 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -106,6 +106,7 @@ extensions: [] | |
| 106 106 | 
             
            extra_rdoc_files: []
         | 
| 107 107 | 
             
            files:
         | 
| 108 108 | 
             
            - README.mdown
         | 
| 109 | 
            +
            - bin/console
         | 
| 109 110 | 
             
            - bin/pericope
         | 
| 110 111 | 
             
            - data/book_abbreviations.txt
         | 
| 111 112 | 
             
            - data/chapter_verse_count.txt
         |