site_prism.vcr 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +12 -0
  5. data/Gemfile +17 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +381 -0
  8. data/Rakefile +1 -0
  9. data/TODO.md +71 -0
  10. data/lib/site_prism.vcr.rb +1 -0
  11. data/lib/site_prism_vcr/applier.rb +54 -0
  12. data/lib/site_prism_vcr/dsl/adjuster.rb +82 -0
  13. data/lib/site_prism_vcr/dsl/initial_adjuster.rb +97 -0
  14. data/lib/site_prism_vcr/element.rb +18 -0
  15. data/lib/site_prism_vcr/fixture.rb +29 -0
  16. data/lib/site_prism_vcr/fixtures/converter.rb +17 -0
  17. data/lib/site_prism_vcr/fixtures/handler.rb +31 -0
  18. data/lib/site_prism_vcr/fixtures/manager.rb +38 -0
  19. data/lib/site_prism_vcr/fixtures/modifiers/home_path.rb +27 -0
  20. data/lib/site_prism_vcr/fixtures/modifiers/path.rb +30 -0
  21. data/lib/site_prism_vcr/fixtures/tmp_keeper.rb +21 -0
  22. data/lib/site_prism_vcr/fixtures.rb +41 -0
  23. data/lib/site_prism_vcr/options.rb +22 -0
  24. data/lib/site_prism_vcr/options_with_path.rb +7 -0
  25. data/lib/site_prism_vcr/patches/element_container.rb +15 -0
  26. data/lib/site_prism_vcr/patches/page.rb +41 -0
  27. data/lib/site_prism_vcr/vcr_helpers.rb +18 -0
  28. data/lib/site_prism_vcr/version.rb +3 -0
  29. data/lib/site_prism_vcr/waiter.rb +23 -0
  30. data/lib/site_prism_vcr.rb +24 -0
  31. data/site_prism.vcr.gemspec +24 -0
  32. data/spec/fixtures/arya_stark.yml +44 -0
  33. data/spec/fixtures/custom/blank.yml +44 -0
  34. data/spec/fixtures/custom/bran_stark.yml +44 -0
  35. data/spec/fixtures/custom/daenerys_targaryen.yml +44 -0
  36. data/spec/fixtures/jon_snow.yml +44 -0
  37. data/spec/fixtures/ned_stark.yml +44 -0
  38. data/spec/fixtures/robb_stark.yml +44 -0
  39. data/spec/integration/http_interactions_on_even/click_spec.rb +75 -0
  40. data/spec/integration/immediate_http_interactions/page_load_on_click_spec.rb +18 -0
  41. data/spec/integration/immediate_http_interactions/page_load_spec.rb +56 -0
  42. data/spec/spec_helper.rb +18 -0
  43. data/spec/spec_integration_helper.rb +27 -0
  44. data/spec/support/shared/integration/custom_fixtures.rb +32 -0
  45. data/spec/support/shared/integration/exchange.rb +42 -0
  46. data/spec/support/shared/integration/home_path.rb +49 -0
  47. data/spec/support/shared/integration/waiter.rb +75 -0
  48. data/spec/support/site_prism/pages/base.rb +18 -0
  49. data/spec/support/site_prism/pages/home.rb +44 -0
  50. data/spec/support/site_prism/pages/immediate_http_interactions/home_path.rb +15 -0
  51. data/spec/support/site_prism/pages/immediate_http_interactions/one_request.rb +13 -0
  52. data/spec/support/site_prism/pages/immediate_http_interactions/subpage.rb +7 -0
  53. data/spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb +12 -0
  54. data/spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb +12 -0
  55. data/spec/support/site_prism/sections/console_block.rb +8 -0
  56. data/spec/support/test_app/public/jquery.min.js +5 -0
  57. data/spec/support/test_app/public/test.js +44 -0
  58. data/spec/support/test_app/test_app.rb +46 -0
  59. data/spec/support/test_app/views/index.erb +26 -0
  60. data/spec/unit/applier_spec.rb +134 -0
  61. data/spec/unit/dsl/adjuster_spec.rb +141 -0
  62. data/spec/unit/dsl/initial_adjuster_spec.rb +166 -0
  63. data/spec/unit/element_container_spec.rb +48 -0
  64. data/spec/unit/element_spec.rb +47 -0
  65. data/spec/unit/fixture_spec.rb +45 -0
  66. data/spec/unit/fixtures/converter_spec.rb +36 -0
  67. data/spec/unit/fixtures/handler_spec.rb +72 -0
  68. data/spec/unit/fixtures/manager_spec.rb +58 -0
  69. data/spec/unit/fixtures/modifiers/home_path_spec.rb +47 -0
  70. data/spec/unit/fixtures/modifiers/path_spec.rb +45 -0
  71. data/spec/unit/fixtures/tmp_keeper_spec.rb +17 -0
  72. data/spec/unit/fixtures_spec.rb +76 -0
  73. data/spec/unit/options_spec.rb +41 -0
  74. data/spec/unit/patches/element_container_spec.rb +48 -0
  75. data/spec/unit/patches/page_spec.rb +57 -0
  76. data/spec/unit/vcr_helpers_spec.rb +18 -0
  77. data/spec/unit/waiter_spec.rb +67 -0
  78. metadata +213 -0
