hitimes 1.1.1 → 1.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.
- data/CONTRIBUTING.md +45 -0
 - data/{HISTORY → HISTORY.rdoc} +14 -1
 - data/LICENSE +11 -8
 - data/Manifest.txt +44 -0
 - data/{README → README.rdoc} +20 -6
 - data/Rakefile +20 -62
 - data/ext/hitimes/{extconf.rb → c/extconf.rb} +3 -3
 - data/ext/hitimes/{hitimes_ext.c → c/hitimes.c} +1 -1
 - data/ext/hitimes/{hitimes_instant_clock_gettime.c → c/hitimes_instant_clock_gettime.c} +0 -0
 - data/ext/hitimes/c/hitimes_instant_osx.c +45 -0
 - data/ext/hitimes/{hitimes_instant_windows.c → c/hitimes_instant_windows.c} +0 -0
 - data/ext/hitimes/{hitimes_interval.c → c/hitimes_interval.c} +15 -7
 - data/ext/hitimes/{hitimes_interval.h → c/hitimes_interval.h} +5 -5
 - data/ext/hitimes/{hitimes_stats.c → c/hitimes_stats.c} +0 -0
 - data/ext/hitimes/{hitimes_stats.h → c/hitimes_stats.h} +0 -0
 - data/ext/hitimes/java/src/hitimes/Hitimes.java +54 -0
 - data/ext/hitimes/java/src/hitimes/HitimesInterval.java +181 -0
 - data/ext/hitimes/java/src/hitimes/HitimesService.java +16 -0
 - data/ext/hitimes/java/src/hitimes/HitimesStats.java +112 -0
 - data/lib/hitimes.rb +15 -5
 - data/lib/hitimes/version.rb +1 -50
 - data/spec/hitimes_spec.rb +14 -0
 - data/spec/interval_spec.rb +24 -21
 - data/spec/metric_spec.rb +8 -10
 - data/spec/mutex_stats_spec.rb +8 -6
 - data/spec/paths_spec.rb +1 -3
 - data/spec/spec_helper.rb +7 -3
 - data/spec/stats_spec.rb +26 -28
 - data/spec/timed_metric_spec.rb +33 -33
 - data/spec/timed_value_metric_spec.rb +45 -46
 - data/spec/value_metric_spec.rb +21 -23
 - data/spec/version_spec.rb +4 -30
 - data/tasks/default.rake +267 -0
 - data/tasks/extension.rake +31 -101
 - data/tasks/this.rb +209 -0
 - metadata +139 -143
 - data/ext/hitimes/hitimes_instant_osx.c +0 -16
 - data/gemspec.rb +0 -64
 - data/tasks/announce.rake +0 -42
 - data/tasks/config.rb +0 -109
 - data/tasks/distribution.rake +0 -93
 - data/tasks/documentation.rake +0 -32
 - data/tasks/rspec.rake +0 -33
 - data/tasks/rubyforge.rake +0 -55
 - data/tasks/utils.rb +0 -80
 
    
        data/tasks/extension.rake
    CHANGED
    
    | 
         @@ -1,108 +1,38 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
             
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            # 
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
                      ruby conf.to_s
         
     | 
| 
       18 
     | 
    
         
            -
                      sh "make" 
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
                      # install into requireable location so specs will run
         
     | 
| 
       21 
     | 
    
         
            -
                      subdir = "hitimes/#{RUBY_VERSION.sub(/\.\d$/,'')}"
         
     | 
| 
       22 
     | 
    
         
            -
                      dest_dir = Hitimes::Paths.lib_path( subdir )
         
     | 
| 
       23 
     | 
    
         
            -
                      mkdir_p dest_dir, :verbose => true
         
     | 
| 
       24 
     | 
    
         
            -
                      cp "hitimes_ext.#{Config::CONFIG['DLEXT']}", dest_dir, :verbose => true
         
     | 
| 
       25 
     | 
    
         
            -
                    end
         
     | 
| 
       26 
     | 
    
         
            -
                  end
         
     | 
| 
       27 
     | 
    
         
            -
                end 
         
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
                if RUBY_PLATFORM == "java" then
         
     | 
| 
       30 
     | 
    
         
            -
                  desc "Build the jruby extension"
         
     | 
| 
       31 
     | 
    
         
            -
                  task :build_java => [ :clobber, "lib/hitimes/hitimes.jar" ]
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                  file "lib/hitimes/hitimes.jar" => FileList["ext/java/src/hitimes/*.java"] do |t|
         
     | 
| 
       34 
     | 
    
         
            -
                    jruby_home = Config::CONFIG['prefix']
         
     | 
| 
       35 
     | 
    
         
            -
                    jruby_jar  = File.join( jruby_home, 'lib', 'jruby.jar' )
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                    mkdir_p 'pkg/classes'
         
     | 
| 
       38 
     | 
    
         
            -
                    sh "javac -classpath #{jruby_jar} -d pkg/classes #{t.prerequisites.join(' ')}"  
         
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
                    dest_dir = File.dirname(t.name)
         
     | 
| 
       41 
     | 
    
         
            -
                    sh "jar cf #{t.name} -C pkg/classes ."
         
     | 
| 
       42 
     | 
    
         
            -
                  end
         
     | 
| 
      
 1 
     | 
    
         
            +
            # To be used if the gem has extensions.
         
     | 
| 
      
 2 
     | 
    
         
            +
            # If this task set is inclueded then you will need to also have
         
     | 
| 
      
 3 
     | 
    
         
            +
            #
         
     | 
| 
      
 4 
     | 
    
         
            +
            #   spec.add_development_dependency( 'rake-compiler', '~> 0.8.1' )
         
     | 
| 
      
 5 
     | 
    
         
            +
            #
         
     | 
| 
      
 6 
     | 
    
         
            +
            # in your top level rakefile
         
     | 
| 
      
 7 
     | 
    
         
            +
            begin
         
     | 
| 
      
 8 
     | 
    
         
            +
              require 'rake/extensiontask'
         
     | 
| 
      
 9 
     | 
    
         
            +
              require 'rake/javaextensiontask'
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              if RUBY_PLATFORM == "java" then
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                Rake::JavaExtensionTask.new( This.name) do |ext|
         
     | 
| 
      
 14 
     | 
    
         
            +
                  ext.ext_dir  = File.join( 'ext', This.name, "java" )
         
     | 
