jekyll-rp_logs 0.1.6 → 0.2.0
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/.codeclimate.yml +46 -0
 - data/.gitignore +6 -0
 - data/.rspec +2 -0
 - data/.rubocop.yml +2 -0
 - data/.themes/default/source/_config.yml.default +13 -3
 - data/.travis.yml +9 -0
 - data/CHANGELOG.md +55 -0
 - data/README.md +85 -32
 - data/Rakefile +42 -5
 - data/jekyll-rp_logs.gemspec +6 -1
 - data/lib/jekyll/rp_logs/parse_irssi_xchat.rb +35 -37
 - data/lib/jekyll/rp_logs/parse_mirc.rb +40 -42
 - data/lib/jekyll/rp_logs/parse_skype_12hour.rb +33 -45
 - data/lib/jekyll/rp_logs/parse_skype_24hour.rb +33 -41
 - data/lib/jekyll/rp_logs/parse_weechat.rb +36 -36
 - data/lib/jekyll/rp_logs/rp_arcs.rb +13 -16
 - data/lib/jekyll/rp_logs/rp_log_converter.rb +140 -117
 - data/lib/jekyll/rp_logs/rp_logline.rb +225 -0
 - data/lib/jekyll/rp_logs/rp_page.rb +63 -0
 - data/lib/jekyll/rp_logs/rp_parser.rb +9 -103
 - data/lib/jekyll/rp_logs/rp_tag_index.rb +18 -20
 - data/lib/jekyll/rp_logs/rp_tasks.rb +5 -6
 - data/lib/jekyll/rp_logs/version.rb +1 -1
 - data/lib/jekyll/rp_logs.rb +4 -5
 - metadata +53 -4
 
| 
         @@ -1,56 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Jekyll
         
     | 
| 
       2 
2 
     | 
    
         
             
              module RpLogs
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
                class Skype12Parser < RpLogs::Parser 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
                # This is for the date format [6/12/2015 7:01:45 PM]
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Skype12Parser < RpLogs::Parser
         
     | 
| 
       6 
5 
     | 
    
         
             
                  # Add this class to the parsing dictionary
         
     | 
| 
       7 
     | 
    
         
            -
                  FORMAT_STR =  
     | 
| 
      
 6 
     | 
    
         
            +
                  FORMAT_STR = "Skype12"
         
     | 
| 
       8 
7 
     | 
    
         
             
                  RpLogGenerator.add self
         
     | 
| 
       9 
8 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              	  BAD_STUFF = /[^a-zA-Z\-\_]/
         
     | 
| 
       16 
     | 
    
         
            -
              	  
         
     | 
| 
       17 
     | 
    
         
            -
              	 # Crappy but works
         
     | 
| 
       18 
     | 
    
         
            -
              	  USER_AT_HOST = /\(\w+@[^)]+\)/
         
     | 
| 
       19 
     | 
    
         
            -
              #Not needed?	  JUNK = /#{DATE_REGEXP} \* #{MODE}#{NICK} (sets mode:|is now known as|(#{USER_AT_HOST} (has joined|Quit|has left))).*$/
         
     | 
| 
       20 
     | 
    
         
            -
                    EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s(\4)([^\n]*)$/
         
     | 
| 
       21 
     | 
    
         
            -
                    TEXT  = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s([^\n]*)$/
         
     | 
