Class: CiteSight::PaperCitations
- Inherits:
-
Object
- Object
- CiteSight::PaperCitations
- Defined in:
- lib/citesight/paper_citations.rb
Instance Method Summary collapse
-
#index_of_cite(cite) ⇒ Object
Returns array of citation locations (index) in manuscript.
-
#initialize(contents) ⇒ PaperCitations
constructor
A new instance of PaperCitations.
- #unique_cites ⇒ Object
Constructor Details
#initialize(contents) ⇒ PaperCitations
Returns a new instance of PaperCitations.
6 7 8 |
# File 'lib/citesight/paper_citations.rb', line 6 def initialize(contents) @contents = contents end |
Instance Method Details
#index_of_cite(cite) ⇒ Object
Returns array of citation locations (index) in manuscript
contents = File.read('./spec/testfiles/test.txt')
PaperCitations.index_cite(contents, 'Peters et al. 2007')
# => [219, 500]
24 25 26 27 28 29 30 |
# File 'lib/citesight/paper_citations.rb', line 24 def index_of_cite(cite) cite_parts = cite.split = cite_parts.take(cite_parts.size-1).join(' ') year_s = cite_parts.last @contents.enum_for(:scan, /(#{author_s}#{possessive}?#{year(year_s)})/ ).map { Regexp.last_match.begin(0) } end |
#unique_cites ⇒ Object
10 11 12 13 14 15 16 |
# File 'lib/citesight/paper_citations.rb', line 10 def unique_cites clean_cites = @contents.scan(cite_match).map do |c| remove_punctuation(c[0]) end Hash[clean_cites.group_by { |c| c }.map { |cit, num| [cit, num.count] }] end |