| 
      
 15 
     | 
    
         
            +
                  ext.lib_dir  = File.join( 'lib', This.name )
         
     | 
| 
      
 16 
     | 
    
         
            +
                  ext.gem_spec = This.java_gemspec
         
     | 
| 
       43 
17 
     | 
    
         
             
                end
         
     | 
| 
       44 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
              else
         
     | 
| 
       45 
20 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
                 
     | 
| 
       47 
     | 
    
         
            -
                   
     | 
| 
       48 
     | 
    
         
            -
                   
     | 
| 
       49 
     | 
    
         
            -
                   
     | 
| 
       50 
     | 
    
         
            -
                  Hitimes::GEM_SPEC.extensions.each do |extension|
         
     | 
| 
       51 
     | 
    
         
            -
                    path = Pathname.new(extension)
         
     | 
| 
       52 
     | 
    
         
            -
                    parts = path.split
         
     | 
| 
       53 
     | 
    
         
            -
                    conf = parts.last
         
     | 
| 
       54 
     | 
    
         
            -
                    rvm = File.expand_path( "~/.rvm/bin/rvm" )
         
     | 
| 
       55 
     | 
    
         
            -
                    Dir.chdir(path.dirname) do |d| 
         
     | 
| 
       56 
     | 
    
         
            -
                      if File.exist?( "Makefile" ) then
         
     | 
| 
       57 
     | 
    
         
            -
                        sh "make clean distclean"
         
     | 
| 
       58 
     | 
    
         
            -
                      end
         
     | 
| 
       59 
     | 
    
         
            -
                      cp "#{rbconfig}", "rbconfig.rb"
         
     | 
| 
       60 
     | 
    
         
            -
                      rubylib = ENV['RUBYLIB']
         
     | 
| 
       61 
     | 
    
         
            -
                      ENV['RUBYLIB'] = "."
         
     | 
