coderay 0.9.4 → 0.9.5
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.
- data/lib/README +1 -1
- data/lib/coderay.rb +1 -1
- data/lib/coderay/encoders/html.rb +7 -3
- data/lib/coderay/encoders/html/numerization.rb +2 -2
- data/lib/coderay/scanner.rb +15 -10
- data/lib/coderay/scanners/css.rb +2 -3
- data/lib/coderay/scanners/diff.rb +1 -1
- data/lib/coderay/scanners/php.rb +6 -0
- data/lib/coderay/scanners/ruby.rb +42 -16
- data/lib/coderay/scanners/ruby/patterns.rb +15 -2
- data/lib/coderay/scanners/sql.rb +1 -1
- data/lib/coderay/styles/cycnus.rb +1 -0
- data/lib/coderay/styles/murphy.rb +2 -0
- metadata +4 -4
    
        data/lib/README
    CHANGED
    
    | @@ -18,7 +18,7 @@ And with line numbers. | |
| 18 18 | 
             
            * is what everybody should have on their website
         | 
| 19 19 | 
             
            * solves all your problems and makes the girls run after you
         | 
| 20 20 |  | 
| 21 | 
            -
            Version: 0.9. | 
| 21 | 
            +
            Version: 0.9.5
         | 
| 22 22 | 
             
            Author:: murphy (Kornelius Kalnbach)
         | 
| 23 23 | 
             
            Contact:: murphy rubychan de
         | 
