require 'helper'

module Gemsurance
  class GemInfoRetrieverTest < Test::Unit::TestCase
    def test_gem_info_functionality
      current_gem_info = GemInfoRetriever::GemInfo.new('current_gem', Gem::Version.new('3.0.2'), Gem::Version.new('3.0.2'), false, nil, nil, nil)
      assert current_gem_info.current?
      assert ! current_gem_info.outdated?
      assert ! current_gem_info.vulnerable?
      assert_equal 'current_gem', current_gem_info.name
      assert_equal Gem::Version.new('3.0.2'), current_gem_info.current_version
      assert_equal Gem::Version.new('3.0.2'), current_gem_info.newest_version
      assert_equal [], current_gem_info.vulnerabilities

      outdated_gem_info = GemInfoRetriever::GemInfo.new('old_gem', Gem::Version.new('2.0.7'), Gem::Version.new('5.1.2'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_OUTDATED)
      assert ! outdated_gem_info.current?
      assert outdated_gem_info.outdated?
      assert ! outdated_gem_info.vulnerable?
      assert_equal 'old_gem', outdated_gem_info.name
      assert_equal Gem::Version.new('2.0.7'), outdated_gem_info.current_version
      assert_equal Gem::Version.new('5.1.2'), outdated_gem_info.newest_version
      assert_equal [], outdated_gem_info.vulnerabilities

      vulnerable_gem_info = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('4.5.3'), Gem::Version.new('4.5.4'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      vulnerability = Vulnerability.new(vulnerability_yaml)
      vulnerable_gem_info.add_vulnerability!(vulnerability)
      assert ! vulnerable_gem_info.current?
      assert ! vulnerable_gem_info.outdated?
      assert vulnerable_gem_info.vulnerable?
      assert_equal 'vulnerable_gem', vulnerable_gem_info.name
      assert_equal Gem::Version.new('4.5.3'), vulnerable_gem_info.current_version
      assert_equal Gem::Version.new('4.5.4'), vulnerable_gem_info.newest_version
      assert_equal [vulnerability], vulnerable_gem_info.vulnerabilities
    end

    def test_gem_info_uris
      current_gem_info = GemInfoRetriever::GemInfo.new('current_gem', Gem::Version.new('3.0.2'), Gem::Version.new('3.0.2'), false, 'http://homepage.com', 'http://source.com', 'http://documentation.com')
      assert_equal 'http://homepage.com', current_gem_info.homepage_uri
      assert_equal 'http://source.com', current_gem_info.source_code_uri
      assert_equal 'http://documentation.com', current_gem_info.documentation_uri
    end

    def test_gem_info_equality
      vulnerability = Vulnerability.new(vulnerability_yaml)
      gem_info_1 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      gem_info_1.add_vulnerability!(vulnerability)

      gem_info_2 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      gem_info_2.add_vulnerability!(vulnerability)

      assert_equal gem_info_1, gem_info_2

      gem_info_3 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      assert_not_equal gem_info_2, gem_info_3

      gem_info_4 = GemInfoRetriever::GemInfo.new('foo', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      assert_not_equal gem_info_2, gem_info_4

      gem_info_5 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.4'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      assert_not_equal gem_info_2, gem_info_5

      gem_info_6 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.7'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_VULNERABLE)
      assert_not_equal gem_info_2, gem_info_6

      gem_info_7 = GemInfoRetriever::GemInfo.new('vulnerable_gem', Gem::Version.new('1.2.3'), Gem::Version.new('4.5.6'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_CURRENT)
      assert_not_equal gem_info_2, gem_info_7
    end

    def test_retrieve
      current_specs = Bundler::SpecSet.new([Gem::Specification.new('rake', '0.9.2.2'),
                                            Gem::Specification.new('bundler', '1.3.5')])
      index = Bundler::Index.new
      rake_versions = %w(0.9.2 0.9.2.1 0.9.2.2 10.0.1 10.0.2 10.0.3pre)
      rake_versions.each do |version|
        index << Gem::Specification.new('rake', version)
      end
      bundler_versions = %w(1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.3 1.3.5 1.3.6pre)
      bundler_versions.each do |version|
        index << Gem::Specification.new('bundler', version)
      end

      definition_mock = mock
      definition_mock.stubs(:index).returns(index)

      retriever = GemInfoRetriever.new(current_specs, [], definition_mock)
      gems = retriever.retrieve
      assert_equal [
        GemInfoRetriever::GemInfo.new('rake', Gem::Version.new('0.9.2.2'), Gem::Version.new('10.0.2'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_OUTDATED),
        GemInfoRetriever::GemInfo.new('bundler', Gem::Version.new('1.3.5'), Gem::Version.new('1.3.5'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_CURRENT)
      ], gems

      gems_with_prerelease = retriever.retrieve(:pre => true)
      assert_equal [
        GemInfoRetriever::GemInfo.new('rake', Gem::Version.new('0.9.2.2'), Gem::Version.new('10.0.3pre'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_OUTDATED),
        GemInfoRetriever::GemInfo.new('bundler', Gem::Version.new('1.3.5'), Gem::Version.new('1.3.6pre'), false, nil, nil, nil, GemInfoRetriever::GemInfo::STATUS_OUTDATED)
      ], gems_with_prerelease
    end

  private

    def vulnerability_yaml
<<-YAML
---
gem: vulnerable_gem
cve: 2013-9999
osvdb: 9999999999
url: http://example.org/12345
title: |
  Terrible Vulnerability

description: |
  This gem is like swiss cheese when it comes to security vulnerabilities

cvss_v2: 10.0

patched_versions:
  - ~> 4.5.4
YAML
    end
  end

  def specs_yaml
<<-YAML
"--- !ruby/object:Bundler::SpecSet  lookup:  sorted:  specs:  - !ruby/object:Gem::Specification    name: actionpack   version: !ruby/object:Gem::Version      hash: 21     prerelease:      segments:      - 3     - 1     - 11     version: 3.1.11   platform: ruby   authors:    - David Heinemeier Hansson   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-11 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id001 !ruby/object:Gem::Requirement        none: false       requirements:        - - "="         - !ruby/object:Gem::Version            hash: 21           segments:            - 3           - 1           - 11           version: 3.1.11     name: activesupport     prerelease: false     version_requirements: *id001   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id002 !ruby/object:Gem::Requirement        none: false       requirements:        - - "="         - !ruby/object:Gem::Version            hash: 21           segments:            - 3           - 1           - 11           version: 3.1.11     name: activemodel     prerelease: false     version_requirements: *id002   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id003 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 11           segments:            - 1           - 2           version: "1.2"     name: rack-cache     prerelease: false     version_requirements: *id003   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id004 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 3           - 0           - 0           version: 3.0.0     name: builder     prerelease: false     version_requirements: *id004   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id005 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 0           - 6           version: "0.6"     name: i18n     prerelease: false     version_requirements: *id005   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id006 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 23           segments:            - 1           - 3           - 6           version: 1.3.6     name: rack     prerelease: false     version_requirements: *id006   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id007 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 5           segments:            - 0           - 6           - 1           version: 0.6.1     name: rack-test     prerelease: false     version_requirements: *id007   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id008 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 59           segments:            - 0           - 8           - 2           version: 0.8.2     name: rack-mount     prerelease: false     version_requirements: *id008   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id009 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 2           - 0           - 4           version: 2.0.4     name: sprockets     prerelease: false     version_requirements: *id009   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id010 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 19           segments:            - 2           - 7           - 0           version: 2.7.0     name: erubis     prerelease: false     version_requirements: *id010   - !ruby/object:Gem::Dependency      type: :development     requirement: &id011 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 41           segments:            - 0           - 3           - 29           version: 0.3.29     name: tzinfo     prerelease: false     version_requirements: *id011   description: Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server.   email: david@loudthinking.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://www.rubyonrails.org   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements:    - none   rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 4   summary: Web-flow and rendering framework putting the VC in MVC (part of Rails).   test_files: []  - !ruby/object:Gem::Specification    name: activemodel   version: !ruby/object:Gem::Version      hash: 21     prerelease:      segments:      - 3     - 1     - 11     version: 3.1.11   platform: ruby   authors:    - David Heinemeier Hansson   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-11 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id012 !ruby/object:Gem::Requirement        none: false       requirements:        - - "="         - !ruby/object:Gem::Version            hash: 21           segments:            - 3           - 1           - 11           version: 3.1.11     name: activesupport     prerelease: false     version_requirements: *id012   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id013 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 3           - 0           - 0           version: 3.0.0     name: builder     prerelease: false     version_requirements: *id013   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id014 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 0           - 6           version: "0.6"     name: i18n     prerelease: false     version_requirements: *id014   description: A toolkit for building modeling frameworks like Active Record and Active Resource. Rich support for attributes, callbacks, validations, observers, serialization, internationalization, and testing.   email: david@loudthinking.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://www.rubyonrails.org   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 4   summary: A toolkit for building modeling frameworks (part of Rails).   test_files: []  - !ruby/object:Gem::Specification    name: activesupport   version: !ruby/object:Gem::Version      hash: 21     prerelease:      segments:      - 3     - 1     - 11     version: 3.1.11   platform: ruby   authors:    - David Heinemeier Hansson   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-11 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id015 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: multi_json     prerelease: false     version_requirements: *id015   description: A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing.   email: david@loudthinking.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://www.rubyonrails.org   licenses: []    post_install_message:    rdoc_options:    - --encoding   - UTF-8   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 4   summary: A toolkit of support libraries and Ruby core extensions extracted from the Rails framework.   test_files: []  - !ruby/object:Gem::Specification    name: bcrypt-ruby   version: !ruby/object:Gem::Version      hash: 5     prerelease:      segments:      - 3     - 0     - 1     version: 3.0.1   platform: ruby   authors:    - Coda Hale   autorequire:    bindir: bin   cert_chain: []    date: 2011-09-12 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id016 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rake-compiler     prerelease: false     version_requirements: *id016   - !ruby/object:Gem::Dependency      type: :development     requirement: &id017 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rspec     prerelease: false     version_requirements: *id017   description: "    bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project\n    for hashing passwords. bcrypt-ruby provides a simple, humane wrapper for safely handling\n    passwords.\n"   email: coda.hale@gmail.com   executables: []    extensions:    - ext/mri/extconf.rb   extra_rdoc_files:    - README.md   - COPYING   - CHANGELOG   - lib/bcrypt.rb   - lib/bcrypt_engine.rb   files:    - README.md   - COPYING   - CHANGELOG   - lib/bcrypt.rb   - lib/bcrypt_engine.rb   - ext/mri/extconf.rb   homepage: http://bcrypt-ruby.rubyforge.org   licenses: []    post_install_message:    rdoc_options:    - --title   - bcrypt-ruby   - --line-numbers   - --inline-source   - --main   - README.md   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: &id018        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: bcrypt-ruby   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: OpenBSD's bcrypt() password hashing algorithm.   test_files: []  - !ruby/object:Gem::Specification    name: builder   version: !ruby/object:Gem::Version      hash: 15     prerelease:      segments:      - 3     - 0     - 4     version: 3.0.4   platform: ruby   authors:    - Jim Weirich   autorequire:    bindir: bin   cert_chain: []    date: 2012-10-16 00:00:00 Z   dependencies: []    description: |     Builder provides a number of builder objects that make creating structured data     simple to do.  Currently the following builder objects are supported:          * XML Markup     * XML Events    email: jim.weirich@gmail.com   executables: []    extensions: []    extra_rdoc_files:    - CHANGES   - MIT-LICENSE   - Rakefile   - README.rdoc   - doc/releases/builder-1.2.4.rdoc   - doc/releases/builder-2.0.0.rdoc   - doc/releases/builder-2.1.1.rdoc   files:    - CHANGES   - MIT-LICENSE   - Rakefile   - README.rdoc   - doc/releases/builder-1.2.4.rdoc   - doc/releases/builder-2.0.0.rdoc   - doc/releases/builder-2.1.1.rdoc   homepage: http://onestepback.org   licenses:    - MIT   post_install_message:    rdoc_options:    - --title   - Builder -- Easy XML Building   - --main   - README.rdoc   - --line-numbers   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Builders for MarkUp.   test_files: []  - !ruby/object:Gem::Specification    name: devise   version: !ruby/object:Gem::Version      hash: 5     prerelease:      segments:      - 2     - 0     - 5     version: 2.0.5   platform: ruby   authors:    - "Jos\xC3\xA9 Valim"   - "Carlos Ant\xC3\xB4nio"   autorequire:    bindir: bin   cert_chain: []    date: 2013-01-26 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id019 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 17           segments:            - 1           - 1           - 1           version: 1.1.1     name: warden     prerelease: false     version_requirements: *id019   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id020 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 25           segments:            - 0           - 0           - 3           version: 0.0.3     name: orm_adapter     prerelease: false     version_requirements: *id020   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id021 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 3           - 0           version: "3.0"     name: bcrypt-ruby     prerelease: false     version_requirements: *id021   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id022 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 5           segments:            - 3           - 1           version: "3.1"     name: railties     prerelease: false     version_requirements: *id022   description: Flexible authentication solution for Rails with Warden   email: contact@plataformatec.com.br   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://github.com/plataformatec/devise   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: devise   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Flexible authentication solution for Rails with Warden   test_files: []  - !ruby/object:Gem::Specification    name: erubis   version: !ruby/object:Gem::Version      hash: 19     prerelease:      segments:      - 2     - 7     - 0     version: 2.7.0   platform: ruby   authors:    - makoto kuwata   autorequire:    bindir: bin   cert_chain: []    date: 2011-04-01 00:00:00 Z   dependencies: []    description: "  Erubis is an implementation of eRuby and has the following features:\n\n  * Very fast, almost three times faster than ERB and about 10% faster than eruby.\n  * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript)\n  * Auto escaping support\n  * Auto trimming spaces around '<% %>'\n  * Embedded pattern changeable (default '<% %>')\n  * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '<?rb ... ?>')\n  * Context object available and easy to combine eRuby template with YAML datafile\n  * Print statement available\n  * Easy to extend and customize in subclass\n  * Ruby on Rails support\n"   email: kwa(at)kuwata-lab.com   executables:    - erubis   extensions: []    extra_rdoc_files: []    files:    - bin/erubis   homepage: http://www.kuwata-lab.com/erubis/   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: erubis   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: a fast and extensible eRuby implementation which supports multi-language   test_files: []  - !ruby/object:Gem::Specification    name: hike   version: !ruby/object:Gem::Version      hash: 29     prerelease:      segments:      - 1     - 2     - 1     version: 1.2.1   platform: ruby   authors:    - Sam Stephenson   autorequire:    bindir: bin   cert_chain: []    date: 2011-08-16 00:00:00 Z   dependencies: []    description: A Ruby library for finding files in a set of paths.   email:    - sstephenson@gmail.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://github.com/sstephenson/hike   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Find files in a set of paths   test_files: []  - !ruby/object:Gem::Specification    name: i18n   version: !ruby/object:Gem::Version      hash: 3     prerelease:      segments:      - 0     - 6     - 2     version: 0.6.2   platform: ruby   authors:    - Sven Fuchs   - Joshua Harvey   - Matt Aimonetti   - Stephan Soller   - Saimon Moore   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-25 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id023 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 7           segments:            - 3           - 0           - 0           version: 3.0.0     name: activesupport     prerelease: false     version_requirements: *id023   - !ruby/object:Gem::Dependency      type: :development     requirement: &id024 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: sqlite3     prerelease: false     version_requirements: *id024   - !ruby/object:Gem::Dependency      type: :development     requirement: &id025 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: mocha     prerelease: false     version_requirements: *id025   - !ruby/object:Gem::Dependency      type: :development     requirement: &id026 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: test_declarative     prerelease: false     version_requirements: *id026   description: New wave Internationalization support for Ruby.   email: rails-i18n@googlegroups.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://github.com/svenfuchs/i18n   licenses:    - MIT   post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 17         segments:          - 1         - 3         - 5         version: 1.3.5   requirements: []    rubyforge_project: "[none]"   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: New wave Internationalization support for Ruby   test_files: []  - !ruby/object:Gem::Specification    name: json   version: !ruby/object:Gem::Version      hash: 5     prerelease:      segments:      - 1     - 7     - 7     version: 1.7.7   platform: ruby   authors:    - Florian Frank   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-11 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id027 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: permutation     prerelease: false     version_requirements: *id027   - !ruby/object:Gem::Dependency      type: :development     requirement: &id028 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 51           segments:            - 0           - 3           - 16           version: 0.3.16     name: sdoc     prerelease: false     version_requirements: *id028   description: This is a JSON implementation as a Ruby extension in C.   email: flori@ping.de   executables: []    extensions:    - ext/json/ext/generator/extconf.rb   - ext/json/ext/parser/extconf.rb   extra_rdoc_files:    - README.rdoc   files:    - README.rdoc   - ext/json/ext/generator/extconf.rb   - ext/json/ext/parser/extconf.rb   homepage: http://flori.github.com/json   licenses:    - Ruby   post_install_message:    rdoc_options:    - --title   - JSON implemention for Ruby   - --main   - README.rdoc   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: JSON Implementation for Ruby   test_files: []  - !ruby/object:Gem::Specification    name: multi_json   version: !ruby/object:Gem::Version      hash: 13     prerelease:      segments:      - 1     - 6     - 1     version: 1.6.1   platform: ruby   authors:    - Michael Bleigh   - Josh Kalderimis   - Erik Michaels-Ober   - Pavel Pravosud   autorequire:    bindir: bin   cert_chain:    - |     -----BEGIN CERTIFICATE-----     MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZzZmVy     aWsxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2NvbTAe     Fw0xMzAyMDMxMDAyMjdaFw0xNDAyMDMxMDAyMjdaMD0xDzANBgNVBAMMBnNmZXJp     azEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB     IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl0x5dx8uKxi7TkrIuyBUTJVB     v1o93nUB9j/y4M96gV2rYwAci1JPBseNd6Fybzjo3YGuHl7EQHuSHNaf1p2lxew/     y60JXIJBBgPcDK/KCP4NUHofm0jfoYD+H5uNJfHCNq7/ZsTxOtE3Ra92s0BCMTpm     wBMMlWR5MtdEhIYuBO4XhnejYgH0L/7BL2lymntVnsr/agdQoojQCN1IQmsRJvrR     duZRO3tZvoIo1pBc4JEehDuqCeyBgPLOqMoKtQlold1TQs1kWUBK7KWMFEhKC/Kg     zyzKRHQo9yDYwOvYngoBLY+T/lwCT4dyssdhzRbfnxAhaKu4SAssIwaC01yVowID     AQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBS0ruDfRak5ci1OpDNX/ZdDEkIs     iTALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQADggEBAHHSMs/MP0sOaLkEv4Jo     zvkm3qn5A6t0vaHx774cmejyMU+5wySxRezspL7ULh9NeuK2OhU+Oe3TpqrAg5TK     R8GQILnVu2FemGA6sAkPDlcPtgA6ieI19PZOF6HVLmc/ID/dP/NgZWWzEeqQKmcK     2+HM+SEEDhZkScYekw4ZOe164ZtZG816oAv5x0pGitSIkumUp7V8iEZ/6ehr7Y9e     XOg4eeun5L/JjmjARoW2kNdvkRD3c2EeSLqWvQRsBlypHfhs6JJuLlyZPGhU3R/v     Sf3lVKpBCWgRpGTvy45XVpB+59y33PJmEuQ1PTEOYvQyao9UKMAAaAN/7qWQtjl0     hlw=     -----END CERTIFICATE-----    date: 2013-02-14 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id029 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: bundler     prerelease: false     version_requirements: *id029   description: A gem to provide easy switching between different JSON backends, including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem, and OkJson.   email:    - michael@intridea.com   - josh.kalderimis@gmail.com   - sferik@gmail.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://github.com/intridea/multi_json   licenses:    - MIT   post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 23         segments:          - 1         - 3         - 6         version: 1.3.6   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: A gem to provide swappable JSON backends.   test_files: []  - !ruby/object:Gem::Specification    name: orm_adapter   version: !ruby/object:Gem::Version      hash: 17     prerelease:      segments:      - 0     - 0     - 7     version: 0.0.7   platform: ruby   authors:    - Ian White   - Jose Valim   autorequire:    bindir: bin   cert_chain: []    date: 2012-03-25 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id030 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 23           segments:            - 1           - 0           - 0           version: 1.0.0     name: bundler     prerelease: false     version_requirements: *id030   - !ruby/object:Gem::Dependency      type: :development     requirement: &id031 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 21           segments:            - 1           - 2           - 5           version: 1.2.5     name: git     prerelease: false     version_requirements: *id031   - !ruby/object:Gem::Dependency      type: :development     requirement: &id032 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 7           segments:            - 0           - 6           - 0           version: 0.6.0     name: yard     prerelease: false     version_requirements: *id032   - !ruby/object:Gem::Dependency      type: :development     requirement: &id033 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 49           segments:            - 0           - 8           - 7           version: 0.8.7     name: rake     prerelease: false     version_requirements: *id033   - !ruby/object:Gem::Dependency      type: :development     requirement: &id034 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 7           segments:            - 3           - 0           - 0           version: 3.0.0     name: activerecord     prerelease: false     version_requirements: *id034   - !ruby/object:Gem::Dependency      type: :development     requirement: &id035 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 62196427           segments:            - 2           - 0           - 0           - beta           - 20           version: 2.0.0.beta.20     name: mongoid     prerelease: false     version_requirements: *id035   - !ruby/object:Gem::Dependency      type: :development     requirement: &id036 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 59           segments:            - 0           - 9           - 0           version: 0.9.0     name: mongo_mapper     prerelease: false     version_requirements: *id036   - !ruby/object:Gem::Dependency      type: :development     requirement: &id037 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 27           segments:            - 1           - 3           - 0           version: 1.3.0     name: bson_ext     prerelease: false     version_requirements: *id037   - !ruby/object:Gem::Dependency      type: :development     requirement: &id038 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 31           segments:            - 2           - 4           - 0           version: 2.4.0     name: rspec     prerelease: false     version_requirements: *id038   - !ruby/object:Gem::Dependency      type: :development     requirement: &id039 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 31           segments:            - 1           - 3           - 2           version: 1.3.2     name: sqlite3-ruby     prerelease: false     version_requirements: *id039   - !ruby/object:Gem::Dependency      type: :development     requirement: &id040 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: datamapper     prerelease: false     version_requirements: *id040   - !ruby/object:Gem::Dependency      type: :development     requirement: &id041 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: dm-sqlite-adapter     prerelease: false     version_requirements: *id041   - !ruby/object:Gem::Dependency      type: :development     requirement: &id042 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: dm-active_model     prerelease: false     version_requirements: *id042   description: Provides a single point of entry for using basic features of ruby ORMs   email: ian.w.white@gmail.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://github.com/ianwhite/orm_adapter   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 23         segments:          - 1         - 3         - 6         version: 1.3.6   requirements: []    rubyforge_project: orm_adapter   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: orm_adapter provides a single point of entry for using basic features of popular ruby ORMs.  Its target audience is gem authors who want to support many ruby ORMs.   test_files: []  - !ruby/object:Gem::Specification    name: rack   version: !ruby/object:Gem::Version      hash: 15     prerelease:      segments:      - 1     - 3     - 10     version: 1.3.10   platform: ruby   authors:    - Christian Neukirchen   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-08 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id043 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: bacon     prerelease: false     version_requirements: *id043   - !ruby/object:Gem::Dependency      type: :development     requirement: &id044 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rake     prerelease: false     version_requirements: *id044   - !ruby/object:Gem::Dependency      type: :development     requirement: &id045 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: fcgi     prerelease: false     version_requirements: *id045   - !ruby/object:Gem::Dependency      type: :development     requirement: &id046 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: memcache-client     prerelease: false     version_requirements: *id046   - !ruby/object:Gem::Dependency      type: :development     requirement: &id047 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 1923831981           segments:            - 1           - 2           - 0           - pre           - 2           version: 1.2.0.pre2     name: mongrel     prerelease: false     version_requirements: *id047   - !ruby/object:Gem::Dependency      type: :development     requirement: &id048 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: thin     prerelease: false     version_requirements: *id048   description: |     Rack provides minimal, modular and adaptable interface for developing     web applications in Ruby.  By wrapping HTTP requests and responses in     the simplest way possible, it unifies and distills the API for web     servers, web frameworks, and software in between (the so-called     middleware) into a single method call.          Also see http://rack.github.com/.    email: chneukirchen@gmail.com   executables:    - rackup   extensions: []    extra_rdoc_files:    - README.rdoc   - KNOWN-ISSUES   files:    - bin/rackup   - README.rdoc   - KNOWN-ISSUES   homepage: http://rack.github.com/   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: rack   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: a modular Ruby webserver interface   test_files: []  - !ruby/object:Gem::Specification    name: rack-cache   version: !ruby/object:Gem::Version      hash: 11     prerelease:      segments:      - 1     - 2     version: "1.2"   platform: ruby   authors:    - Ryan Tomayko   autorequire:    bindir: bin   cert_chain: []    date: 2012-03-05 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id049 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           prerelease:            segments:            - 0           - 4           version: "0.4"     name: rack     prerelease: false     version_requirements: *id049   - !ruby/object:Gem::Dependency      type: :development     requirement: &id050 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: bacon     prerelease: false     version_requirements: *id050   - !ruby/object:Gem::Dependency      type: :development     requirement: &id051 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: memcached     prerelease: false     version_requirements: *id051   - !ruby/object:Gem::Dependency      type: :development     requirement: &id052 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: dalli     prerelease: false     version_requirements: *id052   description: Rack::Cache is suitable as a quick drop-in component to enable HTTP caching for Rack-based applications that produce freshness (Expires, Cache-Control) and/or validation (Last-Modified, ETag) information.   email: r@tomayko.com   executables: []    extensions: []    extra_rdoc_files:    - README   - COPYING   - TODO   - CHANGES   files:    - README   - COPYING   - TODO   - CHANGES   homepage: http://tomayko.com/src/rack-cache/   licenses: []    post_install_message:    rdoc_options:    - --line-numbers   - --inline-source   - --title   - Rack::Cache   - --main   - Rack::Cache   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 2   summary: HTTP Caching for Rack   test_files: []  - !ruby/object:Gem::Specification    name: rack-mount   version: !ruby/object:Gem::Version      hash: 57     prerelease:      segments:      - 0     - 8     - 3     version: 0.8.3   platform: ruby   authors:    - Joshua Peek   autorequire:    bindir: bin   cert_chain: []    date: 2011-08-29 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id053 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 23           segments:            - 1           - 0           - 0           version: 1.0.0     name: rack     prerelease: false     version_requirements: *id053   - !ruby/object:Gem::Dependency      type: :development     requirement: &id054 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: racc     prerelease: false     version_requirements: *id054   - !ruby/object:Gem::Dependency      type: :development     requirement: &id055 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rake     prerelease: false     version_requirements: *id055   - !ruby/object:Gem::Dependency      type: :development     requirement: &id056 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rexical     prerelease: false     version_requirements: *id056   description: "    A stackable dynamic tree based Rack router.\n"   email: josh@joshpeek.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: https://github.com/josh/rack-mount   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Stackable dynamic tree based Rack router   test_files: []  - !ruby/object:Gem::Specification    name: rack-ssl   version: !ruby/object:Gem::Version      hash: 29     prerelease:      segments:      - 1     - 3     - 3     version: 1.3.3   platform: ruby   authors:    - Joshua Peek   autorequire:    bindir: bin   cert_chain: []    date: 2013-01-29 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id057 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           prerelease:            segments:            - 0           version: "0"     name: rack     prerelease: false     version_requirements: *id057   description: "    Rack middleware to force SSL/TLS.\n"   email: josh@joshpeek.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: https://github.com/josh/rack-ssl   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: rack-ssl   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Force SSL/TLS in your app.   test_files: []  - !ruby/object:Gem::Specification    name: rack-test   version: !ruby/object:Gem::Version      hash: 3     prerelease:      segments:      - 0     - 6     - 2     version: 0.6.2   platform: ruby   authors:    - Bryan Helmkamp   autorequire:    bindir: bin   cert_chain: []    date: 2012-09-27 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id058 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 15           prerelease:            segments:            - 1           - 0           version: "1.0"     name: rack     prerelease: false     version_requirements: *id058   description: |-     Rack::Test is a small, simple testing API for Rack apps. It can be used on its     own or as a reusable starting point for Web frameworks and testing libraries     to build on. Most of its initial functionality is an extraction of Merb 1.0's     request helpers feature.   email: bryan@brynary.com   executables: []    extensions: []    extra_rdoc_files:    - README.rdoc   - MIT-LICENSE.txt   files:    - README.rdoc   - MIT-LICENSE.txt   homepage: http://github.com/brynary/rack-test   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: rack-test   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Simple testing API built on Rack   test_files: []  - !ruby/object:Gem::Specification    name: railties   version: !ruby/object:Gem::Version      hash: 21     prerelease:      segments:      - 3     - 1     - 11     version: 3.1.11   platform: ruby   authors:    - David Heinemeier Hansson   autorequire:    bindir: bin   cert_chain: []    date: 2013-02-11 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id059 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 49           segments:            - 0           - 8           - 7           version: 0.8.7     name: rake     prerelease: false     version_requirements: *id059   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id060 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 43           segments:            - 0           - 14           - 6           version: 0.14.6     name: thor     prerelease: false     version_requirements: *id060   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id061 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 31           segments:            - 1           - 3           - 2           version: 1.3.2     name: rack-ssl     prerelease: false     version_requirements: *id061   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id062 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 3           - 4           version: "3.4"     name: rdoc     prerelease: false     version_requirements: *id062   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id063 !ruby/object:Gem::Requirement        none: false       requirements:        - - "="         - !ruby/object:Gem::Version            hash: 21           segments:            - 3           - 1           - 11           version: 3.1.11     name: activesupport     prerelease: false     version_requirements: *id063   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id064 !ruby/object:Gem::Requirement        none: false       requirements:        - - "="         - !ruby/object:Gem::Version            hash: 21           segments:            - 3           - 1           - 11           version: 3.1.11     name: actionpack     prerelease: false     version_requirements: *id064   description: "Rails internals: application bootup, plugins, generators, and rake tasks."   email: david@loudthinking.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://www.rubyonrails.org   licenses: []    post_install_message:    rdoc_options:    - --exclude   - .   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 4   summary: Tools for creating, working with, and running Rails applications.   test_files: []  - !ruby/object:Gem::Specification    name: rake   version: !ruby/object:Gem::Version      hash: 11     prerelease:      segments:      - 0     - 9     - 2     - 2     version: 0.9.2.2   platform: ruby   authors:    - Jim Weirich   autorequire:    bindir: bin   cert_chain: []    date: 2011-10-22 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id065 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 1           segments:            - 2           - 1           version: "2.1"     name: minitest     prerelease: false     version_requirements: *id065   description: Rake is a Make-like program implemented in Ruby. Tasks and dependencies arespecified in standard Ruby syntax.   email: jim@weirichhouse.org   executables:    - rake   extensions: []    extra_rdoc_files:    - README.rdoc   - MIT-LICENSE   - TODO   - CHANGES   - doc/command_line_usage.rdoc   - doc/glossary.rdoc   - doc/proto_rake.rdoc   - doc/rakefile.rdoc   - doc/rational.rdoc   - doc/release_notes/rake-0.4.14.rdoc   - doc/release_notes/rake-0.4.15.rdoc   - doc/release_notes/rake-0.5.0.rdoc   - doc/release_notes/rake-0.5.3.rdoc   - doc/release_notes/rake-0.5.4.rdoc   - doc/release_notes/rake-0.6.0.rdoc   - doc/release_notes/rake-0.7.0.rdoc   - doc/release_notes/rake-0.7.1.rdoc   - doc/release_notes/rake-0.7.2.rdoc   - doc/release_notes/rake-0.7.3.rdoc   - doc/release_notes/rake-0.8.0.rdoc   - doc/release_notes/rake-0.8.2.rdoc   - doc/release_notes/rake-0.8.3.rdoc   - doc/release_notes/rake-0.8.4.rdoc   - doc/release_notes/rake-0.8.5.rdoc   - doc/release_notes/rake-0.8.6.rdoc   - doc/release_notes/rake-0.8.7.rdoc   - doc/release_notes/rake-0.9.0.rdoc   - doc/release_notes/rake-0.9.1.rdoc   - doc/release_notes/rake-0.9.2.rdoc   files:    - bin/rake   - README.rdoc   - MIT-LICENSE   - TODO   - CHANGES   - doc/command_line_usage.rdoc   - doc/glossary.rdoc   - doc/proto_rake.rdoc   - doc/rakefile.rdoc   - doc/rational.rdoc   - doc/release_notes/rake-0.4.14.rdoc   - doc/release_notes/rake-0.4.15.rdoc   - doc/release_notes/rake-0.5.0.rdoc   - doc/release_notes/rake-0.5.3.rdoc   - doc/release_notes/rake-0.5.4.rdoc   - doc/release_notes/rake-0.6.0.rdoc   - doc/release_notes/rake-0.7.0.rdoc   - doc/release_notes/rake-0.7.1.rdoc   - doc/release_notes/rake-0.7.2.rdoc   - doc/release_notes/rake-0.7.3.rdoc   - doc/release_notes/rake-0.8.0.rdoc   - doc/release_notes/rake-0.8.2.rdoc   - doc/release_notes/rake-0.8.3.rdoc   - doc/release_notes/rake-0.8.4.rdoc   - doc/release_notes/rake-0.8.5.rdoc   - doc/release_notes/rake-0.8.6.rdoc   - doc/release_notes/rake-0.8.7.rdoc   - doc/release_notes/rake-0.9.0.rdoc   - doc/release_notes/rake-0.9.1.rdoc   - doc/release_notes/rake-0.9.2.rdoc   homepage: http://rake.rubyforge.org   licenses: []    post_install_message:    rdoc_options:    - --line-numbers   - --show-hash   - --main   - README.rdoc   - --title   - Rake -- Ruby Make   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 59         segments:          - 1         - 8         - 6         version: 1.8.6   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 31         segments:          - 1         - 3         - 2         version: 1.3.2   requirements: []    rubyforge_project: rake   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Ruby based make-like utility.   test_files: []  - !ruby/object:Gem::Specification    name: rdoc   version: !ruby/object:Gem::Version      hash: 51     prerelease:      segments:      - 3     - 12     - 2     version: 3.12.2   platform: ruby   authors:    - Eric Hodel   - Dave Thomas   - Phil Hagelberg   - Tony Strauss   autorequire:    bindir: bin   cert_chain:    - |     -----BEGIN CERTIFICATE-----     MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy     YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu     ZXQwHhcNMTIwMjI4MTc1NDI1WhcNMTMwMjI3MTc1NDI1WjBBMRAwDgYDVQQDDAdk     cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ     FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76     LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J     U5ddZCVywn5nnAQ+Ui7jMW54CYt5/H6f2US6U0hQOjJR6cpfiymgxGdfyTiVcvTm     Gj/okWrQl0NjYOYBpDi+9PPmaH2RmLJu0dB/NylsDnW5j6yN1BEI8MfJRR+HRKZY     mUtgzBwF1V4KIZQ8EuL6I/nHVu07i6IkrpAgxpXUfdJQJi0oZAqXurAV3yTxkFwd     g62YrrW26mDe+pZBzR6bpLE+PmXCzz7UxUq3AE0gPHbiMXie3EFE0oxnsU3lIduh     sCANiQ8BAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW     BBS5k4Z75VSpdM0AclG2UvzFA/VW5DAfBgNVHREEGDAWgRRkcmJyYWluQHNlZ21l     bnQ3Lm5ldDAfBgNVHRIEGDAWgRRkcmJyYWluQHNlZ21lbnQ3Lm5ldDANBgkqhkiG     9w0BAQUFAAOCAQEAPeWzFnrcvC6eVzdlhmjUub2s6qieBkongKRDHQz5MEeQv4LS     SARnoHY+uCAVL/1xGAhmpzqQ3fJGWK9eBacW/e8E5GF9xQcV3mE1bA0WNaiDlX5j     U2aI+ZGSblqvHUCxKBHR1s7UMHsbz1saOmgdRTyPx0juJs68ocbUTeYBLWu9V4KP     zdGAG2JXO2gONg3b4tYDvpBLbry+KOX27iAJulUaH9TiTOULL4ITJVFsK0mYVqmR     Q8Tno9S3e4XGGP1ZWfLrTWEJbavFfhGHut2iMRwfC7s/YILAHNATopaJdH9DNpd1     U81zGHMUBOvz/VGT6wJwYJ3emS2nfA2NOHFfgA==     -----END CERTIFICATE-----    date: 2013-02-25 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id066 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           prerelease:            segments:            - 1           - 4           version: "1.4"     name: json     prerelease: false     version_requirements: *id066   - !ruby/object:Gem::Dependency      type: :development     requirement: &id067 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 29           segments:            - 4           - 3           version: "4.3"     name: minitest     prerelease: false     version_requirements: *id067   - !ruby/object:Gem::Dependency      type: :development     requirement: &id068 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 19           segments:            - 3           - 10           version: "3.10"     name: rdoc     prerelease: false     version_requirements: *id068   - !ruby/object:Gem::Dependency      type: :development     requirement: &id069 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 7           segments:            - 1           - 4           version: "1.4"     name: racc     prerelease: false     version_requirements: *id069   - !ruby/object:Gem::Dependency      type: :development     requirement: &id070 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 11           segments:            - 4           version: "4"     name: ZenTest     prerelease: false     version_requirements: *id070   - !ruby/object:Gem::Dependency      type: :development     requirement: &id071 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 13           segments:            - 3           - 5           version: "3.5"     name: hoe     prerelease: false     version_requirements: *id071   description: |-     RDoc produces HTML and command-line documentation for Ruby projects.  RDoc     includes the +rdoc+ and +ri+ tools for generating and displaying online     documentation.          See RDoc for a description of RDoc's markup and basic use.   email:    - drbrain@segment7.net   - ""   - technomancy@gmail.com   - tony.strauss@designingpatterns.com   executables:    - rdoc   - ri   extensions: []    extra_rdoc_files:    - CVE-2013-0256.rdoc   - DEVELOPERS.rdoc   - History.rdoc   - LEGAL.rdoc   - LICENSE.rdoc   - Manifest.txt   - README.rdoc   - RI.rdoc   - TODO.rdoc   - bin/rdoc   - Rakefile   files:    - bin/rdoc   - bin/ri   - CVE-2013-0256.rdoc   - DEVELOPERS.rdoc   - History.rdoc   - LEGAL.rdoc   - LICENSE.rdoc   - Manifest.txt   - README.rdoc   - RI.rdoc   - TODO.rdoc   - Rakefile   homepage: http://docs.seattlerb.org/rdoc   licenses: []    post_install_message: |     Depending on your version of ruby, you may need to install ruby rdoc/ri data:          <= 1.8.6 : unsupported      = 1.8.7 : gem install rdoc-data; rdoc-data --install      = 1.9.1 : gem install rdoc-data; rdoc-data --install     >= 1.9.2 : nothing to do! Yay!    rdoc_options:    - --main   - README.rdoc   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 9         segments:          - 1         - 3         version: "1.3"   requirements: []    rubyforge_project: rdoc   rubygems_version: 1.8.25   signing_key:    specification_version: 4   summary: RDoc produces HTML and command-line documentation for Ruby projects   test_files: []  - !ruby/object:Gem::Specification    name: sprockets   version: !ruby/object:Gem::Version      hash: 7     prerelease:      segments:      - 2     - 0     - 4     version: 2.0.4   platform: ruby   authors:    - Sam Stephenson   - Joshua Peek   autorequire:    bindir: bin   cert_chain: []    date: 2012-04-26 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id072 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 11           segments:            - 1           - 2           version: "1.2"     name: hike     prerelease: false     version_requirements: *id072   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id073 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: rack     prerelease: false     version_requirements: *id073   - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id074 !ruby/object:Gem::Requirement        none: false       requirements:        - - "!="         - !ruby/object:Gem::Version            hash: 27           segments:            - 1           - 3           - 0           version: 1.3.0       - - ~>         - !ruby/object:Gem::Version            hash: 13           segments:            - 1           - 1           version: "1.1"     name: tilt     prerelease: false     version_requirements: *id074   - !ruby/object:Gem::Dependency      type: :development     requirement: &id075 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 3           segments:            - 2           - 0           version: "2.0"     name: coffee-script     prerelease: false     version_requirements: *id075   - !ruby/object:Gem::Dependency      type: :development     requirement: &id076 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: eco     prerelease: false     version_requirements: *id076   - !ruby/object:Gem::Dependency      type: :development     requirement: &id077 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: ejs     prerelease: false     version_requirements: *id077   - !ruby/object:Gem::Dependency      type: :development     requirement: &id078 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: execjs     prerelease: false     version_requirements: *id078   - !ruby/object:Gem::Dependency      type: :development     requirement: &id079 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: json     prerelease: false     version_requirements: *id079   - !ruby/object:Gem::Dependency      type: :development     requirement: &id080 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rack-test     prerelease: false     version_requirements: *id080   - !ruby/object:Gem::Dependency      type: :development     requirement: &id081 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rake     prerelease: false     version_requirements: *id081   description: Sprockets is a Rack-based asset packaging system that concatenates and serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.   email:    - sstephenson@gmail.com   - josh@joshpeek.com   executables: []    extensions: []    extra_rdoc_files: []    files: []    homepage: http://getsprockets.org/   licenses: []    post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: sprockets   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Rack-based asset packaging system   test_files: []  - !ruby/object:Gem::Specification    name: thor   version: !ruby/object:Gem::Version      hash: 43     prerelease:      segments:      - 0     - 14     - 6     version: 0.14.6   platform: ruby   authors:    - Yehuda Katz   - "Jos\xC3\xA9 Valim"   autorequire:    bindir: bin   cert_chain: []    date: 2010-11-19 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id082 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: bundler     prerelease: false     version_requirements: *id082   - !ruby/object:Gem::Dependency      type: :development     requirement: &id083 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 9           segments:            - 1           - 3           version: "1.3"     name: fakeweb     prerelease: false     version_requirements: *id083   - !ruby/object:Gem::Dependency      type: :development     requirement: &id084 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 9           segments:            - 2           - 5           version: "2.5"     name: rdoc     prerelease: false     version_requirements: *id084   - !ruby/object:Gem::Dependency      type: :development     requirement: &id085 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 27           segments:            - 0           - 8           version: "0.8"     name: rake     prerelease: false     version_requirements: *id085   - !ruby/object:Gem::Dependency      type: :development     requirement: &id086 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 1           segments:            - 2           - 1           version: "2.1"     name: rspec     prerelease: false     version_requirements: *id086   - !ruby/object:Gem::Dependency      type: :development     requirement: &id087 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 13           segments:            - 0           - 3           version: "0.3"     name: simplecov     prerelease: false     version_requirements: *id087   description: A scripting framework that replaces rake, sake and rubigen   email:    - ruby-thor@googlegroups.com   executables:    - rake2thor   - thor   extensions: []    extra_rdoc_files:    - CHANGELOG.rdoc   - LICENSE   - README.md   - Thorfile   files:    - bin/rake2thor   - bin/thor   - CHANGELOG.rdoc   - LICENSE   - README.md   - Thorfile   homepage: http://github.com/wycats/thor   licenses: []    post_install_message:    rdoc_options:    - --charset=UTF-8   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 23         segments:          - 1         - 3         - 6         version: 1.3.6   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: A scripting framework that replaces rake, sake and rubigen   test_files: []  - !ruby/object:Gem::Specification    name: tilt   version: !ruby/object:Gem::Version      hash: 29     prerelease:      segments:      - 1     - 3     - 3     version: 1.3.3   platform: ruby   authors:    - Ryan Tomayko   autorequire:    bindir: bin   cert_chain: []    date: 2011-08-25 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id088 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: contest     prerelease: false     version_requirements: *id088   - !ruby/object:Gem::Dependency      type: :development     requirement: &id089 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: builder     prerelease: false     version_requirements: *id089   - !ruby/object:Gem::Dependency      type: :development     requirement: &id090 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: erubis     prerelease: false     version_requirements: *id090   - !ruby/object:Gem::Dependency      type: :development     requirement: &id091 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 17           segments:            - 2           - 2           - 11           version: 2.2.11     name: haml     prerelease: false     version_requirements: *id091   - !ruby/object:Gem::Dependency      type: :development     requirement: &id092 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: sass     prerelease: false     version_requirements: *id092   - !ruby/object:Gem::Dependency      type: :development     requirement: &id093 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: rdiscount     prerelease: false     version_requirements: *id093   - !ruby/object:Gem::Dependency      type: :development     requirement: &id094 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: liquid     prerelease: false     version_requirements: *id094   - !ruby/object:Gem::Dependency      type: :development     requirement: &id095 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: less     prerelease: false     version_requirements: *id095   - !ruby/object:Gem::Dependency      type: :development     requirement: &id096 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: radius     prerelease: false     version_requirements: *id096   - !ruby/object:Gem::Dependency      type: :development     requirement: &id097 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: nokogiri     prerelease: false     version_requirements: *id097   - !ruby/object:Gem::Dependency      type: :development     requirement: &id098 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: markaby     prerelease: false     version_requirements: *id098   - !ruby/object:Gem::Dependency      type: :development     requirement: &id099 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: coffee-script     prerelease: false     version_requirements: *id099   - !ruby/object:Gem::Dependency      type: :development     requirement: &id100 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: bluecloth     prerelease: false     version_requirements: *id100   - !ruby/object:Gem::Dependency      type: :development     requirement: &id101 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: RedCloth     prerelease: false     version_requirements: *id101   - !ruby/object:Gem::Dependency      type: :development     requirement: &id102 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: maruku     prerelease: false     version_requirements: *id102   - !ruby/object:Gem::Dependency      type: :development     requirement: &id103 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: creole     prerelease: false     version_requirements: *id103   - !ruby/object:Gem::Dependency      type: :development     requirement: &id104 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: kramdown     prerelease: false     version_requirements: *id104   - !ruby/object:Gem::Dependency      type: :development     requirement: &id105 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: redcarpet     prerelease: false     version_requirements: *id105   - !ruby/object:Gem::Dependency      type: :development     requirement: &id106 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: creole     prerelease: false     version_requirements: *id106   - !ruby/object:Gem::Dependency      type: :development     requirement: &id107 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: yajl-ruby     prerelease: false     version_requirements: *id107   - !ruby/object:Gem::Dependency      type: :development     requirement: &id108 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: wikicloth     prerelease: false     version_requirements: *id108   - !ruby/object:Gem::Dependency      type: :development     requirement: &id109 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: redcarpet     prerelease: false     version_requirements: *id109   - !ruby/object:Gem::Dependency      type: :development     requirement: &id110 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 3           segments:            - 0           version: "0"     name: kramdown     prerelease: false     version_requirements: *id110   description: Generic interface to multiple Ruby template engines   email: r@tomayko.com   executables:    - tilt   extensions: []    extra_rdoc_files: []    files:    - bin/tilt   homepage: http://github.com/rtomayko/tilt/   licenses: []    post_install_message:    rdoc_options:    - --line-numbers   - --inline-source   - --title   - Tilt   - --main   - Tilt   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 2   summary: Generic interface to multiple Ruby template engines   test_files: []  - !ruby/object:Gem::Specification    name: warden   version: !ruby/object:Gem::Version      hash: 17     prerelease:      segments:      - 1     - 1     - 1     version: 1.1.1   platform: ruby   authors:    - Daniel Neighman   autorequire:    bindir: bin   cert_chain: []    date: 2011-07-26 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :runtime     requirement: &id111 !ruby/object:Gem::Requirement        none: false       requirements:        - - ">="         - !ruby/object:Gem::Version            hash: 15           segments:            - 1           - 0           version: "1.0"     name: rack     prerelease: false     version_requirements: *id111   description:    email: has.sox@gmail.com   executables: []    extensions: []    extra_rdoc_files:    - LICENSE   - README.textile   files:    - LICENSE   - README.textile   homepage: http://github.com/hassox/warden   licenses: []    post_install_message:    rdoc_options:    - --charset=UTF-8   require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements: *id018   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 3         segments:          - 0         version: "0"   requirements: []    rubyforge_project: warden   rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: Rack middleware that provides authentication for rack applications   test_files: []  - !ruby/object:Gem::Specification    name: bundler   version: !ruby/object:Gem::Version      hash: 17     prerelease:      segments:      - 1     - 3     - 5     version: 1.3.5   platform: ruby   authors:    - "Andr\xC3\xA9 Arko"   - Terence Lee   - Carl Lerche   - Yehuda Katz   autorequire:    bindir: bin   cert_chain: []    date: 2013-04-04 00:00:00 Z   dependencies:    - !ruby/object:Gem::Dependency      type: :development     requirement: &id112 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 5           segments:            - 0           - 7           - 3           version: 0.7.3     name: ronn     prerelease: false     version_requirements: *id112   - !ruby/object:Gem::Dependency      type: :development     requirement: &id113 !ruby/object:Gem::Requirement        none: false       requirements:        - - ~>         - !ruby/object:Gem::Version            hash: 21           segments:            - 2           - 11           version: "2.11"     name: rspec     prerelease: false     version_requirements: *id113   description: Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably   email:    - andre@arko.net   executables:    - bundle   extensions: []    extra_rdoc_files: []    files:    - bin/bundle   homepage: http://gembundler.com   licenses:    - MIT   post_install_message:    rdoc_options: []    require_paths:    - lib   required_ruby_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 57         segments:          - 1         - 8         - 7         version: 1.8.7   required_rubygems_version: !ruby/object:Gem::Requirement      none: false     requirements:      - - ">="       - !ruby/object:Gem::Version          hash: 23         segments:          - 1         - 3         - 6         version: 1.3.6   requirements: []    rubyforge_project:    rubygems_version: 1.8.25   signing_key:    specification_version: 3   summary: The best way to manage your application's dependencies   test_files: []  "
YAML
  end
end