| 
       62 
     | 
    
         
            -
                      sh %[#{rvm} #{version} -S extconf.rb]
         
     | 
| 
       63 
     | 
    
         
            -
                      ENV['RUBYLIB'] = rubylib
         
     | 
| 
       64 
     | 
    
         
            -
                      sh "make"
         
     | 
| 
       65 
     | 
    
         
            -
                    end
         
     | 
| 
       66 
     | 
    
         
            -
                  end
         
     | 
| 
       67 
     | 
    
         
            -
                end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
                win_builds = []
         
     | 
| 
       70 
     | 
    
         
            -
                ext_config.cross_rbconfig.keys.each do |v|
         
     | 
| 
       71 
     | 
    
         
            -
                  s = v.split("-").last
         
     | 
| 
       72 
     | 
    
         
            -
                  desc "Build the extension for windows version #{s}"
         
     | 
| 
       73 
     | 
    
         
            -
                  win_bname = "build_win-#{s}"
         
     | 
| 
       74 
     | 
    
         
            -
                  win_builds << win_bname
         
     | 
| 
       75 
     | 
    
         
            -
                  task win_bname => :clean do
         
     | 
| 
       76 
     | 
    
         
            -
                    build_win( s )
         
     | 
| 
       77 
     | 
    
         
            -
                  end
         
     | 
| 
       78 
     | 
    
         
            -
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
                Rake::ExtensionTask.new( This.name ) do |ext|
         
     | 
| 
      
 22 
     | 
    
         
            +
                  ext.ext_dir   = File.join( 'ext', This.name, "c" )
         
     | 
| 
      
 23 
     | 
    
         
            +
                  ext.lib_dir   = File.join( 'lib', This.name )
         
     | 
| 
      
 24 
     | 
    
         
            +
                  ext.gem_spec  = This.ruby_gemspec
         
     | 
| 
       79 
25 
     | 
    
         | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
                   
     | 
| 
       82 
     | 
    
         
            -
             
     | 
| 
       83 
     | 
    
         
            -
                    parts = path.split
         
     | 
| 
       84 
     | 
    
         
            -
                    conf  = parts.last
         
     | 
| 
       85 
     | 
    
         
            -
                    Dir.chdir(path.dirname) do |d| 
         
     | 
| 
       86 
     | 
    
         
            -
                      if File.exist?( "Makefile" ) then
         
     | 
| 
       87 
     | 
    
         
            -
                        sh "make clean"
         
     | 
| 
       88 
     | 
    
         
            -
                      end
         
     | 
| 
       89 
     | 
    
         
            -
                      rm_f "rbconfig.rb"
         
     | 
| 
       90 
     | 
    
         
            -
                    end 
         
     | 
| 
       91 
     | 
    
         
            -
                  end 
         
     | 
| 
       92 
     | 
    
         
            -
                end 
         
     | 
| 
       93 
     | 
    
         
            -
             
     | 
| 
       94 
     | 
    
         
            -
                task :clobber do
         
     | 
| 
       95 
     | 
    
         
            -
                  ext_config.configs.each do |extension|
         
     | 
| 
       96 
     | 
    
         
            -
                    path  = Pathname.new(extension)
         
     | 
| 
       97 
     | 
    
         
            -
                    parts = path.split
         
     | 
| 
       98 
     | 
    
         
            -
                    conf  = parts.last
         
     | 
| 
       99 
     | 
    
         
            -
                    Dir.chdir(path.dirname) do |d| 
         
     | 
| 
       100 
     | 
    
         
            -
                      if File.exist?( "Makefile" ) then
         
     | 
| 
       101 
     | 
    
         
            -
                        sh "make distclean"
         
     | 
| 
       102 
     | 
    
         
            -
                      end
         
     | 
| 
       103 
     | 
    
         
            -
                      rm_f "rbconfig.rb"
         
     | 
| 
       104 
     | 
    
         
            -
                    end 
         
     | 
| 
       105 
     | 
    
         
            -
                  end 
         
     | 
| 
      
 26 
     | 
    
         
            +
                  ext.cross_compile  = true               # enable cross compilation (requires cross compile toolchain)
         
     | 
| 
      
 27 
     | 
    
         
            +
                  ext.cross_platform = 'i386-mswin32'     # forces the Windows platform instead of the default one
         
     | 
| 
      
 28 
     | 
    
         
            +
                                                          # configure options only for cross compile
         
     | 
| 
       106 
29 
     | 
    
         
             
                end
         
     | 
| 
       107 
30 
     | 
    
         
             
              end
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
              task :test_requirements => :compile
         
     | 
| 
      
 33 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 34 
     | 
    
         
            +
              This.task_warning( 'extension' )
         
     | 
| 
       108 
35 
     | 
    
         
             
            end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            CLOBBER << FileList["lib/**/*.{jar,so,bundle}"]
         
     | 
| 
      
 38 
     | 
    
         
            +
            CLOBBER << FileList["lib/#{This.name}/1.{8,9}/"]
         
     | 
    
        data/tasks/this.rb
    ADDED
    
    | 
         @@ -0,0 +1,209 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'pathname'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            # Public: A Class containing all the metadata and utilities needed to manage a
         
     | 
| 
      
 4 
     | 
    
         
            +
            # ruby project.
         
     | 
| 
      
 5 
     | 
    
         
            +
            class ThisProject
         
     | 
| 
      
 6 
     | 
    
         
            +
              # The name of this project
         
     | 
| 
      
 7 
     | 
    
         
            +
              attr_accessor :name
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
              # The author's name
         
     | 
| 
      
 10 
     | 
    
         
            +
              attr_accessor :author
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              # The email address of the author(s)
         
     | 
| 
      
 13 
     | 
    
         
            +
              attr_accessor :email
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              # The homepage of this project
         
     | 
| 
      
 16 
     | 
    
         
            +
              attr_accessor :homepage 
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              # The regex of files to exclude from the manifest
         
     | 
| 
      
 19 
     | 
    
         
            +
              attr_accessor :exclude_from_manifest
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
              # The hash of Gem::Specifications keyed' by platform
         
     | 
| 
      
 22 
     | 
    
         
            +
              attr_accessor :gemspecs
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              # Public: Initialize ThisProject
         
     | 
| 
      
 25 
     | 
    
         
            +
              #
         
     | 
| 
      
 26 
     | 
    
         
            +
              # Yields self
         
     | 
| 
      
 27 
     | 
    
         
            +
              def initialize(&block)
         
     | 
| 
      
 28 
     | 
    
         
            +
                @exclude_from_manifest = %r/\.(git|DS_Store)|^(doc|coverage|pkg|tmp)|Gemfile*|\.(gemspec|swp|jar|bundle|so|rvmrc)$|~$/
         
     | 
| 
      
 29 
     | 
    
         
            +
                @gemspecs              = Hash.new
         
     | 
| 
      
 30 
     | 
    
         
            +
                yield self if block_given?
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
              # Public: return the version of ThisProject
         
     | 
| 
      
 34 
     | 
    
         
            +
              #
         
     | 
| 
      
 35 
     | 
    
         
            +
              # Search the ruby files in the project looking for the one that has the
         
     | 
| 
      
 36 
     | 
    
         
            +
              # version string in it. This does not eval any code in the project, it parses
         
     | 
| 
      
 37 
     | 
    
         
            +
              # the source code looking for the string.
         
     | 
| 
      
 38 
     | 
    
         
            +
              #
         
     | 
| 
      
 39 
     | 
    
         
            +
              # Returns a String version
         
     | 
| 
      
 40 
     | 
    
         
            +
              def version
         
     | 
| 
      
 41 
     | 
    
         
            +
                [ "lib/#{ name }.rb", "lib/#{ name }/version.rb" ].each do |v|
         
     | 
| 
      
 42 
     | 
    
         
            +
                  path = project_path( v )
         
     | 
| 
      
 43 
     | 
    
         
            +
                  line = path.read[/^\s*VERSION\s*=\s*.*/]
         
     | 
| 
      
 44 
     | 
    
         
            +
                  if line then
         
     | 
| 
      
 45 
     | 
    
         
            +
                    return line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
         
     | 
| 
      
 46 
     | 
    
         
            +
                  end
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
              # Internal: Return a section of an RDoc file with the given section name
         
     | 
| 
      
 51 
     | 
    
         
            +
              #
         
     | 
| 
      
 52 
     | 
    
         
            +
              # path         - the relative path in the project of the file to parse
         
     | 
| 
      
 53 
     | 
    
         
            +
              # section_name - the section out of the file from which to parse data
         
     | 
| 
      
 54 
     | 
    
         
            +
              #
         
     | 
| 
      
 55 
     | 
    
         
            +
              # Retuns the text of the section as an array of paragrphs.
         
     | 
| 
      
 56 
     | 
    
         
            +
              def section_of( file, section_name )
         
     | 
| 
      
 57 
     | 
    
         
            +
                re    = /^=+ (.*)$/
         
     | 
| 
      
 58 
     | 
    
         
            +
                sectional = project_path( file )
         
     | 
| 
      
 59 
     | 
    
         
            +
                parts = sectional.read.split( re )[1..-1]
         
     | 
| 
      
 60 
     | 
    
         
            +
                parts.map! { |p| p.strip }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                sections = Hash.new
         
     | 
| 
      
 63 
     | 
    
         
            +
                Hash[*parts].each do |k,v|
         
     | 
| 
      
 64 
     | 
    
         
            +
                  sections[k] = v.split("\n\n")
         
     | 
| 
      
 65 
     | 
    
         
            +
                end
         
     | 
| 
      
 66 
     | 
    
         
            +
                return sections[section_name]
         
     | 
| 
      
 67 
     | 
    
         
            +
              end
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
              # Internal: print out a warning about the give task
         
     | 
| 
      
 70 
     | 
    
         
            +
              def task_warning( task )
         
     | 
| 
      
 71 
     | 
    
         
            +
                warn "WARNING: '#{task}' tasks are not defined. Please run 'rake develop'"
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              # Internal: Return the full path to the file that is relative to the project
         
     | 
| 
      
 75 
     | 
    
         
            +
              # root.
         
     | 
| 
      
 76 
     | 
    
         
            +
              #
         
     | 
| 
      
 77 
     | 
    
         
            +
              # path - the relative path of the file from the project root
         
     | 
| 
      
 78 
     | 
    
         
            +
              #
         
     | 
| 
      
 79 
     | 
    
         
            +
              # Returns the Pathname of the file
         
     | 
| 
      
 80 
     | 
    
         
            +
              def project_path( *relative_path )
         
     | 
| 
      
 81 
     | 
    
         
            +
                project_root.join( *relative_path )
         
     | 
| 
      
 82 
     | 
    
         
            +
              end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
              # Internal: The absolute path of this file
         
     | 
| 
      
 85 
     | 
    
         
            +
              #
         
     | 
| 
      
 86 
     | 
    
         
            +
              # Returns the Pathname of this file.
         
     | 
| 
      
 87 
     | 
    
         
            +
              def this_file_path
         
     | 
| 
      
 88 
     | 
    
         
            +
                Pathname.new( __FILE__ ).expand_path
         
     | 
| 
      
 89 
     | 
    
         
            +
              end
         
     | 
| 
      
 90 
     | 
    
         
            +
             
     | 
| 
      
 91 
     | 
    
         
            +
              # Internal: The root directory of this project
         
     | 
| 
      
 92 
     | 
    
         
            +
              #
         
     | 
| 
      
 93 
     | 
    
         
            +
              # This is defined as being the directory that is in the path of this project
         
     | 
| 
      
 94 
     | 
    
         
            +
              # that has the first Rakefile
         
     | 
| 
      
 95 
     | 
    
         
            +
              #
         
     | 
| 
      
 96 
     | 
    
         
            +
              # Returns the Pathname of the directory
         
     | 
| 
      
 97 
     | 
    
         
            +
              def project_root
         
     | 
| 
      
 98 
     | 
    
         
            +
                this_file_path.ascend do |p|
         
     | 
| 
      
 99 
     | 
    
         
            +
                  rakefile = p.join( 'Rakefile' )
         
     | 
| 
      
 100 
     | 
    
         
            +
                  return p if rakefile.exist?
         
     | 
| 
      
 101 
     | 
    
         
            +
                end
         
     | 
| 
      
 102 
     | 
    
         
            +
              end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
              # Internal: Returns the contents of the Manifest.txt file as an array
         
     | 
| 
      
 105 
     | 
    
         
            +
              #
         
     | 
| 
      
 106 
     | 
    
         
            +
              # Returns an Array of strings
         
     | 
| 
      
 107 
     | 
    
         
            +
              def manifest
         
     | 
| 
      
 108 
     | 
    
         
            +
                manifest_file = project_path( "Manifest.txt" )
         
     | 
| 
      
 109 
     | 
    
         
            +
                abort "You need a Manifest.txt" unless manifest_file.readable?
         
     | 
| 
      
 110 
     | 
    
         
            +
                manifest_file.readlines.map { |l| l.strip }
         
     | 
| 
      
 111 
     | 
    
         
            +
              end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
              # Internal: Return the files that define the extensions
         
     | 
| 
      
 114 
     | 
    
         
            +
              #
         
     | 
| 
      
 115 
     | 
    
         
            +
              # Returns an Array
         
     | 
| 
      
 116 
     | 
    
         
            +
              def extension_conf_files
         
     | 
| 
      
 117 
     | 
    
         
            +
                manifest.grep( /extconf.rb\Z/ )
         
     | 
| 
      
 118 
     | 
    
         
            +
              end
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
              # Internal: Returns the gemspace associated with the current ruby platform
         
     | 
| 
      
 121 
     | 
    
         
            +
              def platform_gemspec
         
     | 
| 
      
 122 
     | 
    
         
            +
                gemspecs[platform]
         
     | 
| 
      
 123 
     | 
    
         
            +
              end
         
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
      
 125 
     | 
    
         
            +
              def core_gemspec
         
     | 
| 
      
 126 
     | 
    
         
            +
                Gem::Specification.new do |spec|
         
     | 
| 
      
 127 
     | 
    
         
            +
                  spec.name        = name
         
     | 
| 
      
 128 
     | 
    
         
            +
                  spec.version     = version
         
     | 
| 
      
 129 
     | 
    
         
            +
                  spec.author      = author
         
     | 
| 
      
 130 
     | 
    
         
            +
                  spec.email       = email
         
     | 
| 
      
 131 
     | 
    
         
            +
                  spec.homepage    = homepage
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
                  spec.summary     = summary
         
     | 
| 
      
 134 
     | 
    
         
            +
                  spec.description = description
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
                  spec.files       = manifest
         
     | 
| 
      
 137 
     | 
    
         
            +
                  spec.executables = spec.files.grep(/^bin/) { |f| File.basename(f) }
         
     | 
| 
      
 138 
     | 
    
         
            +
                  spec.test_files  = spec.files.grep(/^spec/)
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
                  spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc)$/)
         
     | 