@@ -0,0 +1,45 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures::Modifiers::Path do
4
+ describe '#modify' do
5
+ let(:path) { 'some path' }
6
+ let(:options) { double(path: path) }
7
+ let(:fixture) { double(:has_link_to_home_path? => false) }
8
+
9
+ subject { described_class.new(options).modify(fixture) }
10
+
11
+ context 'when the path does not end with slash symbol' do
12
+ it 'adds a given path to the fixture with additional slash symbol' do
13
+ expect(fixture).to receive(:add_path).with(path + '/')
14
+
15
+ subject
16
+ end
17
+ end
18
+
19
+ context 'when the path ends with slash symbol' do
20
+ let(:path) { 'some path/' }
21
+
22
+ it 'adds a given path to the fixture without additional slash symbol' do
23
+ expect(fixture).to receive(:add_path).with(path)
24
+
25
+ subject
26
+ end
27
+ end
28
+
29
+ context 'when the fixture has a link to the home path' do
30
+ let(:fixture) { double(:has_link_to_home_path? => true, clean_name: 'Max') }
31
+
32
+ it 'raises an error about link to the home path' do
33
+ expect{
34
+ subject
35
+ }.to raise_error(
36
+ SPV::Fixtures::Modifiers::Path::HomePathError,
37
+ "You cannot use the home path while listing fixtures in the 'path' method. " <<
38
+ "Please, use 'fixtures' method for 'Max' fixture or " <<
39
+ "you can additionally use the 'path' method where you will specify a home path as a path name." <<
40
+ "Example: path('~/', ['Max'])"
41
+ )
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures::TmpKeeper do
4
+ let(:options) { double }
5
+ let(:tmp_keeper) { described_class.new(options) }
6
+
7
+ describe '#add_fixtures' do
8
+ subject { described_class.new(options) }
9
+
10
+ it 'adds new fixtures to the container' do
11
+ subject.add_fixtures(['fixture1'])
12
+ subject.add_fixtures(['fixture2'])
13
+
14
+ expect(subject.fixtures).to include('fixture1', 'fixture2')
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,76 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Fixtures do
4
+ let(:fixture1) { double(name: 'fixture1') }
5
+ let(:fixture2) { double(name: 'fixture2') }
6
+ let(:fixture3) { double(name: 'fixture3') }
7
+ let(:fixture4) { double(name: 'fixture4') }
8
+ let(:fixture5) { double(name: 'fixture5') }
9
+
10
+ subject(:fixtures) { described_class.new([fixture1, fixture2, fixture3]) }
11
+
12
+ describe '#exchange' do
13
+ def exchange
14
+ fixtures.exchange([fixture1, fixture3], [fixture4, fixture5])
15
+ end
16
+
17
+ it 'removes "fixture1" and "fixture3" elements' do
18
+ new_fixtures = exchange
19
+
20
+ expect(new_fixtures).to_not include(fixture1, fixture3)
21
+ end
22
+
23
+ it 'adds "fixture4, fixture5" elements' do
24
+ new_fixtures = exchange
25
+
26
+ expect(new_fixtures).to include(fixture4, fixture5)
27
+ end
28
+
29
+ it 'does not touch the original object' do
30
+ exchange
31
+
32
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
33
+ end
34
+ end
35
+
36
+ describe '#replace' do
37
+ context 'when fixtures are passed' do
38
+ it 'does not change the original object' do
39
+ fixtures.replace([fixture4, fixture5])
40
+
41
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
42
+ expect(fixtures).to_not include(fixture4, fixture5)
43
+ end
44
+
45
+ it 'returns a new container with fixtures' do
46
+ new_fixtures = fixtures.replace([fixture4, fixture5])
47
+
48
+ expect(new_fixtures).to include(fixture4, fixture5)
49
+ expect(new_fixtures).to_not include(fixture1, fixture2, fixture3)
50
+ end
51
+ end
52
+
53
+ context 'when no fixtures are passed' do
54
+ it 'returns itself' do
55
+ new_fixtures = fixtures.replace([])
56
+
57
+ expect(new_fixtures).to eq(fixtures)
58
+ end
59
+ end
60
+ end
61
+
62
+ describe '#union' do
63
+ it 'does not change the original object' do
64
+ fixtures.union([fixture4, fixture5])
65
+
66
+ expect(fixtures).to include(fixture1, fixture2, fixture3)
67
+ expect(fixtures).to_not include(fixture4, fixture5)
68
+ end
69
+
70
+ it 'returns a new container with fixtures' do
71
+ new_fixtures = fixtures.union([fixture4, fixture5])
72
+
73
+ expect(new_fixtures).to include(fixture1, fixture2, fixture3, fixture4, fixture5)
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Options do
4
+ let(:options) { described_class.new }
5
+
6
+ describe '.new' do
7
+ it 'holds the passed options' do
8
+ waiter = 'some'
9
+
10
+ options = described_class.new(
11
+ waiter: waiter
12
+ )
13
+
14
+ expect(options.waiter).to eq(waiter)
15
+ end
16
+ end
17
+
18
+ describe '#home_path=' do
19
+ context 'when the last symbol is a slash' do
20
+ it 'returns the home path as it is' do
21
+ options.home_path = 'some/path/'
22
+ expect(options.home_path).to eq('some/path/')
23
+ end
24
+ end
25
+
26
+ context 'when the last symbol is not slash' do
27
+ it 'returns the home path with a slash at the end of the path' do
28
+ options.home_path = 'some/path'
29
+ expect(options.home_path).to eq('some/path/')
30
+ end
31
+ end
32
+ end
33
+
34
+ describe '#clone_options' do
35
+ it 'returns a new instance of options' do
36
+ cloned_options = options.clone_options
37
+
38
+ expect(cloned_options.object_id).to_not eq(options.object_id)
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ class TestPageWithElement
4
+ extend SitePrism::ElementContainer
5
+
6
+ class << self
7
+ def element(*); end
8
+ end
9
+
10
+ def el_with_options
11
+ 'original element with options'
12
+ end
13
+
14
+ def test_el; end
15
+
16
+ element_with_vcr(:el_with_options, '#selector', fixtures: 'some fixtures') {}
17
+ end
18
+
19
+ describe SitePrism::ElementContainer do
20
+ describe '.element_with_vcr' do
21
+ it 'calls the original element method with given arguments' do
22
+ expect(TestPageWithElement).to receive(:element).with(
23
+ :test_el,
24
+ '#test_selector',
25
+ visible: false
26
+ )
27
+
28
+ TestPageWithElement.instance_eval do
29
+ element_with_vcr :test_el, '#test_selector', visible: false
30
+ end
31
+ end
32
+
33
+ context 'when a method for getting an element is called' do
34
+ let(:page) { TestPageWithElement.new }
35
+ let(:vcr_el) { 'vcr element' }
36
+
37
+ subject { page.el_with_options }
38
+
39
+ it 'initializes a new instance of an element with empty options' do
40
+ expect(SPV::Element).to receive(:new).with(
41
+ 'original element with options', page
42
+ ).and_return(vcr_el)
43
+
44
+ expect(subject).to eq(vcr_el)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe SitePrism::Page do
4
+ subject { SitePrism::Page.new }
5
+
6
+ describe '#apply_vcr' do
7
+ let(:applier) { double(apply: true) }
8
+ let(:action_block) { double(call: true) }
9
+
10
+ before do
11
+ SitePrism::Page.vcr_options_for_load { }
12
+
13
+ SPV::Applier.stub(:new).and_return(applier)
14
+ end
15
+
16
+ it 'initializes the fixtures applier' do
17
+ expect(SPV::Applier).to receive(:new).with(
18
+ subject
19
+ ).and_return(applier)
20
+
21
+ subject.apply_vcr(action_block)
22
+ end
23
+
24
+ it 'applies fixtures' do
25
+ expect(applier).to receive(:apply).with(
26
+ kind_of(Proc)
27
+ )
28
+
29
+ subject.apply_vcr(action_block) { }
30
+ end
31
+
32
+ it 'does the action from the action block' do
33
+ applier.stub(:apply).and_yield
34
+
35
+ expect(action_block).to receive(:call)
36
+
37
+ subject.apply_vcr('arg1', 'arg2', action_block) { }
38
+ end
39
+ end
40
+
41
+ describe '#load_and_apply_vcr' do
42
+ before do
43
+ subject.stub(:apply_vcr)
44
+ subject.stub(:load)
45
+ end
46
+
47
+ it 'applies vcr fixtures and loads the page' do
48
+ expect(subject).to receive(:apply_vcr) do |action_block|
49
+ expect(subject).to receive(:load).with('arg1', 'arg2')
50
+
51
+ action_block.call
52
+ end
53
+
54
+ subject.load_and_apply_vcr('arg1', 'arg2') { }
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,18 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Helpers do
4
+ describe '.eject_all_cassettes' do
5
+ subject { described_class.eject_all_cassettes }
6
+
7
+ before do
8
+ VCR.insert_cassette 'arya_stark'
9
+ VCR.insert_cassette 'jon_snow'
10
+ end
11
+
12
+ it 'ejects all fixtures from VCR' do
13
+ subject
14
+
15
+ expect(VCR.eject_cassette).to be_nil
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ describe SPV::Waiter do
4
+ let(:node) { double }
5
+ let(:options) { double(waiter_options: nil, waiter: nil) }
6
+ let(:fixtures_manager) { double(eject: true) }
7
+
8
+ subject(:waiter) { described_class.new(node, fixtures_manager, options) }
9
+
10
+ describe '#wait' do
11
+ context 'when a waiter is defined' do
12
+ let(:node) { double(wait_for_content: true) }
13
+
14
+ before do
15
+ options.stub(:waiter).and_return(proc { self.wait_for_content })
16
+ end
17
+
18
+ it 'calls the waiter to wait until all HTTP interactions are finished' do
19
+ expect(node).to receive(:wait_for_content)
20
+
21
+ waiter.wait
22
+ end
23
+
24
+ context 'when the option disallowing fixtures ejection is not passed' do
25
+ it 'ejects fixtures' do
26
+ expect(fixtures_manager).to receive(:eject)
27
+
28
+ waiter.wait
29
+ end
30
+ end
31
+
32
+ context 'when the option disallowing fixtures ejection is passed' do
33
+ before do
34
+ options.stub(:waiter_options).and_return(eject_cassettes: false)
35
+ end
36
+
37
+ it 'does not eject fixtures' do
38
+ expect(fixtures_manager).to_not receive(:eject)
39
+
40
+ waiter.wait
41
+ end
42
+ end
43
+ end
44
+
45
+ context 'when a waiter is not defined' do
46
+ it 'the fixtures handler does not eject fixtures' do
47
+ expect(fixtures_manager).to_not receive(:eject)
48
+
49
+ waiter.wait
50
+ end
51
+ end
52
+ end
53
+
54
+ describe '#with_new_options' do
55
+ let(:new_options) { 'some new options' }
56
+
57
+ it 'initializes a new instance of the waiter' do
58
+ subject
59
+
60
+ expect(described_class).to receive(:new).with(
61
+ node, fixtures_manager, new_options
62
+ )
63
+
64
+ waiter.with_new_options(new_options)
65
+ end
66
+ end
67
+ end
metadata ADDED
@@ -0,0 +1,213 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: site_prism.vcr
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Dmitriy Nesteryuk
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: site_prism
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '2.4'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '2.4'
27
+ - !ruby/object:Gem::Dependency
28
+ name: vcr
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 2.6.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 2.6.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: webmock
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: This gem integrates VCR library into SitePrism
56
+ email:
57
+ - nesterukd@gmail.com
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - .gitignore
63
+ - .rspec
64
+ - .travis.yml
65
+ - Gemfile
66
+ - LICENSE.txt
67
+ - README.md
68
+ - Rakefile
69
+ - TODO.md
70
+ - lib/site_prism.vcr.rb
71
+ - lib/site_prism_vcr.rb
72
+ - lib/site_prism_vcr/applier.rb
73
+ - lib/site_prism_vcr/dsl/adjuster.rb
74
+ - lib/site_prism_vcr/dsl/initial_adjuster.rb
75
+ - lib/site_prism_vcr/element.rb
76
+ - lib/site_prism_vcr/fixture.rb
77
+ - lib/site_prism_vcr/fixtures.rb
78
+ - lib/site_prism_vcr/fixtures/converter.rb
79
+ - lib/site_prism_vcr/fixtures/handler.rb
80
+ - lib/site_prism_vcr/fixtures/manager.rb
81
+ - lib/site_prism_vcr/fixtures/modifiers/home_path.rb
82
+ - lib/site_prism_vcr/fixtures/modifiers/path.rb
83
+ - lib/site_prism_vcr/fixtures/tmp_keeper.rb
84
+ - lib/site_prism_vcr/options.rb
85
+ - lib/site_prism_vcr/options_with_path.rb
86
+ - lib/site_prism_vcr/patches/element_container.rb
87
+ - lib/site_prism_vcr/patches/page.rb
88
+ - lib/site_prism_vcr/vcr_helpers.rb
89
+ - lib/site_prism_vcr/version.rb
90
+ - lib/site_prism_vcr/waiter.rb
91
+ - site_prism.vcr.gemspec
92
+ - spec/fixtures/arya_stark.yml
93
+ - spec/fixtures/custom/blank.yml
94
+ - spec/fixtures/custom/bran_stark.yml
95
+ - spec/fixtures/custom/daenerys_targaryen.yml
96
+ - spec/fixtures/jon_snow.yml
97
+ - spec/fixtures/ned_stark.yml
98
+ - spec/fixtures/robb_stark.yml
99
+ - spec/integration/http_interactions_on_even/click_spec.rb
100
+ - spec/integration/immediate_http_interactions/page_load_on_click_spec.rb
101
+ - spec/integration/immediate_http_interactions/page_load_spec.rb
102
+ - spec/spec_helper.rb
103
+ - spec/spec_integration_helper.rb
104
+ - spec/support/shared/integration/custom_fixtures.rb
105
+ - spec/support/shared/integration/exchange.rb
106
+ - spec/support/shared/integration/home_path.rb
107
+ - spec/support/shared/integration/waiter.rb
108
+ - spec/support/site_prism/pages/base.rb
109
+ - spec/support/site_prism/pages/home.rb
110
+ - spec/support/site_prism/pages/immediate_http_interactions/home_path.rb
111
+ - spec/support/site_prism/pages/immediate_http_interactions/one_request.rb
112
+ - spec/support/site_prism/pages/immediate_http_interactions/subpage.rb
113
+ - spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb
114
+ - spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb
115
+ - spec/support/site_prism/sections/console_block.rb
116
+ - spec/support/test_app/public/jquery.min.js
117
+ - spec/support/test_app/public/test.js
118
+ - spec/support/test_app/test_app.rb
119
+ - spec/support/test_app/views/index.erb
120
+ - spec/unit/applier_spec.rb
121
+ - spec/unit/dsl/adjuster_spec.rb
122
+ - spec/unit/dsl/initial_adjuster_spec.rb
123
+ - spec/unit/element_container_spec.rb
124
+ - spec/unit/element_spec.rb
125
+ - spec/unit/fixture_spec.rb
126
+ - spec/unit/fixtures/converter_spec.rb
127
+ - spec/unit/fixtures/handler_spec.rb
128
+ - spec/unit/fixtures/manager_spec.rb
129
+ - spec/unit/fixtures/modifiers/home_path_spec.rb
130
+ - spec/unit/fixtures/modifiers/path_spec.rb
131
+ - spec/unit/fixtures/tmp_keeper_spec.rb
132
+ - spec/unit/fixtures_spec.rb
133
+ - spec/unit/options_spec.rb
134
+ - spec/unit/patches/element_container_spec.rb
135
+ - spec/unit/patches/page_spec.rb
136
+ - spec/unit/vcr_helpers_spec.rb
137
+ - spec/unit/waiter_spec.rb
138
+ homepage: https://github.com/nestd/site_prism.vcr
139
+ licenses:
140
+ - MIT
141
+ metadata: {}
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ! '>='
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 2.1.9
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: VCR and SitePrism are awesome libraries. But, it is a bit difficult to work
162
+ with them without some bridge between them. This gem combines these 2 libraries
163
+ to provide a better way for stubbing external API request which your application
164
+ is doing. This gem will be very helpful for developers which have an application
165
+ working with an external API.
166
+ test_files:
167
+ - spec/fixtures/arya_stark.yml
168
+ - spec/fixtures/custom/blank.yml
169
+ - spec/fixtures/custom/bran_stark.yml
170
+ - spec/fixtures/custom/daenerys_targaryen.yml
171
+ - spec/fixtures/jon_snow.yml
172
+ - spec/fixtures/ned_stark.yml
173
+ - spec/fixtures/robb_stark.yml
174
+ - spec/integration/http_interactions_on_even/click_spec.rb
175
+ - spec/integration/immediate_http_interactions/page_load_on_click_spec.rb
176
+ - spec/integration/immediate_http_interactions/page_load_spec.rb
177
+ - spec/spec_helper.rb
178
+ - spec/spec_integration_helper.rb
179
+ - spec/support/shared/integration/custom_fixtures.rb
180
+ - spec/support/shared/integration/exchange.rb
181
+ - spec/support/shared/integration/home_path.rb
182
+ - spec/support/shared/integration/waiter.rb
183
+ - spec/support/site_prism/pages/base.rb
184
+ - spec/support/site_prism/pages/home.rb
185
+ - spec/support/site_prism/pages/immediate_http_interactions/home_path.rb
186
+ - spec/support/site_prism/pages/immediate_http_interactions/one_request.rb
187
+ - spec/support/site_prism/pages/immediate_http_interactions/subpage.rb
188
+ - spec/support/site_prism/pages/immediate_http_interactions/two_requests.rb
189
+ - spec/support/site_prism/pages/immediate_http_interactions/waiter_without_fixtures_ejection.rb
190
+ - spec/support/site_prism/sections/console_block.rb
191
+ - spec/support/test_app/public/jquery.min.js
192
+ - spec/support/test_app/public/test.js
193
+ - spec/support/test_app/test_app.rb
194
+ - spec/support/test_app/views/index.erb
195
+ - spec/unit/applier_spec.rb
196
+ - spec/unit/dsl/adjuster_spec.rb
197
+ - spec/unit/dsl/initial_adjuster_spec.rb
198
+ - spec/unit/element_container_spec.rb
199
+ - spec/unit/element_spec.rb
200
+ - spec/unit/fixture_spec.rb
201
+ - spec/unit/fixtures/converter_spec.rb
202
+ - spec/unit/fixtures/handler_spec.rb
203
+ - spec/unit/fixtures/manager_spec.rb
204
+ - spec/unit/fixtures/modifiers/home_path_spec.rb
205
+ - spec/unit/fixtures/modifiers/path_spec.rb
206
+ - spec/unit/fixtures/tmp_keeper_spec.rb
207
+ - spec/unit/fixtures_spec.rb
208
+ - spec/unit/options_spec.rb
209
+ - spec/unit/patches/element_container_spec.rb
210
+ - spec/unit/patches/page_spec.rb
211
+ - spec/unit/vcr_helpers_spec.rb
212
+ - spec/unit/waiter_spec.rb
213
+ has_rdoc: