vcr 2.9.3 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/features/about_these_examples.md +1 -1
- data/features/cassettes/automatic_re_recording.feature +4 -4
- data/features/cassettes/decompress.feature +3 -3
- data/features/cassettes/exclusive.feature +11 -8
- data/features/cassettes/format.feature +135 -32
- data/features/cassettes/naming.feature +2 -2
- data/features/cassettes/no_cassette.feature +4 -4
- data/features/configuration/allow_http_connections_when_no_cassette.feature +6 -3
- data/features/configuration/cassette_library_dir.feature +2 -2
- data/features/configuration/debug_logging.feature +15 -8
- data/features/configuration/filter_sensitive_data.feature +8 -7
- data/features/configuration/hook_into.feature +8 -8
- data/features/configuration/ignore_request.feature +13 -14
- data/features/configuration/preserve_exact_body_bytes.feature +5 -5
- data/features/configuration/uri_parser.feature +15 -11
- data/features/hooks/after_http_request.feature +5 -4
- data/features/hooks/around_http_request.feature +3 -3
- data/features/hooks/before_http_request.feature +4 -2
- data/features/hooks/before_playback.feature +14 -15
- data/features/hooks/before_record.feature +10 -10
- data/features/http_libraries/em_http_request.feature +6 -3
- data/features/http_libraries/net_http.feature +15 -5
- data/features/middleware/faraday.feature +2 -2
- data/features/middleware/rack.feature +4 -4
- data/features/record_modes/all.feature +5 -5
- data/features/record_modes/new_episodes.feature +2 -2
- data/features/record_modes/once.feature +3 -3
- data/features/step_definitions/cli_steps.rb +37 -39
- data/features/support/env.rb +29 -26
- data/features/support/http_lib_filters.rb +0 -7
- data/features/test_frameworks/cucumber.feature +11 -10
- data/features/test_frameworks/rspec_macro.feature +5 -30
- data/features/test_frameworks/rspec_metadata.feature +9 -8
- data/features/test_frameworks/test_unit.feature +5 -2
- data/lib/vcr.rb +86 -14
- data/lib/vcr/cassette.rb +4 -2
- data/lib/vcr/cassette/serializers.rb +10 -8
- data/lib/vcr/cassette/serializers/compressed.rb +45 -0
- data/lib/vcr/configuration.rb +38 -17
- data/lib/vcr/library_hooks/fakeweb.rb +1 -0
- data/lib/vcr/library_hooks/faraday.rb +5 -1
- data/lib/vcr/middleware/faraday.rb +13 -9
- data/lib/vcr/test_frameworks/cucumber.rb +39 -5
- data/lib/vcr/version.rb +1 -1
- data/spec/acceptance/concurrency_spec.rb +51 -0
- data/spec/{vcr → lib/vcr}/cassette/erb_renderer_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/cassette/http_interaction_list_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/cassette/migrator_spec.rb +10 -9
- data/spec/{vcr → lib/vcr}/cassette/persisters/file_system_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/cassette/persisters_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/cassette/serializers_spec.rb +8 -2
- data/spec/{vcr → lib/vcr}/cassette_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/configuration_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/deprecations_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/errors_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/extensions/net_http_response_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/excon_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/fakeweb_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/faraday_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/typhoeus_0.4_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/typhoeus_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/library_hooks/webmock_spec.rb +2 -2
- data/spec/{vcr → lib/vcr}/library_hooks_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/middleware/faraday_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/middleware/rack_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/request_ignorer_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/request_matcher_registry_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/structs_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/test_frameworks/cucumber_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/test_frameworks/rspec_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/util/hooks_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/util/internet_connection_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/util/version_checker_spec.rb +0 -0
- data/spec/{vcr → lib/vcr}/version_spec.rb +0 -0
- data/spec/{vcr_spec.rb → lib/vcr_spec.rb} +2 -2
- data/spec/spec_helper.rb +21 -50
- data/spec/support/cucumber_helpers.rb +39 -0
- data/spec/support/limited_uri.rb +1 -11
- data/spec/support/shared_example_groups/hook_into_http_library.rb +2 -1
- data/spec/support/vcr_localhost_server.rb +2 -3
- metadata +475 -123
- data/.gemtest +0 -0
- data/.gitignore +0 -52
- data/.gitmodules +0 -3
- data/.rspec +0 -2
- data/.travis.yml +0 -27
- data/.yardopts +0 -9
- data/Appraisals +0 -5
- data/CHANGELOG.md +0 -987
- data/CONTRIBUTING.md +0 -26
- data/Gemfile +0 -54
- data/Gemfile.lock +0 -159
- data/LICENSE +0 -20
- data/README.md +0 -243
- data/Rakefile +0 -197
- data/Upgrade.md +0 -289
- data/benchmarks/http_stubbing_libraries.rb +0 -59
- data/benchmarks/null_logging.rb +0 -62
- data/cucumber.yml +0 -16
- data/features/.nav +0 -62
- data/features/cassettes/persistence.feature +0 -63
- data/features/support/vcr_cucumber_helpers.rb +0 -46
- data/gemfiles/typhoeus_old.gemfile +0 -34
- data/gemfiles/typhoeus_old.gemfile.lock +0 -133
- data/script/ci.sh +0 -27
- data/spec/capture_warnings.rb +0 -73
- data/spec/quality_spec.rb +0 -51
- data/vcr.gemspec +0 -23
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'benchmark'
|
3
|
-
require 'net/http'
|
4
|
-
|
5
|
-
def http_request
|
6
|
-
res = Net::HTTP.get_response(URI.parse('http://example.com'))
|
7
|
-
raise "Body should be 'Hello'" unless res.body == 'Hello'
|
8
|
-
end
|
9
|
-
|
10
|
-
def fakeweb
|
11
|
-
FakeWeb.register_uri(:get, 'http://example.com', :body => 'Hello')
|
12
|
-
yield
|
13
|
-
ensure
|
14
|
-
FakeWeb.clean_registry
|
15
|
-
end
|
16
|
-
|
17
|
-
def webmock
|
18
|
-
WebMock.stub_request(:get, 'http://example.com').to_return(:body => 'Hello')
|
19
|
-
yield
|
20
|
-
ensure
|
21
|
-
WebMock.reset!
|
22
|
-
end
|
23
|
-
|
24
|
-
def perform_benchmark(name)
|
25
|
-
puts "\n\nBenchmarking #{name}:"
|
26
|
-
Benchmark.benchmark do |b|
|
27
|
-
%w(webmock fakeweb).each do |type|
|
28
|
-
b.report(type) do
|
29
|
-
# this is a bit convoluted, but we want to ensure that each benchmark runs without the other library loaded,
|
30
|
-
# so we fork off a sub-process before requiring the libraries.
|
31
|
-
Process.fork do
|
32
|
-
require type
|
33
|
-
yield type
|
34
|
-
end
|
35
|
-
Process.wait
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
n = 5000
|
42
|
-
perform_benchmark("Single setup/teardown") do |type|
|
43
|
-
send(type) { n.times { http_request } }
|
44
|
-
end
|
45
|
-
|
46
|
-
perform_benchmark("Setup/teardown for each http request") do |type|
|
47
|
-
n.times { send(type) { http_request } }
|
48
|
-
end
|
49
|
-
|
50
|
-
# Output on my machine:
|
51
|
-
#
|
52
|
-
# Benchmarking Single setup/teardown:
|
53
|
-
# webmock 0.000000 0.000000 6.950000 ( 6.981525)
|
54
|
-
# fakeweb 0.000000 0.010000 1.750000 ( 1.740679)
|
55
|
-
#
|
56
|
-
#
|
57
|
-
# Benchmarking Setup/teardown for each http request:
|
58
|
-
# webmock 0.000000 0.000000 7.970000 ( 7.981383)
|
59
|
-
# fakeweb 0.000000 0.000000 2.210000 ( 2.203478)
|
data/benchmarks/null_logging.rb
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
$LOAD_PATH.unshift "./lib"
|
2
|
-
require 'vcr'
|
3
|
-
require 'yaml'
|
4
|
-
require 'open-uri'
|
5
|
-
require 'benchmark'
|
6
|
-
|
7
|
-
VCR.configure do |vcr|
|
8
|
-
vcr.cassette_library_dir = './tmp'
|
9
|
-
vcr.hook_into :webmock
|
10
|
-
end
|
11
|
-
|
12
|
-
def prepare_cassette
|
13
|
-
interactions = 1.upto(100).map do |i|
|
14
|
-
VCR::HTTPInteraction.new(
|
15
|
-
VCR::Request.new(:get, "http://foo.com/#{i}", "", {}),
|
16
|
-
VCR::Response.new(
|
17
|
-
VCR::ResponseStatus.new(200, "OK"),
|
18
|
-
{}, "Response #{i}", "1.1"
|
19
|
-
),
|
20
|
-
Time.now
|
21
|
-
).to_hash
|
22
|
-
end
|
23
|
-
|
24
|
-
hash = { "http_interactions" => interactions, "recorded_with" => "VCR #{VCR.version}" }
|
25
|
-
VCR.cassette_persisters[:file_system]["logging.yml"] = YAML.dump(hash)
|
26
|
-
end
|
27
|
-
|
28
|
-
prepare_cassette
|
29
|
-
|
30
|
-
puts "Ruby #{RUBY_DESCRIPTION}"
|
31
|
-
|
32
|
-
3.times do
|
33
|
-
puts Benchmark.measure {
|
34
|
-
100.downto(50) do |i|
|
35
|
-
VCR.use_cassette("logging", :record => :none) do
|
36
|
-
open("http://foo.com/#{i}")
|
37
|
-
end
|
38
|
-
end
|
39
|
-
}
|
40
|
-
end
|
41
|
-
|
42
|
-
# Before optimizing null logging:
|
43
|
-
#
|
44
|
-
# Ruby ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]
|
45
|
-
# 1.510000 0.010000 1.520000 ( 1.523553)
|
46
|
-
# 1.500000 0.010000 1.510000 ( 1.510036)
|
47
|
-
# 1.500000 0.010000 1.510000 ( 1.507076)
|
48
|
-
#
|
49
|
-
# After applying the patch from #311 (and forcing `debug_logger` to `nil`:
|
50
|
-
#
|
51
|
-
# Ruby ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]
|
52
|
-
# 1.480000 0.020000 1.500000 ( 1.500136)
|
53
|
-
# 1.390000 0.000000 1.390000 ( 1.395503)
|
54
|
-
# 1.400000 0.010000 1.410000 ( 1.403931)
|
55
|
-
#
|
56
|
-
# After applying my alternate fix:
|
57
|
-
#
|
58
|
-
# Ruby ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.4.0]
|
59
|
-
# 1.400000 0.010000 1.410000 ( 1.410103)
|
60
|
-
# 1.380000 0.010000 1.390000 ( 1.388467)
|
61
|
-
# 1.360000 0.010000 1.370000 ( 1.364418)
|
62
|
-
|
data/cucumber.yml
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
<%
|
2
|
-
base_opts = '--require features/step_definitions --require features/support'
|
3
|
-
std_opts = "--format progress --strict"
|
4
|
-
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
5
|
-
rerun_opts = rerun.to_s.strip.empty? ? "--format progress features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
|
6
|
-
|
7
|
-
exclusions = []
|
8
|
-
exclusions << "--tags ~@exclude-#{RUBY_VERSION.split('.').first(2).join}"
|
9
|
-
exclusions << "--tags ~@exclude-#{RUBY_VERSION}p#{RUBY_PATCHLEVEL}"
|
10
|
-
exclusions << "--tags ~@exclude-#{RUBY_ENGINE}" if defined?(RUBY_ENGINE)
|
11
|
-
exclusions = exclusions.join(' ')
|
12
|
-
%>
|
13
|
-
default: <%= base_opts %> <%= std_opts %> --tags ~@wip <%= exclusions %> features
|
14
|
-
wip: <%= base_opts %> --tags @wip <%= exclusions %> features
|
15
|
-
rerun: <%= base_opts %> <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip <%= exclusions %>
|
16
|
-
|
data/features/.nav
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
- getting_started.md (Getting Started)
|
2
|
-
- Upgrade.md (Upgrade)
|
3
|
-
- CHANGELOG.md (Changelog)
|
4
|
-
- about_these_examples.md (About These Examples)
|
5
|
-
- LICENSE.md (License)
|
6
|
-
- CONTRIBUTING.md (Contributing)
|
7
|
-
- cassettes:
|
8
|
-
- format.feature
|
9
|
-
- naming.feature
|
10
|
-
- no_cassette.feature
|
11
|
-
- dynamic_erb.feature
|
12
|
-
- automatic_re_recording.feature
|
13
|
-
- exclusive.feature
|
14
|
-
- update_content_length_header.feature
|
15
|
-
- decompress.feature
|
16
|
-
- persistence.feature
|
17
|
-
- allow_unused_http_interactions.feature
|
18
|
-
- record_modes:
|
19
|
-
- once.feature
|
20
|
-
- new_episodes.feature
|
21
|
-
- none.feature
|
22
|
-
- all.feature
|
23
|
-
- configuration:
|
24
|
-
- cassette_library_dir.feature
|
25
|
-
- hook_into.feature
|
26
|
-
- default_cassette_options.feature
|
27
|
-
- ignore_request.feature
|
28
|
-
- filter_sensitive_data.feature
|
29
|
-
- allow_http_connections_when_no_cassette.feature
|
30
|
-
- debug_logging.feature
|
31
|
-
- preserve_exact_body_bytes.feature
|
32
|
-
- uri_parser.feature
|
33
|
-
- query_parser.feature
|
34
|
-
- hooks:
|
35
|
-
- before_record.feature
|
36
|
-
- before_playback.feature
|
37
|
-
- before_http_request.feature
|
38
|
-
- after_http_request.feature
|
39
|
-
- around_http_request.feature
|
40
|
-
- request_matching:
|
41
|
-
- method.feature
|
42
|
-
- uri.feature
|
43
|
-
- host.feature
|
44
|
-
- path.feature
|
45
|
-
- query.feature
|
46
|
-
- body.feature
|
47
|
-
- headers.feature
|
48
|
-
- identical_request_sequence.feature
|
49
|
-
- custom_matcher.feature
|
50
|
-
- uri_without_param.feature
|
51
|
-
- playback_repeats.feature
|
52
|
-
- test_frameworks:
|
53
|
-
- test_unit.feature
|
54
|
-
- rspec_metadata.feature
|
55
|
-
- rspec_macro.feature
|
56
|
-
- cucumber.feature
|
57
|
-
- middleware:
|
58
|
-
- rack.feature
|
59
|
-
- faraday.feature
|
60
|
-
- http_libraries:
|
61
|
-
- net_http.feature
|
62
|
-
- em_http_request.feature
|
@@ -1,63 +0,0 @@
|
|
1
|
-
Feature: Cassette Persistence
|
2
|
-
|
3
|
-
By default, cassettes will be persisted to the file system. However, you
|
4
|
-
can easily configure VCR to persist the cassettes to a database, a key-value
|
5
|
-
store, or anywhere you like.
|
6
|
-
|
7
|
-
To use something besides the file system, you must provide an object
|
8
|
-
that provides a hash-like interface:
|
9
|
-
|
10
|
-
* `persister[name]` should return the content previously persisted for the
|
11
|
-
given cassette name.
|
12
|
-
* `persister[name] = content` should persist the content for the
|
13
|
-
given cassette name.
|
14
|
-
|
15
|
-
Register this object with VCR, and then you can configure all cassettes
|
16
|
-
to use it (using the `default_cassette_options`) or just some cassettes
|
17
|
-
to use it (by passing it as an option to individual cassettes).
|
18
|
-
|
19
|
-
Scenario: Persist cassettes in Redis
|
20
|
-
Given the redis DB has no data
|
21
|
-
And a file named "use_redis.rb" with:
|
22
|
-
"""ruby
|
23
|
-
if ARGV.include?('--with-server')
|
24
|
-
start_sinatra_app(:port => 7777) do
|
25
|
-
get('/') { "Hello" }
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
require 'redis'
|
30
|
-
|
31
|
-
class RedisCassettePersister
|
32
|
-
def initialize(redis)
|
33
|
-
@redis = redis
|
34
|
-
end
|
35
|
-
|
36
|
-
def [](name)
|
37
|
-
@redis.get(name)
|
38
|
-
end
|
39
|
-
|
40
|
-
def []=(name, content)
|
41
|
-
@redis.set(name, content)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
require 'vcr'
|
46
|
-
|
47
|
-
VCR.configure do |c|
|
48
|
-
c.hook_into :webmock
|
49
|
-
c.cassette_persisters[:redis] = RedisCassettePersister.new(Redis.connect)
|
50
|
-
c.default_cassette_options = { :persist_with => :redis }
|
51
|
-
end
|
52
|
-
|
53
|
-
VCR.use_cassette("redis_example") do
|
54
|
-
response = Net::HTTP.get_response('localhost', '/', 7777)
|
55
|
-
puts "Response: #{response.body}"
|
56
|
-
end
|
57
|
-
"""
|
58
|
-
When I run `ruby use_redis.rb --with-server`
|
59
|
-
Then it should pass with "Hello"
|
60
|
-
And the value stored at the redis key "redis_example.yml" should include "Hello"
|
61
|
-
|
62
|
-
When I run `ruby use_redis.rb`
|
63
|
-
Then it should pass with "Hello"
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'date'
|
2
|
-
|
3
|
-
# This file gets symlinked into the tmp/aruba directory before
|
4
|
-
# each scenario so that it is available to be required in them.
|
5
|
-
$LOAD_PATH << '../../spec' unless $LOAD_PATH.include?('../../spec')
|
6
|
-
$LOAD_PATH.unshift '../../lib' unless $LOAD_PATH.include?('../../lib')
|
7
|
-
|
8
|
-
running_under_aruba = File.expand_path('.').include?('aruba')
|
9
|
-
if running_under_aruba
|
10
|
-
require 'support/fixnum_extension'
|
11
|
-
require 'vcr/util/internet_connection'
|
12
|
-
|
13
|
-
# pretend we're always on the internet (so that we don't have an
|
14
|
-
# internet connection dependency for our cukes)
|
15
|
-
VCR::InternetConnection.class_eval do
|
16
|
-
def available?; true; end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
if ENV['DATE_STRING']
|
21
|
-
require 'timecop'
|
22
|
-
Timecop.travel(Date.parse(ENV['DATE_STRING']))
|
23
|
-
end
|
24
|
-
|
25
|
-
def include_http_adapter_for(lib)
|
26
|
-
require (lib =~ /faraday/ ? 'faraday' : lib)
|
27
|
-
require 'typhoeus' if lib.include?('typhoeus') # for faraday-typhoeus
|
28
|
-
require 'support/http_library_adapters'
|
29
|
-
include HTTP_LIBRARY_ADAPTERS[lib]
|
30
|
-
end
|
31
|
-
|
32
|
-
def response_body_for(*args)
|
33
|
-
get_body_string(make_http_request(*args))
|
34
|
-
end
|
35
|
-
|
36
|
-
def start_sinatra_app(options, &block)
|
37
|
-
raise ArgumentError.new("You must pass a port") unless options[:port]
|
38
|
-
|
39
|
-
require 'sinatra'
|
40
|
-
require 'support/vcr_localhost_server'
|
41
|
-
klass = Class.new(Sinatra::Base)
|
42
|
-
klass.disable :protection
|
43
|
-
klass.class_eval(&block)
|
44
|
-
|
45
|
-
VCR::LocalhostServer.new(klass.new, options[:port])
|
46
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# This file was generated by Appraisal
|
2
|
-
|
3
|
-
source "https://rubygems.org"
|
4
|
-
|
5
|
-
gem "appraisal"
|
6
|
-
gem "jruby-openssl", :platforms=>:jruby
|
7
|
-
gem "yard"
|
8
|
-
gem "relish", "~> 0.6"
|
9
|
-
gem "redcarpet", "~> 1.17.2", :platforms=>:ruby
|
10
|
-
gem "github-markup"
|
11
|
-
gem "bundler"
|
12
|
-
gem "rake", ">= 0.9.2"
|
13
|
-
gem "cucumber", ">= 1.1.4"
|
14
|
-
gem "aruba", ">= 0.5"
|
15
|
-
gem "rspec", ">= 3.0.0.beta1"
|
16
|
-
gem "fakeweb", ">= 1.3.0"
|
17
|
-
gem "faraday", ">= 0.8"
|
18
|
-
gem "httpclient", ">= 2.2"
|
19
|
-
gem "excon", ">= 0.22"
|
20
|
-
gem "timecop", "0.6.1"
|
21
|
-
gem "rack", ">= 1.3.6"
|
22
|
-
gem "sinatra", ">= 1.3.2"
|
23
|
-
gem "multi_json", ">= 1.0.3"
|
24
|
-
gem "json", ">= 1.6.5"
|
25
|
-
gem "simplecov", ">= 0.5.3"
|
26
|
-
gem "redis", ">= 2.2.2"
|
27
|
-
gem "patron", ">= 0.4.15", :platform=>:ruby
|
28
|
-
gem "em-http-request", ">= 1.0.2", :platform=>:ruby
|
29
|
-
gem "curb", ">= 0.8.0", :platform=>:ruby
|
30
|
-
gem "yajl-ruby", ">= 1.1.0", :platform=>:ruby
|
31
|
-
gem "typhoeus", "~> 0.4.2"
|
32
|
-
gem "webmock", "1.8.11"
|
33
|
-
|
34
|
-
gemspec :path=>"../"
|
@@ -1,133 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: /Users/myron/code/vcr
|
3
|
-
specs:
|
4
|
-
vcr (2.7.0)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
addressable (2.3.5)
|
10
|
-
appraisal (0.5.2)
|
11
|
-
bundler
|
12
|
-
rake
|
13
|
-
archive-tar-minitar (0.5.2)
|
14
|
-
aruba (0.5.3)
|
15
|
-
childprocess (>= 0.3.6)
|
16
|
-
cucumber (>= 1.1.1)
|
17
|
-
rspec-expectations (>= 2.7.0)
|
18
|
-
builder (3.2.2)
|
19
|
-
childprocess (0.3.9)
|
20
|
-
ffi (~> 1.0, >= 1.0.11)
|
21
|
-
cookiejar (0.3.0)
|
22
|
-
crack (0.4.1)
|
23
|
-
safe_yaml (~> 0.9.0)
|
24
|
-
cucumber (1.3.10)
|
25
|
-
builder (>= 2.1.2)
|
26
|
-
diff-lcs (>= 1.1.3)
|
27
|
-
gherkin (~> 2.12)
|
28
|
-
multi_json (>= 1.7.5, < 2.0)
|
29
|
-
multi_test (>= 0.0.2)
|
30
|
-
curb (0.8.5)
|
31
|
-
diff-lcs (1.2.5)
|
32
|
-
docile (1.1.0)
|
33
|
-
em-http-request (1.1.1)
|
34
|
-
addressable (>= 2.3.4)
|
35
|
-
cookiejar
|
36
|
-
em-socksify (>= 0.3)
|
37
|
-
eventmachine (>= 1.0.3)
|
38
|
-
http_parser.rb (>= 0.6.0.beta.2)
|
39
|
-
em-socksify (0.3.0)
|
40
|
-
eventmachine (>= 1.0.0.beta.4)
|
41
|
-
eventmachine (1.0.3)
|
42
|
-
excon (0.29.0)
|
43
|
-
fakeweb (1.3.0)
|
44
|
-
faraday (0.8.8)
|
45
|
-
multipart-post (~> 1.2.0)
|
46
|
-
ffi (1.9.3)
|
47
|
-
gherkin (2.12.2)
|
48
|
-
multi_json (~> 1.3)
|
49
|
-
github-markup (0.7.5)
|
50
|
-
http_parser.rb (0.6.0.beta.2)
|
51
|
-
httpclient (2.3.4.1)
|
52
|
-
json (1.8.1)
|
53
|
-
mime-types (1.25)
|
54
|
-
multi_json (1.8.2)
|
55
|
-
multi_test (0.0.2)
|
56
|
-
multipart-post (1.2.0)
|
57
|
-
patron (0.4.18)
|
58
|
-
rack (1.5.2)
|
59
|
-
rack-protection (1.5.1)
|
60
|
-
rack
|
61
|
-
rake (10.1.0)
|
62
|
-
redcarpet (1.17.2)
|
63
|
-
redis (3.0.6)
|
64
|
-
relish (0.7)
|
65
|
-
archive-tar-minitar (>= 0.5.2)
|
66
|
-
json (>= 1.4.6)
|
67
|
-
rest-client (>= 1.6.1)
|
68
|
-
rest-client (1.6.7)
|
69
|
-
mime-types (>= 1.16)
|
70
|
-
rspec (3.0.0.beta1)
|
71
|
-
rspec-core (= 3.0.0.beta1)
|
72
|
-
rspec-expectations (= 3.0.0.beta1)
|
73
|
-
rspec-mocks (= 3.0.0.beta1)
|
74
|
-
rspec-core (3.0.0.beta1)
|
75
|
-
rspec-expectations (3.0.0.beta1)
|
76
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
77
|
-
rspec-support (= 3.0.0.beta1)
|
78
|
-
rspec-mocks (3.0.0.beta1)
|
79
|
-
rspec-support (3.0.0.beta1)
|
80
|
-
safe_yaml (0.9.7)
|
81
|
-
simplecov (0.8.2)
|
82
|
-
docile (~> 1.1.0)
|
83
|
-
multi_json
|
84
|
-
simplecov-html (~> 0.8.0)
|
85
|
-
simplecov-html (0.8.0)
|
86
|
-
sinatra (1.4.4)
|
87
|
-
rack (~> 1.4)
|
88
|
-
rack-protection (~> 1.4)
|
89
|
-
tilt (~> 1.3, >= 1.3.4)
|
90
|
-
tilt (1.4.1)
|
91
|
-
timecop (0.6.1)
|
92
|
-
typhoeus (0.4.2)
|
93
|
-
ffi (~> 1.0)
|
94
|
-
mime-types (~> 1.18)
|
95
|
-
webmock (1.8.11)
|
96
|
-
addressable (>= 2.2.7)
|
97
|
-
crack (>= 0.1.7)
|
98
|
-
yajl-ruby (1.1.0)
|
99
|
-
yard (0.8.7.3)
|
100
|
-
|
101
|
-
PLATFORMS
|
102
|
-
ruby
|
103
|
-
|
104
|
-
DEPENDENCIES
|
105
|
-
appraisal
|
106
|
-
aruba (>= 0.5)
|
107
|
-
bundler
|
108
|
-
cucumber (>= 1.1.4)
|
109
|
-
curb (>= 0.8.0)
|
110
|
-
em-http-request (>= 1.0.2)
|
111
|
-
excon (>= 0.22)
|
112
|
-
fakeweb (>= 1.3.0)
|
113
|
-
faraday (>= 0.8)
|
114
|
-
github-markup
|
115
|
-
httpclient (>= 2.2)
|
116
|
-
jruby-openssl
|
117
|
-
json (>= 1.6.5)
|
118
|
-
multi_json (>= 1.0.3)
|
119
|
-
patron (>= 0.4.15)
|
120
|
-
rack (>= 1.3.6)
|
121
|
-
rake (>= 0.9.2)
|
122
|
-
redcarpet (~> 1.17.2)
|
123
|
-
redis (>= 2.2.2)
|
124
|
-
relish (~> 0.6)
|
125
|
-
rspec (>= 3.0.0.beta1)
|
126
|
-
simplecov (>= 0.5.3)
|
127
|
-
sinatra (>= 1.3.2)
|
128
|
-
timecop (= 0.6.1)
|
129
|
-
typhoeus (~> 0.4.2)
|
130
|
-
vcr!
|
131
|
-
webmock (= 1.8.11)
|
132
|
-
yajl-ruby (>= 1.1.0)
|
133
|
-
yard
|