| 
      
 141 
     | 
    
         
            +
                  spec.rdoc_options = [ "--main"  , 'README.rdoc',
         
     | 
| 
      
 142 
     | 
    
         
            +
                                        "--markup", "tomdoc" ]
         
     | 
| 
      
 143 
     | 
    
         
            +
                end
         
     | 
| 
      
 144 
     | 
    
         
            +
              end
         
     | 
| 
      
 145 
     | 
    
         
            +
             
     | 
| 
      
 146 
     | 
    
         
            +
              # Internal: Return the gemspec for the ruby platform
         
     | 
| 
      
 147 
     | 
    
         
            +
              def ruby_gemspec( core = core_gemspec, &block )
         
     | 
| 
      
 148 
     | 
    
         
            +
                yielding_gemspec( 'ruby', core, &block )
         
     | 
| 
      
 149 
     | 
    
         
            +
              end
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
      
 151 
     | 
    
         
            +
              # Internal: Return the gemspec for the jruby platform
         
     | 
| 
      
 152 
     | 
    
         
            +
              def java_gemspec( core = core_gemspec, &block )
         
     | 
| 
      
 153 
     | 
    
         
            +
                yielding_gemspec( 'java', core, &block )
         
     | 
| 
      
 154 
     | 
    
         
            +
              end
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
              # Internal: give an initial spec and a key, create a new gemspec based off of
         
     | 
| 
      
 157 
     | 
    
         
            +
              # it.
         
     | 
| 
      
 158 
     | 
    
         
            +
              #
         
     | 
| 
      
 159 
     | 
    
         
            +
              # This will force the new gemspecs 'platform' to be that of the key, since the
         
     | 
| 
      
 160 
     | 
    
         
            +
              # only reason you would have multiple gemspecs at this point is to deal with
         
     | 
| 
      
 161 
     | 
    
         
            +
              # different platforms.
         
     | 
| 
      
 162 
     | 
    
         
            +
              def yielding_gemspec( key, core )
         
     | 
| 
      
 163 
     | 
    
         
            +
                spec = gemspecs[key] ||= core.dup
         
     | 