| 24 24 | 
             
            Website:: coderay.rubychan.de[http://coderay.rubychan.de]
         | 
    
        data/lib/coderay.rb
    CHANGED
    
    | @@ -134,7 +134,7 @@ module CodeRay | |
| 134 134 | 
             
              # Minor: feature milestone
         | 
| 135 135 | 
             
              # Teeny: development state, 0 for pre-release
         | 
| 136 136 | 
             
              # Revision: Subversion Revision number (generated on rake gem:make)
         | 
| 137 | 
            -
              VERSION = '0.9. | 
| 137 | 
            +
              VERSION = '0.9.5'
         | 
| 138 138 |  | 
| 139 139 | 
             
              require 'coderay/tokens'
         | 
| 140 140 | 
             
              require 'coderay/token_classes'
         | 
| @@ -276,9 +276,13 @@ module Encoders | |
| 276 276 | 
             
                  when :begin_line
         | 
| 277 277 | 
             
                    @opened[0] = type
         | 
| 278 278 | 
             
                    if style = @css_style[@opened]
         | 
| 279 | 
            -
                       | 
| 279 | 
            +
                      if style['class="']
         | 
| 280 | 
            +
                        @out << style.sub('class="', 'class="line ')
         | 
| 281 | 
            +
                      else
         | 
| 282 | 
            +
                        @out << style.sub('>', ' class="line">')
         | 
| 283 | 
            +
                      end
         | 
| 280 284 | 
             
                    else
         | 
| 281 | 
            -
                      @out << '< | 
| 285 | 
            +
                      @out << '<span class="line">'
         | 
| 282 286 | 
             
                    end
         | 
| 283 287 | 
             
                    @opened << type
         | 
| 284 288 | 
             
                  when :end_line
         | 
| @@ -289,7 +293,7 @@ module Encoders | |
| 289 293 | 
             
                        raise 'Malformed token stream: Trying to close a line (%p) \
         | 
| 290 294 | 
             
                          that is not open. Open are: %p.' % [type, @opened[1..-1]]
         | 
| 291 295 | 
             
                      end
         | 
| 292 | 
            -
                      @out << '</ | 
| 296 | 
            +
                      @out << '</span>'
         | 
| 293 297 | 
             
                      @opened.pop
         | 
| 294 298 | 
             
                    end
         | 
| 295 299 |  | 
| @@ -80,8 +80,8 @@ module Encoders | |
| 80 80 | 
             
                      line_numbers.gsub!(/\n/) { "<tt>\n</tt>" }
         | 
| 81 81 |  | 
| 82 82 | 
             
                      line_numbers_table_tpl = TABLE.apply('LINE_NUMBERS', line_numbers)
         | 
| 83 | 
            -
                      gsub!( | 
| 84 | 
            -
                      gsub!( | 
| 83 | 
            +
                      gsub!("</div>\n", '</div>')
         | 
| 84 | 
            +
                      gsub!("\n", "<tt>\n</tt>")
         | 
| 85 85 | 
             
                      wrap_in! line_numbers_table_tpl
         | 
| 86 86 | 
             
                      @wrapped_in = :div
         | 
| 87 87 |  | 
    
        data/lib/coderay/scanner.rb
    CHANGED
    
    | @@ -68,15 +68,15 @@ module CodeRay | |
| 68 68 |  | 
| 69 69 | 
             
                    def normify code
         | 
| 70 70 | 
             
                      code = code.to_s
         | 
| 71 | 
            -
                      if code.respond_to?  | 
| 72 | 
            -
                         | 
| 73 | 
            -
                         | 
| 74 | 
            -
             | 
| 75 | 
            -
                          code | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
                           | 
| 71 | 
            +
                      if code.respond_to?(:encoding) && (code.encoding.name != 'UTF-8' || !code.valid_encoding?)
         | 
| 72 | 
            +
                        original_encoding = code.encoding
         | 
| 73 | 
            +
                        code.force_encoding 'Windows-1252'
         | 
| 74 | 
            +
                        unless code.valid_encoding?
         | 
| 75 | 
            +
                          code.force_encoding original_encoding
         | 
| 76 | 
            +
                          if code.encoding.name == 'UTF-8'
         | 
| 77 | 
            +
                            code.encode! 'UTF-16BE', :invalid => :replace, :undef => :replace, :replace => '?'
         | 
| 78 | 
            +
                          end
         | 
| 79 | 
            +
                          code.encode! 'UTF-8', :invalid => :replace, :undef => :replace, :replace => '?'
         | 
| 80 80 | 
             
                        end
         | 
| 81 81 | 
             
                      end
         | 
| 82 82 | 
             
                      code.to_unix
         | 
| @@ -147,7 +147,12 @@ module CodeRay | |
| 147 147 |  | 
| 148 148 | 
             
                  def string= code
         | 
| 149 149 | 
             
                    code = Scanner.normify(code)
         | 
| 150 | 
            -
                     | 
| 150 | 
            +
                    if defined?(RUBY_DESCRIPTION) && RUBY_DESCRIPTION['rubinius 1.0.1']
         | 
| 151 | 
            +
                      reset_state
         | 
| 152 | 
            +
                      @string = code
         | 
| 153 | 
            +
                    else
         | 
| 154 | 
            +
                      super code
         | 
| 155 | 
            +
                    end
         | 
| 151 156 | 
             
                    reset_instance
         | 
| 152 157 | 
             
                  end
         | 
| 153 158 |  | 
    
        data/lib/coderay/scanners/css.rb
    CHANGED
    
    | @@ -14,12 +14,11 @@ module Scanners | |
| 14 14 | 
             
                ]
         | 
| 15 15 |  | 
| 16 16 | 
             
                module RE
         | 
| 17 | 
            -
                  NonASCII = /[\x80-\xFF]/
         | 
| 18 17 | 
             
                  Hex = /[0-9a-fA-F]/
         | 
| 19 18 | 
             
                  Unicode = /\\#{Hex}{1,6}(?:\r\n|\s)?/ # differs from standard because it allows uppercase hex too
         | 
| 20 19 | 
             
                  Escape = /#{Unicode}|\\[^\r\n\f0-9a-fA-F]/
         | 
| 21 | 
            -
                  NMChar = /[-_a-zA-Z0-9]|#{ | 
| 22 | 
            -
                  NMStart = /[_a-zA-Z]|#{ | 
| 20 | 
            +
                  NMChar = /[-_a-zA-Z0-9]|#{Escape}/
         | 
| 21 | 
            +
                  NMStart = /[_a-zA-Z]|#{Escape}/
         | 
| 23 22 | 
             
                  NL = /\r\n|\r|\n|\f/
         | 
| 24 23 | 
             
                  String1 = /"(?:[^\n\r\f\\"]|\\#{NL}|#{Escape})*"?/  # FIXME: buggy regexp
         | 
| 25 24 | 
             
                  String2 = /'(?:[^\n\r\f\\']|\\#{NL}|#{Escape})*'?/  # FIXME: buggy regexp
         | 
    
        data/lib/coderay/scanners/php.rb
    CHANGED
    
    | @@ -225,6 +225,12 @@ module Scanners | |
