Class: Bible::BibleRefParser::Verse
- Inherits:
-
Object
- Object
- Bible::BibleRefParser::Verse
- Includes:
- Comparable, Enumerable
- Defined in:
- lib/bible/parser.rb
Instance Attribute Summary collapse
-
#chapter ⇒ Object
readonly
Returns the value of attribute chapter.
-
#verse ⇒ Object
Returns the value of attribute verse.
-
#verse_number ⇒ Object
readonly
Returns the value of attribute verse_number.
Instance Method Summary collapse
- #<=>(value) ⇒ Object
-
#==(value) ⇒ Object
Assumes value is a Fixnum and determines if it is equal to this verse.
-
#initialize(chapter, verse) ⇒ Verse
constructor
A new instance of Verse.
- #inspect ⇒ Object
- #succ ⇒ Object
- #to_i ⇒ Object
- #to_s ⇒ Object
- #upto(i) {|_self| ... } ⇒ Object
Constructor Details
#initialize(chapter, verse) ⇒ Verse
Returns a new instance of Verse.
487 488 489 490 491 492 |
# File 'lib/bible/parser.rb', line 487 def initialize(chapter, verse) raise "Verse must be an integer" unless verse.is_a?(Fixnum) @chapter = chapter @verse_number = verse end |
Instance Attribute Details
#chapter ⇒ Object (readonly)
Returns the value of attribute chapter.
484 485 486 |
# File 'lib/bible/parser.rb', line 484 def chapter @chapter end |
#verse ⇒ Object
Returns the value of attribute verse.
485 486 487 |
# File 'lib/bible/parser.rb', line 485 def verse @verse end |
#verse_number ⇒ Object (readonly)
Returns the value of attribute verse_number.
484 485 486 |
# File 'lib/bible/parser.rb', line 484 def verse_number @verse_number end |
Instance Method Details
#<=>(value) ⇒ Object
510 511 512 513 514 |
# File 'lib/bible/parser.rb', line 510 def <=>(value) return -1 if value.nil? raise "Don't know how to compare Verse and #{value.inspect} becuase it does not implement to_i." unless value.respond_to?(:to_i) return @verse_number.to_i <=> value.to_i end |
#==(value) ⇒ Object
Assumes value is a Fixnum and determines if it is equal to this verse.
496 497 498 499 500 |
# File 'lib/bible/parser.rb', line 496 def ==(value) return false if value.nil? || @verse_number.nil? raise "Don't know how to compare verse to #{value.inspect}" unless value.is_a?(Fixnum) return value == @verse_number end |
#inspect ⇒ Object
526 527 528 |
# File 'lib/bible/parser.rb', line 526 def inspect self.to_s end |
#succ ⇒ Object
516 517 518 |
# File 'lib/bible/parser.rb', line 516 def succ return Verse.new(@chapter, @verse_number + 1) end |
#to_i ⇒ Object
502 503 504 |
# File 'lib/bible/parser.rb', line 502 def to_i return @verse_number.to_i end |
#to_s ⇒ Object
506 507 508 |
# File 'lib/bible/parser.rb', line 506 def to_s return @verse_number.to_s end |
#upto(i) {|_self| ... } ⇒ Object
520 521 522 523 524 |
# File 'lib/bible/parser.rb', line 520 def upto(i) raise "Cannot enumerate to value #{i.inspect} because it does not respond to to_i." unless i.respond_to?(:to_i) yield(self) (@verse_number + 1).upto(i.to_i) { |x| yield(Verse.new(@chapter, x)) } end |