| 
      
 164 
     | 
    
         
            +
                spec.platform = key
         
     | 
| 
      
 165 
     | 
    
         
            +
                yield spec if block_given?
         
     | 
| 
      
 166 
     | 
    
         
            +
                return spec
         
     | 
| 
      
 167 
     | 
    
         
            +
              end
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
              # Internal: Set the recovery gem development dependency
         
     | 
| 
      
 170 
     | 
    
         
            +
              #
         
     | 
| 
      
 171 
     | 
    
         
            +
              # These are dynamically set since they cannot be hard coded as there is 
         
     | 
| 
      
 172 
     | 
    
         
            +
              # no way to ship them correctly in the gemspec
         
     | 
| 
      
 173 
     | 
    
         
            +
              #
         
     | 
| 
      
 174 
     | 
    
         
            +
              # Returns nothing.
         
     | 
| 
      
 175 
     | 
    
         
            +
              def set_coverage_gem
         
     | 
| 
      
 176 
     | 
    
         
            +
                if RUBY_VERSION < "1.9.0"
         
     | 
| 
      
 177 
     | 
    
         
            +
                  platform_gemspec.add_development_dependency( 'rcov', '~> 1.0.0' )
         
     | 
| 
      
 178 
     | 
    
         
            +
                else
         
     | 
| 
      
 179 
     | 
    
         
            +
                  platform_gemspec.add_development_dependency( 'simplecov', '~> 0.7.1' )
         
     | 
| 
      
 180 
     | 
    
         
            +
                end
         
     | 
| 
      
 181 
     | 
    
         
            +
              end
         
     | 
| 
      
 182 
     | 
    
         
            +
             
     | 
| 
      
 183 
     | 
    
         
            +
              # Internal: Return the platform of ThisProject at the current moment in time.
         
     | 
| 
      
 184 
     | 
    
         
            +
              def platform
         
     | 
| 
      
 185 
     | 
    
         
            +
                (RUBY_PLATFORM == "java") ? 'java' : Gem::Platform::RUBY
         
     | 
| 
      
 186 
     | 
    
         
            +
              end
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
              # Internal: Return the DESCRIPTION section of the README.rdoc file
         
     | 
| 
      
 189 
     | 
    
         
            +
              def description_section
         
     | 
| 
      
 190 
     | 
    
         
            +
                section_of( 'README.rdoc', 'DESCRIPTION')
         
     | 
| 
      
 191 
     | 
    
         
            +
              end
         
     | 
| 
      
 192 
     | 
    
         
            +
             
         
     | 
| 
      
 193 
     | 
    
         
            +
             # Internal: Return the summary text from the README 
         
     | 
| 
      
 194 
     | 
    
         
            +
              def summary
         
     | 
| 
      
 195 
     | 
    
         
            +
                description_section.first
         
     | 
| 
      
 196 
     | 
    
         
            +
              end
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
              # Internal: Return the full description text from the READEM
         
     | 
| 
      
 199 
     | 
    
         
            +
              def description
         
     | 
| 
      
 200 
     | 
    
         
            +
                description_section.join(" ").tr("\n", ' ').gsub(/[{}]/,'').gsub(/\[[^\]]+\]/,'') # strip rdoc
         
     | 
| 
      
 201 
     | 
    
         
            +
              end
         
     | 
| 
      
 202 
     | 
    
         
            +
             
     | 
| 
      
 203 
     | 
    
         
            +
              # Internal: The path to the gemspec file
         
     | 
| 
      
 204 
     | 
    
         
            +
              def gemspec_file
         
     | 
| 
      
 205 
     | 
    
         
            +
                project_path( "#{ name }.gemspec" )
         
     | 
| 
      
 206 
     | 
    
         
            +
              end
         
     | 
| 
      
 207 
     | 
    
         
            +
            end
         
     | 
| 
      
 208 
     | 
    
         
            +
             
     | 
| 
      
 209 
     | 
    
         
            +
            This = ThisProject.new
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,131 +1,134 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            --- !ruby/object:Gem::Specification 
     | 
| 
      
 1 
     | 
    
         
            +
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: hitimes
         
     | 
| 
       3 
     | 
    
         
            -
            version: !ruby/object:Gem::Version 
     | 
| 
       4 
     | 
    
         
            -
               
     | 
| 
       5 
     | 
    
         
            -
              prerelease:  
     | 
| 
       6 
     | 
    
         
            -
              segments: 
         
     | 
| 
       7 
     | 
    
         
            -
              - 1
         
     | 
| 
       8 
     | 
    
         
            -
              - 1
         
     | 
| 
       9 
     | 
    
         
            -
              - 1
         
     | 
| 
       10 
     | 
    
         
            -
              version: 1.1.1
         
     | 
| 
      
 3 
     | 
    
         
            +
            version: !ruby/object:Gem::Version
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.0
         
     | 
| 
      
 5 
     | 
    
         
            +
              prerelease: 
         
     | 
| 
       11 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       12 
     | 
    
         
            -
            authors: 
     | 
| 
      
 7 
     | 
    
         
            +
            authors:
         
     | 
| 
       13 
8 
     | 
    
         
             
            - Jeremy Hinegardner
         
     | 
| 
       14 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       15 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       16 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            dependencies: 
         
     | 
| 
       21 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-02-09 00:00:00.000000000 Z
         
     | 
| 
      
 13 
     | 
    
         
            +
            dependencies:
         
     | 
| 
      
 14 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
       22 
15 
     | 
    
         
             
              name: rake
         
     | 
| 
      
 16 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 17 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 18 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 19 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 20 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 21 
     | 
    
         
            +
                    version: 10.0.3
         
     | 
| 
      
 22 
     | 
    
         
            +
              type: :development
         
     | 
| 
       23 
23 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       24 
     | 
    
         
            -
               
     | 
| 
      
 24 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       25 
25 
     | 
    
         
             
                none: false
         
     | 
| 
       26 
     | 
    
         
            -
                requirements: 
     | 
| 
      
 26 
     | 
    
         
            +
                requirements:
         
     | 
| 
       27 
27 
     | 
    
         
             
                - - ~>
         
     | 
| 
       28 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
       29 
     | 
    
         
            -
                     
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
             
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
      
 28 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 29 
     | 
    
         
            +
                    version: 10.0.3
         
     | 