| 225 225 | 
             
                end
         | 
| 226 226 |  | 
| 227 227 | 
             
                def scan_tokens tokens, options
         | 
| 228 | 
            +
                  if string.respond_to?(:encoding)
         | 
| 229 | 
            +
                    unless string.encoding == Encoding::ASCII_8BIT
         | 
| 230 | 
            +
                      self.string = string.encode Encoding::ASCII_8BIT,
         | 
| 231 | 
            +
                        :invalid => :replace, :undef => :replace, :replace => '?'
         | 
| 232 | 
            +
                    end
         | 
| 233 | 
            +
                  end
         | 
| 228 234 |  | 
| 229 235 | 
             
                  if check(RE::PHP_START) ||  # starts with <?
         | 
| 230 236 | 
             
                   (match?(/\s*<\S/) && exist?(RE::PHP_START)) || # starts with tag and contains <?
         | 
| @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            # encoding: utf-8
         | 
| 1 2 | 
             
            module CodeRay
         | 
| 2 3 | 
             
            module Scanners
         | 
| 3 4 |  | 
| @@ -28,6 +29,16 @@ module Scanners | |
| 28 29 |  | 
| 29 30 | 
             
              private
         | 
| 30 31 | 
             
                def scan_tokens tokens, options
         | 
| 32 | 
            +
                  if string.respond_to?(:encoding)
         | 
| 33 | 
            +
                    unless string.encoding == Encoding::UTF_8
         | 
| 34 | 
            +
                      self.string = string.encode Encoding::UTF_8,
         | 
| 35 | 
            +
                        :invalid => :replace, :undef => :replace, :replace => '?'
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
                    unicode = false
         | 
| 38 | 
            +
                  else
         | 
| 39 | 
            +
                    unicode = exist?(/[^\x00-\x7f]/)
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
                  
         | 
| 31 42 | 
             
                  last_token_dot = false
         | 
| 32 43 | 
             
                  value_expected = true
         | 
| 33 44 | 
             
                  heredocs = nil
         | 
| @@ -35,7 +46,7 @@ module Scanners | |
| 35 46 | 
             
                  state = :initial
         | 
| 36 47 | 
             
                  depth = nil
         | 
| 37 48 | 
             
                  inline_block_stack = []
         | 
| 38 | 
            -
                   | 
| 49 | 
            +
                  
         | 
| 39 50 |  | 
| 40 51 | 
             
                  patterns = Patterns  # avoid constant lookup
         | 