| 
      
 9 
     | 
    
         
            +
                  NICK = /(?<nick>[\w\-\\\[\]{}\^`|\s')(]+)/
         
     | 
| 
      
 10 
     | 
    
         
            +
                  DATE_REGEXP = /(?<timestamp>\[\d?\d\/\d?\d\/\d\d\d\d\s\d?\d\:\d\d\:\d\d\s(AM|PM)\])/
         
     | 
| 
      
 11 
     | 
    
         
            +
                  TIMESTAMP_FORMAT = "[%m/%d/%Y %I:%M:%S %p]"
         
     | 
| 
      
 12 
     | 
    
         
            +
                  MSG = /(?<msg>[^\n]*)/
         
     | 
| 
      
 13 
     | 
    
         
            +
                  BAD_STUFF = /[^a-zA-Z\-\_]/
         
     | 
| 
       22 
14 
     | 
    
         | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                  EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s\k<nick>#{MSG}$/
         
     | 
| 
      
 16 
     | 
    
         
            +
                  TEXT  = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s#{MSG}$/
         
     | 
| 
       24 
17 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
              		  sendername = $4.tr(' ', '-').gsub(BAD_STUFF, "")
         
     | 
| 
       35 
     | 
    
         
            -
                        Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
         
     | 
| 
       36 
     | 
    
         
            -
                        flags: flags, type: :rp)
         
     | 
| 
       37 
     | 
    
         
            -
                      when TEXT
         
     | 
| 
       38 
     | 
    
         
            -
              		print "2"
         
     | 
| 
       39 
     | 
    
         
            -
                        date = DateTime.strptime($2, TIMESTAMP_FORMAT)
         
     | 
| 
       40 
     | 
    
         
            -
              		  contents = $5
         
     | 
| 
       41 
     | 
    
         
            -
              		  flags = $1
         
     | 
| 
       42 
     | 
    
         
            -
              		  sendername = $4.tr(' ', '-').gsub(BAD_STUFF, "")
         
     | 
| 
       43 
     | 
    
         
            -
                        Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
         
     | 
| 
       44 
     | 
    
         
            -
                          flags: flags, type: :ooc)
         
     | 
| 
       45 
     | 
    
         
            -
                      else
         
     | 
| 
       46 
     | 
    
         
            -
                        print "3"
         
     | 
| 
       47 
     | 
    
         
            -
              		  # Only put text and emotes in the log
         
     | 
| 
       48 
     | 
    
         
            -
                        nil
         
     | 
| 
       49 
     | 
    
         
            -
                      end
         
     | 
| 
      
 18 
     | 
    
         
            +
                  def self.parse_line(line, options = {})
         
     | 
| 
      
 19 
     | 
    
         
            +
                    case line
         
     | 
| 
      
 20 
     | 
    
         
            +
                    when EMOTE
         
     | 
| 
      
 21 
     | 
    
         
            +
                      type = :rp
         
     | 
| 
      
 22 
     | 
    
         
            +
                    when TEXT
         
     | 
| 
      
 23 
     | 
    
         
            +
                      type = :ooc
         
     | 
| 
      
 24 
     | 
    
         
            +
                    else
         
     | 
| 
      
 25 
     | 
    
         
            +
                      # Only put text and emotes in the log
         
     | 
| 
      
 26 
     | 
    
         
            +
                      return nil
         
     | 
| 
       50 
27 
     | 
    
         
             
                    end
         
     | 
| 
      
 28 
     | 
    
         
            +
                    # Preserve all the matches before the gsub
         
     | 
| 
      
 29 
     | 
    
         
            +
                    date = DateTime.strptime($LAST_MATCH_INFO[:timestamp], TIMESTAMP_FORMAT)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    contents = $LAST_MATCH_INFO[:msg]
         
     | 
| 
      
 31 
     | 
    
         
            +
                    flags = $LAST_MATCH_INFO[:flags]
         
     | 
| 
      
 32 
     | 
    
         
            +
                    sendername = $LAST_MATCH_INFO[:nick].tr(" ", "-").gsub(BAD_STUFF, "")
         
     | 
| 
      
 33 
     | 
    
         
            +
                    LogLine.new(
         
     | 
| 
      
 34 
     | 
    
         
            +
                      date,
         
     | 
| 
      
 35 
     | 
    
         
            +
                      options,
         
     | 
| 
      
 36 
     | 
    
         
            +
                      sender: sendername,
         
     | 
| 
      
 37 
     | 
    
         
            +
                      contents: contents,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      flags: flags,
         
     | 
| 
      
 39 
     | 
    
         
            +
                      type: type
         
     | 
| 
      
 40 
     | 
    
         
            +
                    )
         
     | 
| 
       51 
41 
     | 
    
         
             
                  end
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
                end  
         
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
      
 42 
     | 
    
         
            +
                end
         
     | 
| 
       55 
43 
     | 
    
         
             
              end
         
     | 
| 
       56 
44 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,52 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Jekyll
         
     | 
| 
       2 
2 
     | 
    
         
             
              module RpLogs
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
                class Skype24Parser < RpLogs::Parser 
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
                # This is for the date format [05.06.15 10:58:47]
         
     | 
| 
      
 4 
     | 
    
         
            +
                class Skype24Parser < RpLogs::Parser
         
     | 
| 
       6 
5 
     | 
    
         
             
                  # Add this class to the parsing dictionary
         
     | 
| 
       7 
     | 
    
         
            -
                  FORMAT_STR =  
     | 
| 
      
 6 
     | 
    
         
            +
                  FORMAT_STR = "Skype24"
         
     | 
| 
       8 
7 
     | 
    
         
             
                  RpLogGenerator.add self
         
     | 
| 
       9 
8 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                   
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              	  BAD_STUFF = /[^a-zA-Z\-\_]/
         
     | 
| 
       16 
     | 
    
         
            -
              	 # Crappy but works
         
     | 
| 
       17 
     | 
    
         
            -
              	  USER_AT_HOST = /\(\w+@[^)]+\)/
         
     | 
| 
       18 
     | 
    
         
            -
              #Not needed?	  JUNK = /#{DATE_REGEXP} \* #{MODE}#{NICK} (sets mode:|is now known as|(#{USER_AT_HOST} (has joined|Quit|has left))).*$/
         
     | 
| 
       19 
     | 
    
         
            -
                    EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s(\3)([^\n]*)$/
         
     | 
| 
       20 
     | 
    
         
            -
                    TEXT  = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s([^\n]*)$/
         
     | 
| 
      
 9 
     | 
    
         
            +
                  NICK = /(?<nick>[\w\-\\\[\]\{\}\^\`\|\s\']+)/
         
     | 
| 
      
 10 
     | 
    
         
            +
                  DATE_REGEXP = /(?<timestamp>\[\d\d.\d\d.\d\d\s\d\d\:\d\d\:\d\d\])/
         
     | 
| 
      
 11 
     | 
    
         
            +
                  TIMESTAMP_FORMAT = "[%d.%m.%y %H:%M:%S]"
         
     | 
| 
      
 12 
     | 
    
         
            +
                  MSG = /(?<msg>[^\n]*)/
         
     | 
| 
      
 13 
     | 
    
         
            +
                  BAD_STUFF = /[^a-zA-Z\-\_]/
         
     | 
| 
       21 
14 
     | 
    
         | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
                  EMOTE = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s\k<nick>#{MSG}$/
         
     | 
| 
      
 16 
     | 
    
         
            +
                  TEXT  = /^#{FLAGS}#{DATE_REGEXP}\s#{NICK}:\s#{MSG}$/
         
     | 
| 
       23 
17 
     | 
    
         | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                        Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
         
     | 
| 
       34 
     | 
    
         
            -
                        flags: flags, type: :rp)
         
     | 
| 
       35 
     | 
    
         
            -
                      when TEXT
         
     | 
| 
       36 
     | 
    
         
            -
                        date = DateTime.strptime($2, TIMESTAMP_FORMAT)
         
     | 
| 
       37 
     | 
    
         
            -
              		  contents = $4
         
     | 
| 
       38 
     | 
    
         
            -
              		  flags = $1
         
     | 
| 
       39 
     | 
    
         
            -
              		  sendername = $3.tr(' ', '-').gsub(BAD_STUFF, "")
         
     | 
| 
       40 
     | 
    
         
            -
                        Parser::LogLine.new(date, options, sender: sendername, contents: contents, \
         
     | 
| 
       41 
     | 
    
         
            -
                          flags: flags, type: :ooc)
         
     | 
| 
       42 
     | 
    
         
            -
                      else
         
     | 
| 
       43 
     | 
    
         
            -
                        # Only put text and emotes in the log
         
     | 
| 
       44 
     | 
    
         
            -
                        nil
         
     | 
| 
       45 
     | 
    
         
            -
                      end
         
     | 
| 
      
 18 
     | 
    
         
            +
                  def self.parse_line(line, options = {})
         
     | 
| 
      
 19 
     | 
    
         
            +
                    case line
         
     | 
| 
      
 20 
     | 
    
         
            +
                    when EMOTE
         
     | 
| 
      
 21 
     | 
    
         
            +
                      type = :rp
         
     | 
| 
      
 22 
     | 
    
         
            +
                    when TEXT
         
     | 
| 
      
 23 
     | 
    
         
            +
                      type = :ooc
         
     | 
| 
      
 24 
     | 
    
         
            +
                    else
         
     | 
| 
      
 25 
     | 
    
         
            +
                      # Only put text and emotes in the log
         
     | 
| 
      
 26 
     | 
    
         
            +
                      return nil
         
     | 
| 
       46 
27 
     | 
    
         
             
                    end
         
     | 
| 
      
 28 
     | 
    
         
            +
                    # Preserve all the matches before the gsub
         
     | 
| 
      
 29 
     | 
    
         
            +
                    date = DateTime.strptime($LAST_MATCH_INFO[:timestamp], TIMESTAMP_FORMAT)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    contents = $LAST_MATCH_INFO[:msg]
         
     | 
| 
      
 31 
     | 
    
         
            +
                    flags = $LAST_MATCH_INFO[:flags]
         
     | 
| 
      
 32 
     | 
    
         
            +
                    sendername = $LAST_MATCH_INFO[:nick].tr(" ", "-").gsub(BAD_STUFF, "")
         
     | 
| 
      
 33 
     | 
    
         
            +
                    LogLine.new(
         
     | 
| 
      
 34 
     | 
    
         
            +
                      date,
         
     | 
| 
      
 35 
     | 
    
         
            +
                      options,
         
     | 
| 
      
 36 
     | 
    
         
            +
                      sender: sendername,
         
     | 
| 
      
 37 
     | 
    
         
            +
                      contents: contents,
         
     | 
| 
      
 38 
     | 
    
         
            +
                      flags: flags,
         
     | 
| 
      
 39 
     | 
    
         
            +
                      type: type
         
     | 
| 
      
 40 
     | 
    
         
            +
                    )
         
     | 
| 
       47 
41 
     | 
    
         
             
                  end
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                end  
         
     | 
| 
       50 
     | 
    
         
            -
             
     | 
| 
      
 42 
     | 
    
         
            +
                end
         
     | 
| 
       51 
43 
     | 
    
         
             
              end
         
     | 
| 
       52 
44 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,46 +1,46 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Jekyll
         
     | 
| 
       2 
2 
     | 
    
         
             
              module RpLogs
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
                ##
         
     | 
| 
      
 4 
     | 
    
         
            +
                # Parses logs in the default format of [Weechat](https://weechat.org/)
         
     | 
| 
       4 
5 
     | 
    
         
             
                class WeechatParser < RpLogs::Parser
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
6 
     | 
    
         
             
                  # Add this class to the parsing dictionary
         
     | 
| 
       7 
     | 
    
         
            -
                  FORMAT_STR =  
     | 
| 
      
 7 
     | 
    
         
            +
                  FORMAT_STR = "weechat"
         
     | 
| 
       8 
8 
     | 
    
         
             
                  RpLogGenerator.add self
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
                  #  
     | 
| 
       11 
     | 
    
         
            -
                   
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                     
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
                     
     | 
| 
       24 
     | 
    
         
            -
                       
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                       
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                       
     | 
| 
       32 
     | 
    
         
            -
                        date = DateTime.strptime($2, TIMESTAMP_FORMAT)
         
     | 
| 
       33 
     | 
    
         
            -
                        mode = if $3 != '' then $3 else ' ' end
         
     | 
| 
       34 
     | 
    
         
            -
                        return Parser::LogLine.new(date, options, sender: $4, contents: $5, \
         
     | 
| 
       35 
     | 
    
         
            -
                          flags: $1, type: :ooc, mode: mode)
         
     | 
| 
       36 
     | 
    
         
            -
                      else
         
     | 
| 
       37 
     | 
    
         
            -
                        # Only put text and emotes in the log
         
     | 
| 
       38 
     | 
    
         
            -
                        return nil
         
     | 
| 
       39 
     | 
    
         
            -
                      end
         
     | 
| 
      
 10 
     | 
    
         
            +
                  # Date is repeated in each type of message
         
     | 
| 
      
 11 
     | 
    
         
            +
                  DATE_REGEXP = /(?<timestamp>\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d)/
         
     | 
| 
      
 12 
     | 
    
         
            +
                  TIMESTAMP_FORMAT = "%Y-%m-%d %H:%M:%S"
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                  # Regular expressions for matching each type of line
         
     | 
| 
      
 15 
     | 
    
         
            +
                  JUNK =  /#{DATE_REGEXP}\t<?-->?\t.*$/
         
     | 
| 
      
 16 
     | 
    
         
            +
                  EMOTE = /^#{FLAGS}#{DATE_REGEXP}\t \*\t#{NICK}\s+(?<msg>[^\n]*)$/
         
     | 
| 
      
 17 
     | 
    
         
            +
                  TEXT  = /^#{FLAGS}#{DATE_REGEXP}\t#{MODE}#{NICK}\t(?<msg>[^\n]*)$/
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                  def self.parse_line(line, options = {})
         
     | 
| 
      
 20 
     | 
    
         
            +
                    case line
         
     | 
| 
      
 21 
     | 
    
         
            +
                    when JUNK
         
     | 
| 
      
 22 
     | 
    
         
            +
                      return nil
         
     | 
| 
      
 23 
     | 
    
         
            +
                    when EMOTE
         
     | 
| 
      
 24 
     | 
    
         
            +
                      type = :rp
         
     | 
| 
      
 25 
     | 
    
         
            +
                    when TEXT
         
     | 
| 
      
 26 
     | 
    
         
            +
                      type = :ooc
         
     | 
| 
      
 27 
     | 
    
         
            +
                      mode = $LAST_MATCH_INFO[:mode]
         
     | 
| 
      
 28 
     | 
    
         
            +
                      mode = " " if mode == ""
         
     | 
| 
      
 29 
     | 
    
         
            +
                    else
         
     | 
| 
      
 30 
     | 
    
         
            +
                      # Only put text and emotes in the log
         
     | 
| 
      
 31 
     | 
    
         
            +
                      return nil
         
     | 
| 
       40 
32 
     | 
    
         
             
                    end
         
     | 
| 
      
 33 
     | 
    
         
            +
                    date = DateTime.strptime($LAST_MATCH_INFO[:timestamp], TIMESTAMP_FORMAT)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    LogLine.new(
         
     | 
| 
      
 35 
     | 
    
         
            +
                      date,
         
     | 
| 
      
 36 
     | 
    
         
            +
                      options,
         
     | 
| 
      
 37 
     | 
    
         
            +
                      sender: $LAST_MATCH_INFO[:nick],
         
     | 
| 
      
 38 
     | 
    
         
            +
                      contents: $LAST_MATCH_INFO[:msg],
         
     | 
| 
      
 39 
     | 
    
         
            +
                      flags: $LAST_MATCH_INFO[:flags],
         
     | 
| 
      
 40 
     | 
    
         
            +
                      type: type,
         
     | 
| 
      
 41 
     | 
    
         
            +
                      mode: mode
         
     | 
| 
      
 42 
     | 
    
         
            +
                    )
         
     | 
| 
       41 
43 
     | 
    
         
             
                  end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
                end  
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
      
 44 
     | 
    
         
            +
                end
         
     | 
| 
       45 
45 
     | 
    
         
             
              end
         
     | 
| 
       46 
46 
     | 
    
         
             
            end
         
     | 
| 
         @@ -2,9 +2,9 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            module Jekyll
         
     | 
| 
       4 
4 
     | 
    
         
             
              module RpLogs
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
5 
     | 
    
         
             
                # Holds arc information
         
     | 
| 
       7 
6 
     | 
    
         
             
                class Arc
         
     | 
| 
      
 7 
     | 
    
         
            +
                  include Comparable
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
                  attr_accessor :name, :rps
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
         @@ -17,41 +17,39 @@ module Jekyll 
     | 
|
| 
       17 
17 
     | 
    
         
             
                    # potential future idea: directories for each arc
         
     | 
| 
       18 
18 
     | 
    
         
             
                  end
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                  def <<(rp_page) 
     | 
| 
      
 20 
     | 
    
         
            +
                  def <<(rp_page)
         
     | 
| 
       21 
21 
     | 
    
         
             
                    @rps << rp_page
         
     | 
| 
       22 
22 
     | 
    
         
             
                  end
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                  def start_date
         
     | 
| 
       25 
     | 
    
         
            -
                    @rps.map { |rp_page| rp_page 
     | 
| 
      
 25 
     | 
    
         
            +
                    @rps.map { |rp_page| rp_page[:time_line] || rp_page[:start_date] }.min
         
     | 
| 
       26 
26 
     | 
    
         
             
                  end
         
     | 
| 
       27 
27 
     | 
    
         | 
| 
       28 
28 
     | 
    
         
             
                  def end_date
         
     | 
| 
       29 
     | 
    
         
            -
                    @rps.map { |rp_page| rp_page 
     | 
| 
      
 29 
     | 
    
         
            +
                    @rps.map { |rp_page| rp_page[:last_post_time] }.max
         
     | 
| 
       30 
30 
     | 
    
         
             
                  end
         
     | 
| 
       31 
31 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
                  def  
     | 
| 
      
 32 
     | 
    
         
            +
                  def arc?
         
     | 
| 
       33 
33 
     | 
    
         
             
                    true
         
     | 
| 
       34 
34 
     | 
    
         
             
                  end
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
36 
     | 
    
         
             
                  def to_s
         
     | 
| 
       37 
     | 
    
         
            -
                     
     | 
| 
      
 37 
     | 
    
         
            +
                    name
         
     | 
| 
       38 
38 
     | 
    
         
             
                  end
         
     | 
| 
       39 
39 
     | 
    
         | 
| 
       40 
     | 
    
         
            -
                  def eql?( 
     | 
| 
       41 
     | 
    
         
            -
                    self.class 
     | 
| 
      
 40 
     | 
    
         
            +
                  def eql?(other)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    self.class == other.class &&
         
     | 
| 
      
 42 
     | 
    
         
            +
                      name == other.name &&
         
     | 
| 
      
 43 
     | 
    
         
            +
                      rps == other.rps
         
     | 
| 
       42 
44 
     | 
    
         
             
                  end
         
     | 
| 
       43 
45 
     | 
    
         | 
| 
       44 
46 
     | 
    
         
             
                  def hash
         
     | 
| 
       45 
     | 
    
         
            -
                     
     | 
| 
      
 47 
     | 
    
         
            +
                    name.hash
         
     | 
| 
       46 
48 
     | 
    
         
             
                  end
         
     | 
| 
       47 
49 
     | 
    
         | 
| 
       48 
50 
     | 
    
         
             
                  # actually by... start.. date?
         
     | 
| 
       49 
     | 
    
         
            -
                  def <=>( 
     | 
| 
       50 
     | 
    
         
            -
                    if self.class ==  
     | 
| 
       51 
     | 
    
         
            -
                      self.name <=> o.name 
         
     | 
| 
       52 
     | 
    
         
            -
                    else
         
     | 
| 
       53 
     | 
    
         
            -
                      nil
         
     | 
| 
       54 
     | 
    
         
            -
                    end
         
     | 
| 
      
 51 
     | 
    
         
            +
                  def <=>(other)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    name <=> other.name if self.class == other.class
         
     | 
| 
       55 
53 
     | 
    
         
             
                  end
         
     | 
| 
       56 
54 
     | 
    
         | 
| 
       57 
55 
     | 
    
         
             
                  def inspect
         
     | 
| 
         @@ -63,7 +61,6 @@ module Jekyll 
     | 
|
| 
       63 
61 
     | 
    
         | 
| 
       64 
62 
     | 
    
         
             
                    { "name" => @name, "rps" => @rps }
         
     | 
| 
       65 
63 
     | 
    
         
             
                  end
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
64 
     | 
    
         
             
                end
         
     | 
| 
       68 
65 
     | 
    
         
             
              end
         
     | 
| 
       69 
66 
     | 
    
         
             
            end
         
     |