| 
      
 30 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 31 
     | 
    
         
            +
              name: rspec
         
     | 
| 
      
 32 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 33 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 34 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 35 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 37 
     | 
    
         
            +
                    version: 2.12.0
         
     | 
| 
       35 
38 
     | 
    
         
             
              type: :development
         
     | 
| 
       36 
     | 
    
         
            -
              version_requirements: *id001
         
     | 
| 
       37 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       38 
     | 
    
         
            -
              name: configuration
         
     | 
| 
       39 
39 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       40 
     | 
    
         
            -
               
     | 
| 
      
 40 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 41 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 42 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 43 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 44 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 45 
     | 
    
         
            +
                    version: 2.12.0
         
     | 
| 
      
 46 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 47 
     | 
    
         
            +
              name: rdoc
         
     | 
| 
      
 48 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       41 
49 
     | 
    
         
             
                none: false
         
     | 
| 
       42 
     | 
    
         
            -
                requirements: 
     | 
| 
      
 50 
     | 
    
         
            +
                requirements:
         
     | 
| 
       43 
51 
     | 
    
         
             
                - - ~>
         
     | 
| 
       44 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
       45 
     | 
    
         
            -
                     
     | 
| 
       46 
     | 
    
         
            -
                    segments: 
         
     | 
| 
       47 
     | 
    
         
            -
                    - 0
         
     | 
| 
       48 
     | 
    
         
            -
                    - 0
         
     | 
| 
       49 
     | 
    
         
            -
                    - 5
         
     | 
| 
       50 
     | 
    
         
            -
                    version: 0.0.5
         
     | 
| 
      
 52 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 53 
     | 
    
         
            +
                    version: '3.12'
         
     | 
| 
       51 
54 
     | 
    
         
             
              type: :development
         
     | 
| 
       52 
     | 
    
         
            -
              version_requirements: *id002
         
     | 
| 
       53 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       54 
     | 
    
         
            -
              name: json
         
     | 
| 
       55 
55 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       56 
     | 
    
         
            -
               
     | 
| 
      
 56 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       57 
57 
     | 
    
         
             
                none: false
         
     | 
| 
       58 
     | 
    
         
            -
                requirements: 
     | 
| 
      
 58 
     | 
    
         
            +
                requirements:
         
     | 
| 
       59 
59 
     | 
    
         
             
                - - ~>
         
     | 
| 
       60 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
       61 
     | 
    
         
            -
                     
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
      
 60 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 61 
     | 
    
         
            +
                    version: '3.12'
         
     | 
| 
      
 62 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 63 
     | 
    
         
            +
              name: json
         
     | 
| 
      
 64 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 65 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 66 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 67 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 68 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 69 
     | 
    
         
            +
                    version: 1.7.6
         
     | 
| 
       67 
70 
     | 
    
         
             
              type: :development
         
     | 
| 
       68 
     | 
    
         
            -
              version_requirements: *id003
         
     | 
| 
       69 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       70 
     | 
    
         
            -
              name: rake-compiler
         
     | 
| 
       71 
71 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       72 
     | 
    
         
            -
               
     | 
| 
      
 72 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 73 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 74 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 75 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 77 
     | 
    
         
            +
                    version: 1.7.6
         
     | 
| 
      
 78 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 79 
     | 
    
         
            +
              name: rake-compiler
         
     | 
| 
      
 80 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       73 
81 
     | 
    
         
             
                none: false
         
     | 
| 
       74 
     | 
    
         
            -
                requirements: 
     | 
| 
      
 82 
     | 
    
         
            +
                requirements:
         
     | 
| 
       75 
83 
     | 
    
         
             
                - - ~>
         
     | 
| 
       76 
     | 
    
         
            -
                  - !ruby/object:Gem::Version 
     | 
| 
       77 
     | 
    
         
            -
                     
     | 
| 
       78 
     | 
    
         
            -
                    segments: 
         
     | 
| 
       79 
     | 
    
         
            -
                    - 0
         
     | 
| 
       80 
     | 
    
         
            -
                    - 5
         
     | 
| 
       81 
     | 
    
         
            -
                    - 0
         
     | 
| 
       82 
     | 
    
         
            -
                    version: 0.5.0
         
     | 
| 
      
 84 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 85 
     | 
    
         
            +
                    version: 0.8.1
         
     | 
| 
       83 
86 
     | 
    
         
             
              type: :development
         
     | 
| 
       84 
     | 
    
         
            -
               
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
       87 
     | 
    
         
            -
             
     | 
| 
       88 
     | 
    
         
            -
             
     | 
| 
       89 
     | 
    
         
            -
             
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
             
     | 
| 
       92 
     | 
    
         
            -
               
     | 
| 
       93 
     | 
    
         
            -
               
     | 
| 
       94 
     | 
    
         
            -
              *  
     | 
| 
       95 
     | 
    
         
            -
              
         
     | 
| 
       96 
     | 
    
         
            -
               
     | 
| 
       97 
     | 
    
         
            -
               
     | 
| 
       98 
     | 
    
         
            -
              using +Process.times+.
         
     | 
| 
      
 87 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 88 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 89 
     | 
    
         
            +
                none: false
         
     | 
| 
      
 90 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 91 
     | 
    
         
            +
                - - ~>
         
     | 
| 
      
 92 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 93 
     | 
    
         
            +
                    version: 0.8.1
         
     | 
| 
      
 94 
     | 
    
         
            +
            description: ! 'Hitimes is a fast, high resolution timer library for recording performance
         
     | 
| 
      
 95 
     | 
    
         
            +
              metrics.  It uses the appropriate low method calls for each system to get the highest
         
     | 
| 
      
 96 
     | 
    
         
            +
              granularity time increments possible.   It currently supports any of the following
         
     | 
| 
      
 97 
     | 
    
         
            +
              systems: * any system with the POSIX call <tt>clock_gettime()</tt>, * Mac OS X *
         
     | 
| 
      
 98 
     | 
    
         
            +
              Windows * JRuby Using Hitimes can be faster than using a series of +Time.new+ calls,
         
     | 
| 
      
 99 
     | 
    
         
            +
              and it will have a much higher granularity.   It is definitely faster than using
         
     | 
| 
      
 100 
     | 
    
         
            +
              +Process.times+.'
         
     | 
| 
       99 
101 
     | 
    
         
             
            email: jeremy@copiousfreetime.org
         
     | 