| 41 52 |  | 
| @@ -171,8 +182,13 @@ module Scanners | |
| 171 182 | 
             
                            kind = if match[/^[A-Z]/] and not match?(/\(/) then :constant else :ident end
         | 
| 172 183 | 
             
                          else
         | 
| 173 184 | 
             
                            kind = patterns::IDENT_KIND[match]
         | 
| 174 | 
            -
                            if kind == :ident | 
| 175 | 
            -
                               | 
| 185 | 
            +
                            if kind == :ident
         | 
| 186 | 
            +
                              if match[/^[A-Z]/] and not match[/[!?]$/] and not match?(/\(/)
         | 
| 187 | 
            +
                                kind = :constant
         | 
| 188 | 
            +
                              elsif scan(/:(?= )/)
         | 
| 189 | 
            +
                                match << ':'
         | 
| 190 | 
            +
                                kind = :symbol
         | 
| 191 | 
            +
                              end
         | 
| 176 192 | 
             
                            elsif kind == :reserved
         | 
| 177 193 | 
             
                              state = patterns::DEF_NEW_STATE[match]
         | 
| 178 194 | 
             
                              value_expected = :set if patterns::KEYWORDS_EXPECTING_VALUE[match]
         | 
| @@ -182,7 +198,8 @@ module Scanners | |
| 182 198 |  | 
| 183 199 | 
             
                        elsif last_token_dot and match = scan(/#{patterns::METHOD_NAME_OPERATOR}|\(/o)
         | 
| 184 200 | 
             
                          kind = :ident
         | 
| 185 | 
            -
                          value_expected = :set if check(/#{patterns::VALUE_FOLLOWS}/ | 
| 201 | 
            +
                          value_expected = :set if check(unicode ? /#{patterns::VALUE_FOLLOWS}/uo :
         | 
| 202 | 
            +
                                                                   /#{patterns::VALUE_FOLLOWS}/o)
         | 
| 186 203 |  | 
| 187 204 | 
             
                        # OPERATORS #
         | 
| 188 205 | 
             
                        elsif not last_token_dot and match = scan(/ \.\.\.? | (?:\.|::)() | [,\(\)\[\]\{\}] | ==?=? /x)
         | 
| @@ -212,7 +229,8 @@ module Scanners | |
| 212 229 | 
             
                          kind = :delimiter
         | 
| 213 230 | 
             
                          state = patterns::StringState.new :string, match == '"', match  # important for streaming
         | 
| 214 231 |  | 
| 215 | 
            -
                        elsif match = scan(/#{patterns::INSTANCE_VARIABLE}/ | 
| 232 | 
            +
                        elsif match = scan(unicode ? /#{patterns::INSTANCE_VARIABLE}/uo :
         | 
| 233 | 
            +
                                                     /#{patterns::INSTANCE_VARIABLE}/o)
         | 
| 216 234 | 
             
                          kind = :instance_variable
         | 
| 217 235 |  | 
| 218 236 | 
             
                        elsif value_expected and match = scan(/\//)
         | 
| @@ -225,7 +243,8 @@ module Scanners | |
| 225 243 | 
             
                        elsif match = value_expected ? scan(/[-+]?#{patterns::NUMERIC}/o) : scan(/#{patterns::NUMERIC}/o)
         | 
| 226 244 | 
             
                          kind = self[1] ? :float : :integer
         | 
| 227 245 |  | 
| 228 | 
            -
                        elsif match = scan(/#{patterns::SYMBOL}/ | 
| 246 | 
            +
                        elsif match = scan(unicode ? /#{patterns::SYMBOL}/uo :
         | 
| 247 | 
            +
                                                     /#{patterns::SYMBOL}/o)
         | 
| 229 248 | 
             
                          case delim = match[1]
         | 
| 230 249 | 
             
                          when ?', ?"
         | 
| 231 250 | 
             
                            tokens << [:open, :symbol]
         | 
| @@ -237,11 +256,12 @@ module Scanners | |
| 237 256 | 
             
                            kind = :symbol
         | 
| 238 257 | 
             
                          end
         | 
| 239 258 |  | 
| 240 | 
            -
                        elsif match = scan(/ [ | 
| 259 | 
            +
                        elsif match = scan(/ -[>=]? | [+!~^]=? | [*|&]{1,2}=? | >>? /x)
         | 
| 241 260 | 
             
                          value_expected = :set
         | 
| 242 261 | 
             
                          kind = :operator
         | 
| 243 262 |  | 
| 244 | 
            -
                        elsif value_expected and match = scan(/#{patterns::HEREDOC_OPEN}/ | 
| 263 | 
            +
                        elsif value_expected and match = scan(unicode ? /#{patterns::HEREDOC_OPEN}/uo :
         | 
| 264 | 
            +
                                                                        /#{patterns::HEREDOC_OPEN}/o)
         | 
| 245 265 | 
             
                          indented = self[1] == '-'
         | 
| 246 266 | 
             
                          quote = self[3]
         | 
| 247 267 | 
             
                          delim = self[quote ? 4 : 2]
         | 
| @@ -261,7 +281,8 @@ module Scanners | |
| 261 281 | 
             
                          state = patterns::StringState.new kind, interpreted, self[2]
         | 
| 262 282 | 
             
                          kind = :delimiter
         | 
| 263 283 |  | 
| 264 | 
            -
                        elsif value_expected and match = scan(/#{patterns::CHARACTER}/ | 
| 284 | 
            +
                        elsif value_expected and match = scan(unicode ? /#{patterns::CHARACTER}/uo :
         | 
| 285 | 
            +
                                                                        /#{patterns::CHARACTER}/o)
         | 
| 265 286 | 
             
                          kind = :integer
         | 
| 266 287 |  | 
| 267 288 | 
             
                        elsif match = scan(/ [\/%]=? | <(?:<|=>?)? | [?:;] /x)
         | 
| @@ -277,14 +298,16 @@ module Scanners | |
| 277 298 | 
             
                            state = patterns::StringState.new :shell, true, match
         | 
| 278 299 | 
             
                          end
         | 
| 279 300 |  | 
| 280 | 
            -
                        elsif match = scan(/#{patterns::GLOBAL_VARIABLE}/ | 
| 301 | 
            +
                        elsif match = scan(unicode ? /#{patterns::GLOBAL_VARIABLE}/uo :
         | 
| 302 | 
            +
                                                     /#{patterns::GLOBAL_VARIABLE}/o)
         | 
| 281 303 | 
             
                          kind = :global_variable
         | 
| 282 304 |  | 
| 283 | 
            -
                        elsif match = scan(/#{patterns::CLASS_VARIABLE}/ | 
| 305 | 
            +
                        elsif match = scan(unicode ? /#{patterns::CLASS_VARIABLE}/uo :
         | 
| 306 | 
            +
                                                     /#{patterns::CLASS_VARIABLE}/o)
         | 
| 284 307 | 
             
                          kind = :class_variable
         | 
| 285 308 |  | 
| 286 309 | 
             
                        else
         | 
| 287 | 
            -
                          if !unicode
         | 
| 310 | 
            +
                          if !unicode && !string.respond_to?(:encoding)
         | 
| 288 311 | 
             
                            # check for unicode
         | 
| 289 312 | 
             
                            debug, $DEBUG = $DEBUG, false
         | 
| 290 313 | 
             
                            begin
         | 
| @@ -300,7 +323,7 @@ module Scanners | |
| 300 323 | 
             
                            next if unicode
         | 
| 301 324 | 
             
                          end
         | 
| 302 325 | 
             
                          kind = :error
         | 
| 303 | 
            -
                          match =  | 
| 326 | 
            +
                          match = scan(unicode ? /./mu : /./m)
         | 
| 304 327 |  | 
| 305 328 | 
             
                        end
         | 
| 306 329 |  | 
| @@ -322,7 +345,8 @@ module Scanners | |
| 322 345 | 
             
                          kind = :operator
         | 
| 323 346 | 
             
                        else
         | 
| 324 347 | 
             
                          state = :initial
         | 
| 325 | 
            -
                          if match = scan(/ | 
| 348 | 
            +
                          if match = scan(unicode ? /(?:#{patterns::IDENT}::)*#{patterns::IDENT}/uo :
         | 
| 349 | 
            +
                                                    /(?:#{patterns::IDENT}::)*#{patterns::IDENT}/o)
         | 
| 326 350 | 
             
                            kind = :class
         | 
| 327 351 | 
             
                          else
         | 
| 328 352 | 
             
                            next
         | 
| @@ -331,9 +355,11 @@ module Scanners | |
| 331 355 |  | 
| 332 356 | 
             
                      elsif state == :undef_expected
         | 
| 333 357 | 
             
                        state = :undef_comma_expected
         | 
| 334 | 
            -
                        if match = scan(/#{patterns::METHOD_NAME_EX}/ | 
| 358 | 
            +
                        if match = scan(unicode ? /#{patterns::METHOD_NAME_EX}/uo :
         | 
| 359 | 
            +
                                                  /#{patterns::METHOD_NAME_EX}/o)
         | 
| 335 360 | 
             
                          kind = :method
         | 
| 336 | 
            -
                        elsif match = scan(/#{patterns::SYMBOL}/ | 
| 361 | 
            +
                        elsif match = scan(unicode ? /#{patterns::SYMBOL}/uo :
         | 
| 362 | 
            +
                                                     /#{patterns::SYMBOL}/o)
         | 
| 337 363 | 
             
                          case delim = match[1]
         | 
| 338 364 | 
             
                          when ?', ?"
         | 
| 339 365 | 
             
                            tokens << [:open, :symbol]
         | 
| @@ -32,7 +32,18 @@ module Scanners | |
| 32 32 | 
             
                  add(RESERVED_WORDS, :reserved).
         | 
| 33 33 | 
             
                  add(PREDEFINED_CONSTANTS, :pre_constant)
         | 
| 34 34 |  | 
| 35 | 
            -
                 | 
| 35 | 
            +
                if /\w/u === '∑'
         | 
| 36 | 
            +
                  # MRI 1.8.6, 1.8.7
         | 
| 37 | 
            +
                  IDENT = /[^\W\d]\w*/
         | 
| 38 | 
            +
                else
         | 
| 39 | 
            +
                  if //.respond_to? :encoding
         | 
| 40 | 
            +
                    # MRI 1.9.1, 1.9.2
         | 
| 41 | 
            +
                    IDENT = Regexp.new '[\p{L}\p{M}\p{Pc}\p{Sm}&&[^\x00-\x40\x5b-\x5e\x60\x7b-\x7f]][\p{L}\p{M}\p{N}\p{Pc}\p{Sm}&&[^\x00-\x2f\x3a-\x40\x5b-\x5e\x60\x7b-\x7f]]*'
         | 
| 42 | 
            +
                  else
         | 
| 43 | 
            +
                    # JRuby, Rubinius
         | 
| 44 | 
            +
                    IDENT = /[^\x00-\x40\x5b-\x5e\x60\x7b-\x7f][^\x00-\x2f\x3a-\x40\x5b-\x5e\x60\x7b-\x7f]*/
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
                end
         | 
| 36 47 |  | 
| 37 48 | 
             
                METHOD_NAME = / #{IDENT} [?!]? /ox
         | 
| 38 49 | 
             
                METHOD_NAME_OPERATOR = /
         | 
| @@ -109,10 +120,12 @@ module Scanners | |
| 109 120 |  | 
| 110 121 | 
             
                # NOTE: This is not completely correct, but
         | 
| 111 122 | 
             
                # nobody needs heredoc delimiters ending with \n.
         | 
| 123 | 
            +
                # Also, delimiters starting with numbers are allowed.
         | 
| 124 | 
            +
                # but they are more often than not a false positive.
         | 
| 112 125 | 
             
                HEREDOC_OPEN = /
         | 
| 113 126 | 
             
                  << (-)?              # $1 = float
         | 
| 114 127 | 
             
                  (?:
         | 
| 115 | 
            -
                    (  | 
| 128 | 
            +
                    ( #{IDENT} )       # $2 = delim
         | 
| 116 129 | 
             
                  |
         | 
| 117 130 | 
             
                    ( ["'`\/] )        # $3 = quote, type
         | 
| 118 131 | 
             
                    ( [^\n]*? ) \3     # $4 = delim
         | 
    
        data/lib/coderay/scanners/sql.rb
    CHANGED
    
    
| @@ -33,6 +33,7 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top } | |
| 33 33 | 
             
            }
         | 
| 34 34 | 
             
            .CodeRay .line_numbers tt { font-weight: bold }
         | 
| 35 35 | 
             
            .CodeRay .line_numbers .highlighted { color: red }
         | 
| 36 | 
            +
            .CodeRay .line { display: block; float: left; width: 100%; }
         | 
| 36 37 | 
             
            .CodeRay .no { padding: 0px 4px }
         | 
| 37 38 | 
             
            .CodeRay .code { width: 100% }
         | 
| 38 39 |  | 
| @@ -32,6 +32,8 @@ table.CodeRay td { padding: 2px 4px; vertical-align: top; } | |
| 32 32 | 
             
              text-align: right;
         | 
| 33 33 | 
             
            }
         | 
| 34 34 | 
             
            .CodeRay .line_numbers tt { font-weight: bold; }
         | 
| 35 | 
            +
            .CodeRay .line_numbers .highlighted { color: red }
         | 
| 36 | 
            +
            .CodeRay .line { display: block; float: left; width: 100%; }
         | 
| 35 37 | 
             
            .CodeRay .no { padding: 0px 4px; }
         | 
| 36 38 | 
             
            .CodeRay .code { width: 100%; }
         | 
| 37 39 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: coderay
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 4 | 
            +
              hash: 49
         | 
| 5 5 | 
             
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 0
         | 
| 8 8 | 
             
              - 9
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 0.9. | 
| 9 | 
            +
              - 5
         | 
| 10 | 
            +
              version: 0.9.5
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - murphy
         | 
| @@ -15,7 +15,7 @@ autorequire: | |
| 15 15 | 
             
            bindir: bin
         | 
| 16 16 | 
             
            cert_chain: []
         | 
| 17 17 |  | 
| 18 | 
            -
            date: 2010-09- | 
| 18 | 
            +
            date: 2010-09-28 00:00:00 +02:00
         | 
| 19 19 | 
             
            default_executable: 
         | 
| 20 20 | 
             
            dependencies: []
         | 
| 21 21 |  |