| 
       100 
102 
     | 
    
         
             
            executables: []
         
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
       104 
     | 
    
         
            -
             
     | 
| 
       105 
     | 
    
         
            -
            -  
     | 
| 
       106 
     | 
    
         
            -
            -  
     | 
| 
      
 103 
     | 
    
         
            +
            extensions:
         
     | 
| 
      
 104 
     | 
    
         
            +
            - ext/hitimes/c/extconf.rb
         
     | 
| 
      
 105 
     | 
    
         
            +
            extra_rdoc_files:
         
     | 
| 
      
 106 
     | 
    
         
            +
            - HISTORY.rdoc
         
     | 
| 
      
 107 
     | 
    
         
            +
            - Manifest.txt
         
     | 
| 
      
 108 
     | 
    
         
            +
            - README.rdoc
         
     | 
| 
      
 109 
     | 
    
         
            +
            files:
         
     | 
| 
      
 110 
     | 
    
         
            +
            - CONTRIBUTING.md
         
     | 
| 
      
 111 
     | 
    
         
            +
            - HISTORY.rdoc
         
     | 
| 
       107 
112 
     | 
    
         
             
            - LICENSE
         
     | 
| 
       108 
     | 
    
         
            -
            -  
     | 
| 
       109 
     | 
    
         
            -
            -  
     | 
| 
       110 
     | 
    
         
            -
            -  
     | 
| 
       111 
     | 
    
         
            -
            - lib/hitimes/stats.rb
         
     | 
| 
       112 
     | 
    
         
            -
            - lib/hitimes/timed_metric.rb
         
     | 
| 
       113 
     | 
    
         
            -
            - lib/hitimes/timed_value_metric.rb
         
     | 
| 
       114 
     | 
    
         
            -
            - lib/hitimes/value_metric.rb
         
     | 
| 
       115 
     | 
    
         
            -
            - lib/hitimes/version.rb
         
     | 
| 
       116 
     | 
    
         
            -
            - lib/hitimes.rb
         
     | 
| 
       117 
     | 
    
         
            -
            files: 
         
     | 
| 
      
 113 
     | 
    
         
            +
            - Manifest.txt
         
     | 
| 
      
 114 
     | 
    
         
            +
            - README.rdoc
         
     | 
| 
      
 115 
     | 
    
         
            +
            - Rakefile
         
     | 
| 
       118 
116 
     | 
    
         
             
            - examples/benchmarks.rb
         
     | 
| 
       119 
117 
     | 
    
         
             
            - examples/stats.rb
         
     | 
| 
       120 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       121 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       122 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       123 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       124 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       125 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
       126 
     | 
    
         
            -
            - ext/hitimes/hitimes_interval.h
         
     | 
| 
       127 
     | 
    
         
            -
            - ext/hitimes/hitimes_stats. 
     | 
| 
       128 
     | 
    
         
            -
            - ext/hitimes/ 
     | 
| 
      
 118 
     | 
    
         
            +
            - ext/hitimes/c/extconf.rb
         
     | 
| 
      
 119 
     | 
    
         
            +
            - ext/hitimes/c/hitimes.c
         
     | 
| 
      
 120 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_instant_clock_gettime.c
         
     | 
| 
      
 121 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_instant_osx.c
         
     | 
| 
      
 122 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_instant_windows.c
         
     | 
| 
      
 123 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_interval.c
         
     | 
| 
      
 124 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_interval.h
         
     | 
| 
      
 125 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_stats.c
         
     | 
| 
      
 126 
     | 
    
         
            +
            - ext/hitimes/c/hitimes_stats.h
         
     | 
| 
      
 127 
     | 
    
         
            +
            - ext/hitimes/java/src/hitimes/Hitimes.java
         
     | 
| 
      
 128 
     | 
    
         
            +
            - ext/hitimes/java/src/hitimes/HitimesInterval.java
         
     | 
| 
      
 129 
     | 
    
         
            +
            - ext/hitimes/java/src/hitimes/HitimesService.java
         
     | 
| 
      
 130 
     | 
    
         
            +
            - ext/hitimes/java/src/hitimes/HitimesStats.java
         
     | 
| 
      
 131 
     | 
    
         
            +
            - lib/hitimes.rb
         
     | 
| 
       129 
132 
     | 
    
         
             
            - lib/hitimes/metric.rb
         
     | 
| 
       130 
133 
     | 
    
         
             
            - lib/hitimes/mutexed_stats.rb
         
     | 
| 
       131 
134 
     | 
    
         
             
            - lib/hitimes/paths.rb
         
     | 
| 
         @@ -134,7 +137,7 @@ files: 
     | 
|
| 
       134 
137 
     | 
    
         
             
            - lib/hitimes/timed_value_metric.rb
         
     | 
| 
       135 
138 
     | 
    
         
             
            - lib/hitimes/value_metric.rb
         
     | 
| 
       136 
139 
     | 
    
         
             
            - lib/hitimes/version.rb
         
     | 
| 
       137 
     | 
    
         
            -
            -  
     | 
| 
      
 140 
     | 
    
         
            +
            - spec/hitimes_spec.rb
         
     | 
| 
       138 
141 
     | 
    
         
             
            - spec/interval_spec.rb
         
     | 
| 
       139 
142 
     | 
    
         
             
            - spec/metric_spec.rb
         
     | 
| 
       140 
143 
     | 
    
         
             
            - spec/mutex_stats_spec.rb
         
     | 
| 
         @@ -145,55 +148,48 @@ files: 
     | 
|
| 
       145 
148 
     | 
    
         
             
            - spec/timed_value_metric_spec.rb
         
     | 
| 
       146 
149 
     | 
    
         
             
            - spec/value_metric_spec.rb
         
     | 
| 
       147 
150 
     | 
    
         
             
            - spec/version_spec.rb
         
     | 
| 
       148 
     | 
    
         
            -
            -  
     | 
| 
       149 
     | 
    
         
            -
            - HISTORY
         
     | 
| 
       150 
     | 
    
         
            -
            - LICENSE
         
     | 
| 
       151 
     | 
    
         
            -
            - tasks/announce.rake
         
     | 
| 
       152 
     | 
    
         
            -
            - tasks/distribution.rake
         
     | 
| 
       153 
     | 
    
         
            -
            - tasks/documentation.rake
         
     | 
| 
      
 151 
     | 
    
         
            +
            - tasks/default.rake
         
     | 
| 
       154 
152 
     | 
    
         
             
            - tasks/extension.rake
         
     | 
| 
       155 
     | 
    
         
            -
            - tasks/ 
     | 
| 
       156 
     | 
    
         
            -
             
     | 
| 
       157 
     | 
    
         
            -
            - tasks/config.rb
         
     | 
| 
       158 
     | 
    
         
            -
            - tasks/utils.rb
         
     | 
| 
       159 
     | 
    
         
            -
            - Rakefile
         
     | 
| 
       160 
     | 
    
         
            -
            - gemspec.rb
         
     | 
| 
       161 
     | 
    
         
            -
            has_rdoc: true
         
     | 
| 
       162 
     | 
    
         
            -
            homepage: http://copiousfreetime.rubyforge.org/hitimes/
         
     | 
| 
      
 153 
     | 
    
         
            +
            - tasks/this.rb
         
     | 
| 
      
 154 
     | 
    
         
            +
            homepage: http://github.com/copiousfreetime/hitimes
         
     | 
| 
       163 
155 
     | 
    
         
             
            licenses: []
         
     | 
| 
       164 
     | 
    
         
            -
             
     | 
| 
       165 
156 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       166 
     | 
    
         
            -
            rdoc_options: 
     | 
| 
       167 
     | 
    
         
            -
            - --line-numbers
         
     | 
| 
      
 157 
     | 
    
         
            +
            rdoc_options:
         
     | 
| 
       168 
158 
     | 
    
         
             
            - --main
         
     | 
| 
       169 
     | 
    
         
            -
            - README
         
     | 
| 
       170 
     | 
    
         
            -
             
     | 
| 
      
 159 
     | 
    
         
            +
            - README.rdoc
         
     | 
| 
      
 160 
     | 
    
         
            +
            - --markup
         
     | 
| 
      
 161 
     | 
    
         
            +
            - tomdoc
         
     | 
| 
      
 162 
     | 
    
         
            +
            require_paths:
         
     | 
| 
       171 
163 
     | 
    
         
             
            - lib
         
     | 
| 
       172 
     | 
    
         
            -
             
     | 
| 
       173 
     | 
    
         
            -
            required_ruby_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 164 
     | 
    
         
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       174 
165 
     | 
    
         
             
              none: false
         
     | 
| 
       175 
     | 
    
         
            -
              requirements: 
     | 
| 
       176 
     | 
    
         
            -
              - -  
     | 
| 
       177 
     | 
    
         
            -
                - !ruby/object:Gem::Version 
     | 
| 
       178 
     | 
    
         
            -
                   
     | 
| 
       179 
     | 
    
         
            -
             
     | 
| 
       180 
     | 
    
         
            -
                  - 0
         
     | 
| 
       181 
     | 
    
         
            -
                  version: "0"
         
     | 
| 
       182 
     | 
    
         
            -
            required_rubygems_version: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 166 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 167 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 168 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 169 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
      
 170 
     | 
    
         
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       183 
171 
     | 
    
         
             
              none: false
         
     | 
| 
       184 
     | 
    
         
            -
              requirements: 
     | 
| 
       185 
     | 
    
         
            -
              - -  
     | 
| 
       186 
     | 
    
         
            -
                - !ruby/object:Gem::Version 
     | 
| 
       187 
     | 
    
         
            -
                   
     | 
| 
       188 
     | 
    
         
            -
                  segments: 
         
     | 
| 
       189 
     | 
    
         
            -
                  - 0
         
     | 
| 
       190 
     | 
    
         
            -
                  version: "0"
         
     | 
| 
      
 172 
     | 
    
         
            +
              requirements:
         
     | 
| 
      
 173 
     | 
    
         
            +
              - - ! '>='
         
     | 
| 
      
 174 
     | 
    
         
            +
                - !ruby/object:Gem::Version
         
     | 
| 
      
 175 
     | 
    
         
            +
                  version: '0'
         
     | 
| 
       191 
176 
     | 
    
         
             
            requirements: []
         
     | 
| 
       192 
     | 
    
         
            -
             
     | 
| 
       193 
     | 
    
         
            -
             
     | 
| 
       194 
     | 
    
         
            -
            rubygems_version: 1.3.7
         
     | 
| 
      
 177 
     | 
    
         
            +
            rubyforge_project: 
         
     | 
| 
      
 178 
     | 
    
         
            +
            rubygems_version: 1.8.25
         
     | 
| 
       195 
179 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       196 
180 
     | 
    
         
             
            specification_version: 3
         
     | 
| 
       197 
     | 
    
         
            -
            summary: Hitimes is a fast, high resolution timer library for recording performance 
     | 
| 
       198 
     | 
    
         
            -
             
     | 
| 
       199 
     | 
    
         
            -
             
     | 
| 
      
 181 
     | 
    
         
            +
            summary: Hitimes is a fast, high resolution timer library for recording performance
         
     | 
| 
      
 182 
     | 
    
         
            +
              metrics.  It uses the appropriate low method calls for each system to get the highest
         
     | 
| 
      
 183 
     | 
    
         
            +
              granularity time increments possible.
         
     | 
| 
      
 184 
     | 
    
         
            +
            test_files:
         
     | 
| 
      
 185 
     | 
    
         
            +
            - spec/hitimes_spec.rb
         
     | 
| 
      
 186 
     | 
    
         
            +
            - spec/interval_spec.rb
         
     | 
| 
      
 187 
     | 
    
         
            +
            - spec/metric_spec.rb
         
     | 
| 
      
 188 
     | 
    
         
            +
            - spec/mutex_stats_spec.rb
         
     | 
| 
      
 189 
     | 
    
         
            +
            - spec/paths_spec.rb
         
     | 
| 
      
 190 
     | 
    
         
            +
            - spec/spec_helper.rb
         
     | 
| 
      
 191 
     | 
    
         
            +
            - spec/stats_spec.rb
         
     | 
| 
      
 192 
     | 
    
         
            +
            - spec/timed_metric_spec.rb
         
     | 
| 
      
 193 
     | 
    
         
            +
            - spec/timed_value_metric_spec.rb
         
     | 
| 
      
 194 
     | 
    
         
            +
            - spec/value_metric_spec.rb
         
     | 
| 
      
 195 
     | 
    
         
            +
            - spec/version_spec.rb
         
     |