webmock-resources 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/webmock-resources.rb +39 -6
- data/lib/webmock-resources/definition.rb +3 -16
- data/lib/webmock-resources/factory.rb +5 -38
- data/lib/webmock-resources/resource.rb +9 -0
- data/lib/webmock-resources/resource_builder.rb +36 -0
- data/lib/webmock-resources/resource_instance_storage.rb +21 -0
- data/lib/webmock-resources/resource_storages.rb +13 -0
- data/lib/webmock-resources/schema.rb +16 -0
- data/lib/webmock-resources/schema_builder.rb +11 -9
- data/lib/webmock-resources/schema_storage.rb +17 -14
- data/lib/webmock-resources/sequence.rb +4 -2
- data/lib/webmock-resources/stubber.rb +26 -0
- data/lib/webmock-resources/version.rb +3 -1
- data/test/autoloaded_object.rb +6 -0
- data/test/integration_test.rb +170 -0
- data/webmock-resources.gemspec +4 -0
- metadata +78 -4
data/lib/webmock-resources.rb
CHANGED
@@ -1,15 +1,48 @@
|
|
1
1
|
require "json"
|
2
2
|
require "webmock"
|
3
|
-
|
4
|
-
module WebMock
|
5
|
-
module Resources
|
6
|
-
end
|
7
|
-
end
|
3
|
+
require "active_support/inflector"
|
8
4
|
|
9
5
|
require "webmock-resources/version"
|
6
|
+
require "webmock-resources/resource"
|
10
7
|
require "webmock-resources/definition"
|
11
|
-
require "webmock-resources/
|
8
|
+
require "webmock-resources/schema"
|
9
|
+
require "webmock-resources/resource_builder"
|
10
|
+
require "webmock-resources/resource_storages"
|
11
|
+
require "webmock-resources/resource_instance_storage"
|
12
12
|
require "webmock-resources/schema_builder"
|
13
13
|
require "webmock-resources/schema_storage"
|
14
|
+
require "webmock-resources/factory"
|
14
15
|
require "webmock-resources/sequence"
|
16
|
+
require "webmock-resources/stubber"
|
17
|
+
|
18
|
+
module WebMock::Resources
|
19
|
+
|
20
|
+
def self.create resource_name, attributes = {}
|
21
|
+
schema = SchemaStorage.instance[resource_name]
|
22
|
+
resource_builder = ResourceBuilder.new schema, attributes
|
23
|
+
resource_builder.build
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.create_many resource_name, amount, attributes = {}
|
27
|
+
amount.times.map do
|
28
|
+
create resource_name, attributes
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.define name, &block
|
33
|
+
builder = SchemaBuilder.new name
|
34
|
+
builder.instance_eval &block
|
35
|
+
SchemaStorage.instance[name]= builder.to_hash
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.refresh
|
39
|
+
WebMock.reset!
|
40
|
+
ResourceStorages.instance.clear
|
41
|
+
SchemaStorage.instance.reset_sequences
|
42
|
+
SchemaStorage.instance.reload_index_stubs
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
47
|
+
|
15
48
|
|
@@ -1,24 +1,11 @@
|
|
1
1
|
module WebMock::Resources
|
2
2
|
module Definition
|
3
|
-
extend WebMock::API
|
4
3
|
|
5
4
|
def self.define name, &block
|
6
|
-
|
7
|
-
builder.instance_eval(&block) if block_given?
|
8
|
-
SchemaStorage[name]= builder.to_hash
|
9
|
-
n = name
|
10
|
-
stub_request(:get, "webmock/api/#{name}").to_return status: 200, headers: {'Content-Type' => 'application/json'} do
|
11
|
-
{:body => JSON.dump(Factory.resource_storage[n])}
|
12
|
-
end
|
13
|
-
end
|
5
|
+
p "DEPRECATED: please use WebMock::Resources.define instead"
|
14
6
|
|
15
|
-
|
16
|
-
SchemaStorage.types.each do |type|
|
17
|
-
stub_request(:get, "webmock/api/#{type}").to_return status: 200, headers: {'Content-Type' => 'application/ json'} do
|
18
|
-
{:body => JSON.dump(Factory.resource_storage[type])}
|
19
|
-
end
|
20
|
-
end
|
7
|
+
WebMock::Resources.define name, &block
|
21
8
|
end
|
22
|
-
|
9
|
+
|
23
10
|
end
|
24
11
|
end
|
@@ -1,49 +1,16 @@
|
|
1
1
|
module WebMock::Resources
|
2
2
|
class Factory
|
3
|
-
|
4
|
-
|
5
|
-
@resources = {}
|
6
|
-
|
3
|
+
|
7
4
|
def self.create resource_name, attributes = {}
|
8
|
-
|
9
|
-
resource = schema[:fields].merge(id: schema[:sequence].next).merge(attributes)
|
10
|
-
|
11
|
-
resource.each do |k,v|
|
12
|
-
resource[k] = v.call(schema[:sequence].curr) if v.is_a? Proc
|
13
|
-
end
|
5
|
+
p "DEPRECATED: please use WebMock::Resources.create instead"
|
14
6
|
|
15
|
-
|
16
|
-
@resources[resource_name] << resource
|
17
|
-
|
18
|
-
stub_resource resource_name, resource
|
19
|
-
schema[:object] ? schema[:object].new(resource) : resource
|
7
|
+
WebMock::Resources.create resource_name, attributes
|
20
8
|
end
|
21
9
|
|
22
10
|
def self.create_many resource_name, amount, attributes = {}
|
23
|
-
|
24
|
-
create resource_name, attributes
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def self.stub_resource resource_name, resource
|
29
|
-
url = "webmock/api/#{resource_name}/#{resource[:id]}"
|
30
|
-
stub_request(:get, url).to_return body: JSON.dump(resource), status: 200, headers: headers
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
def self.headers
|
35
|
-
{'Content-Type' => 'application/json'}
|
36
|
-
end
|
37
|
-
|
38
|
-
def self.resource_storage
|
39
|
-
@resources
|
40
|
-
end
|
11
|
+
p "DEPRECATED: please use WebMock::Resources.create_many instead"
|
41
12
|
|
42
|
-
|
43
|
-
WebMock.reset!
|
44
|
-
@resources = {}
|
45
|
-
Definition.refresh
|
46
|
-
SchemaStorage.reset_sequences
|
13
|
+
WebMock::Resources.create_many resource_name, amount, attributes
|
47
14
|
end
|
48
15
|
|
49
16
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module WebMock::Resources
|
2
|
+
class ResourceBuilder
|
3
|
+
|
4
|
+
def initialize schema, overwrited_attributes = {}
|
5
|
+
@schema = schema
|
6
|
+
@fields = schema.fields.dup
|
7
|
+
@overwrited_attributes = overwrited_attributes
|
8
|
+
@resources = ResourceStorages.instance
|
9
|
+
end
|
10
|
+
|
11
|
+
def build
|
12
|
+
resource = Resource.new
|
13
|
+
resource.id = @schema.sequence.next
|
14
|
+
resource.attributes = attributes
|
15
|
+
@resources[@schema.type] << resource
|
16
|
+
@schema.object ? @schema.object.new(resource.to_hash) : resource.to_hash
|
17
|
+
end
|
18
|
+
|
19
|
+
def attributes
|
20
|
+
process_dynamic_fields
|
21
|
+
overwrite_attributes
|
22
|
+
@fields
|
23
|
+
end
|
24
|
+
|
25
|
+
def process_dynamic_fields
|
26
|
+
@fields.each do |k,v|
|
27
|
+
@fields[k] = v.call(@schema.sequence.curr) if v.is_a?(Proc)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def overwrite_attributes
|
32
|
+
@fields.merge!(@overwrited_attributes)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module WebMock::Resources
|
2
|
+
class ResourceInstanceStorage < Array
|
3
|
+
|
4
|
+
def initialize resource_type
|
5
|
+
@resource_type = resource_type
|
6
|
+
end
|
7
|
+
|
8
|
+
def find id
|
9
|
+
super do |resource|
|
10
|
+
resource.id == id
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def << instance
|
15
|
+
super instance
|
16
|
+
|
17
|
+
Stubber.instance.stub_resource @resource_type, instance.id
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -1,23 +1,25 @@
|
|
1
1
|
module WebMock::Resources
|
2
2
|
class SchemaBuilder
|
3
|
-
|
4
|
-
|
3
|
+
|
4
|
+
def initialize resource_type
|
5
|
+
@schema = Schema.new resource_type
|
6
|
+
@schema.object = begin
|
7
|
+
resource_class = resource_type.to_s.classify
|
8
|
+
resource_class.constantize if Object.const_defined? resource_class
|
9
|
+
end
|
5
10
|
end
|
6
11
|
|
7
|
-
def attribute name, value=nil, &block
|
8
|
-
|
9
|
-
@schema[:fields][name] = block
|
10
|
-
else
|
11
|
-
@schema[:fields][name] = value
|
12
|
-
end
|
12
|
+
def attribute name, value = nil, &block
|
13
|
+
@schema.fields[name] = block_given? ? block : value
|
13
14
|
end
|
14
15
|
|
15
16
|
def object clazz
|
16
|
-
@schema
|
17
|
+
@schema.object = clazz
|
17
18
|
end
|
18
19
|
|
19
20
|
def to_hash
|
20
21
|
@schema
|
21
22
|
end
|
23
|
+
|
22
24
|
end
|
23
25
|
end
|
@@ -1,27 +1,30 @@
|
|
1
1
|
module WebMock::Resources
|
2
|
-
class SchemaStorage
|
3
|
-
@resources = {}
|
2
|
+
class SchemaStorage < Hash
|
4
3
|
|
5
|
-
def self.
|
6
|
-
@
|
4
|
+
def self.instance
|
5
|
+
@instance ||= new
|
7
6
|
end
|
8
7
|
|
9
|
-
def
|
10
|
-
|
8
|
+
def []= resource, schema
|
9
|
+
stub_resource resource
|
10
|
+
super resource, schema
|
11
11
|
end
|
12
12
|
|
13
|
-
def
|
14
|
-
|
13
|
+
def reset_sequences
|
14
|
+
each_value do |schema|
|
15
|
+
schema.reset_sequence
|
16
|
+
end
|
15
17
|
end
|
16
18
|
|
17
|
-
def
|
18
|
-
|
19
|
+
def stub_resource resource
|
20
|
+
Stubber.instance.stub_index resource
|
19
21
|
end
|
20
22
|
|
21
|
-
def
|
22
|
-
|
23
|
-
|
24
|
-
end
|
23
|
+
def reload_index_stubs
|
24
|
+
keys.each do |resource|
|
25
|
+
stub_resource resource
|
26
|
+
end
|
25
27
|
end
|
28
|
+
|
26
29
|
end
|
27
30
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module WebMock::Resources
|
2
|
+
class Stubber
|
3
|
+
include WebMock::API
|
4
|
+
|
5
|
+
def self.instance
|
6
|
+
@instance ||= new
|
7
|
+
end
|
8
|
+
|
9
|
+
def stub url, value = nil, &block
|
10
|
+
stub_request(:get, url).to_return(status: 200, headers: {'Content-Type' => 'application/json'}) do
|
11
|
+
{ body: JSON.dump(value || block.call) }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def stub_index resource_type
|
16
|
+
stub("webmock/api/#{resource_type}") do
|
17
|
+
ResourceStorages.instance[resource_type].map(&:to_hash)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def stub_resource resource_type, resource_id
|
22
|
+
stub("webmock/api/#{resource_type}/#{resource_id}", ResourceStorages.instance[resource_type].find(resource_id).to_hash)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
$LOAD_PATH.unshift './lib'
|
2
|
+
$LOAD_PATH.unshift './test'
|
3
|
+
|
4
|
+
require 'simplecov'
|
5
|
+
SimpleCov.start { add_filter 'test' }
|
6
|
+
|
7
|
+
require 'webmock-resources'
|
8
|
+
require 'httparty'
|
9
|
+
require 'minitest/autorun'
|
10
|
+
|
11
|
+
autoload :AutoloadedObject, 'autoloaded_object'
|
12
|
+
|
13
|
+
class SomeObject
|
14
|
+
attr_accessor :name
|
15
|
+
def initialize attrs = {}
|
16
|
+
self.name = attrs[:name]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class ComplexObj
|
21
|
+
attr_accessor :name, :registration, :email
|
22
|
+
def initialize attrs = {}
|
23
|
+
self.name = attrs[:name]
|
24
|
+
self.registration = attrs[:registration]
|
25
|
+
self.email = attrs[:email]
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
WebMock::Resources.define :returning_hashes do
|
30
|
+
attribute :name, 'hash_name'
|
31
|
+
end
|
32
|
+
|
33
|
+
WebMock::Resources.define :returning_objects do
|
34
|
+
object SomeObject
|
35
|
+
attribute :name, 'object_name'
|
36
|
+
end
|
37
|
+
|
38
|
+
WebMock::Resources.define :using_sequences do
|
39
|
+
attribute (:name) { |n| "REG:#{n}" }
|
40
|
+
end
|
41
|
+
|
42
|
+
WebMock::Resources.define :using_simple_proc do
|
43
|
+
attribute (:name) { "Vuala!" }
|
44
|
+
end
|
45
|
+
|
46
|
+
WebMock::Resources.define :complex_obj do
|
47
|
+
object ComplexObj
|
48
|
+
attribute :name, 'bla'
|
49
|
+
attribute (:registration) { |n| "REG:#{n}" }
|
50
|
+
attribute (:email) { "Email!" }
|
51
|
+
end
|
52
|
+
|
53
|
+
def reset
|
54
|
+
WebMock::Resources.refresh
|
55
|
+
end
|
56
|
+
|
57
|
+
def httparty_all resource
|
58
|
+
HTTParty.get "http://webmock/api/#{resource}", format: :json
|
59
|
+
end
|
60
|
+
|
61
|
+
def httparty_find resource, id
|
62
|
+
HTTParty.get "http://webmock/api/#{resource}/#{id}", format: :json
|
63
|
+
end
|
64
|
+
|
65
|
+
describe WebMock::Resources do
|
66
|
+
before { reset }
|
67
|
+
|
68
|
+
describe 'when no object is defined in define block' do
|
69
|
+
before { @resource = WebMock::Resources.create(:returning_hashes) }
|
70
|
+
|
71
|
+
it 'returns a hash of the created resource if no object defined in define block' do
|
72
|
+
@resource.must_be_kind_of Hash
|
73
|
+
@resource[:name].must_equal 'hash_name'
|
74
|
+
end
|
75
|
+
|
76
|
+
it 'mocks the index request for the resource type' do
|
77
|
+
@return = httparty_all 'returning_hashes'
|
78
|
+
@return.must_be_kind_of Array
|
79
|
+
@return.size.must_equal 1
|
80
|
+
@return.first.must_be_kind_of Hash
|
81
|
+
@return.first['id'].must_equal @resource[:id]
|
82
|
+
@return.first['name'].must_equal 'hash_name'
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'updates the index request mock upon creation of a new resource' do
|
86
|
+
@other_resource = WebMock::Resources.create(:returning_hashes)
|
87
|
+
|
88
|
+
@return = httparty_all 'returning_hashes'
|
89
|
+
@return.must_be_kind_of Array
|
90
|
+
@return.size.must_equal 2
|
91
|
+
@return.first.must_be_kind_of Hash
|
92
|
+
@return.first['id'].must_equal @resource[:id]
|
93
|
+
@return.first['name'].must_equal 'hash_name'
|
94
|
+
@return.last.must_be_kind_of Hash
|
95
|
+
@return.last['id'].must_equal @other_resource[:id]
|
96
|
+
@return.last['name'].must_equal 'hash_name'
|
97
|
+
end
|
98
|
+
|
99
|
+
it 'mocks the find request for the resource created' do
|
100
|
+
@return = httparty_find 'returning_hashes', 1
|
101
|
+
@return.must_be_kind_of Hash
|
102
|
+
@return['name'].must_equal 'hash_name'
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'returns an instance of the object defined in define block' do
|
107
|
+
@subject = WebMock::Resources.create(:returning_objects)
|
108
|
+
@subject.must_be_kind_of SomeObject
|
109
|
+
@subject.name.must_equal 'object_name'
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'accepts a sequence' do
|
113
|
+
@first_resource = WebMock::Resources.create(:using_sequences)
|
114
|
+
@second_resource = WebMock::Resources.create(:using_sequences)
|
115
|
+
@first_resource[:name].must_equal 'REG:1'
|
116
|
+
@second_resource[:name].must_equal 'REG:2'
|
117
|
+
end
|
118
|
+
|
119
|
+
it 'accepts a proc' do
|
120
|
+
@resource = WebMock::Resources.create(:using_simple_proc)
|
121
|
+
@resource[:name].must_equal 'Vuala!'
|
122
|
+
end
|
123
|
+
|
124
|
+
it 'feature mashup' do
|
125
|
+
@resource = WebMock::Resources.create(:complex_obj)
|
126
|
+
@resource.must_be_kind_of ComplexObj
|
127
|
+
@resource.name.must_equal 'bla'
|
128
|
+
@resource.registration.must_equal 'REG:1'
|
129
|
+
@resource.email.must_equal 'Email!'
|
130
|
+
end
|
131
|
+
|
132
|
+
it 'accepts overwritten attributes' do
|
133
|
+
@resource = WebMock::Resources.create(:complex_obj, name: 'foobar')
|
134
|
+
@resource.must_be_kind_of ComplexObj
|
135
|
+
@resource.name.must_equal 'foobar'
|
136
|
+
@resource.registration.must_equal 'REG:1'
|
137
|
+
@resource.email.must_equal 'Email!'
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'creates many' do
|
141
|
+
@resources = WebMock::Resources.create_many(:complex_obj, 2, name: 'foobar')
|
142
|
+
@resources.must_be_kind_of Array
|
143
|
+
@resources.first.name.must_equal 'foobar'
|
144
|
+
@resources.first.registration.must_equal 'REG:1'
|
145
|
+
@resources.first.email.must_equal 'Email!'
|
146
|
+
@resources.last.name.must_equal 'foobar'
|
147
|
+
@resources.last.registration.must_equal 'REG:2'
|
148
|
+
@resources.last.email.must_equal 'Email!'
|
149
|
+
end
|
150
|
+
|
151
|
+
WebMock::Resources.define :some_objects do
|
152
|
+
attribute :name, 'hash_name'
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'guesses the resource object based on the name' do
|
156
|
+
@resource = WebMock::Resources.create(:some_objects, name: 'foobar')
|
157
|
+
@resource.must_be_kind_of SomeObject
|
158
|
+
end
|
159
|
+
|
160
|
+
|
161
|
+
WebMock::Resources.define :autoloaded_objects do
|
162
|
+
attribute :name, 'hash_name'
|
163
|
+
end
|
164
|
+
|
165
|
+
it 'guesses the resource object based on the name when resource object is on autoload' do
|
166
|
+
@resource = WebMock::Resources.create(:autoloaded_objects, name: 'foobar')
|
167
|
+
@resource.must_be_kind_of AutoloadedObject
|
168
|
+
end
|
169
|
+
|
170
|
+
end
|
data/webmock-resources.gemspec
CHANGED
@@ -15,5 +15,9 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = WebMock::Resources::VERSION
|
17
17
|
|
18
|
+
gem.add_dependency "activesupport"
|
18
19
|
gem.add_dependency "webmock"
|
20
|
+
gem.add_development_dependency "minitest"
|
21
|
+
gem.add_development_dependency "simplecov"
|
22
|
+
gem.add_development_dependency "httparty"
|
19
23
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webmock-resources
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,24 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-06-
|
12
|
+
date: 2012-06-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: activesupport
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
14
30
|
- !ruby/object:Gem::Dependency
|
15
31
|
name: webmock
|
16
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -27,6 +43,54 @@ dependencies:
|
|
27
43
|
- - ! '>='
|
28
44
|
- !ruby/object:Gem::Version
|
29
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: minitest
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: simplecov
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: httparty
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
30
94
|
description: Remote resource definition for tests/specs
|
31
95
|
email:
|
32
96
|
- marcello.m.albuquerque@gmail.com
|
@@ -42,10 +106,18 @@ files:
|
|
42
106
|
- lib/webmock-resources.rb
|
43
107
|
- lib/webmock-resources/definition.rb
|
44
108
|
- lib/webmock-resources/factory.rb
|
109
|
+
- lib/webmock-resources/resource.rb
|
110
|
+
- lib/webmock-resources/resource_builder.rb
|
111
|
+
- lib/webmock-resources/resource_instance_storage.rb
|
112
|
+
- lib/webmock-resources/resource_storages.rb
|
113
|
+
- lib/webmock-resources/schema.rb
|
45
114
|
- lib/webmock-resources/schema_builder.rb
|
46
115
|
- lib/webmock-resources/schema_storage.rb
|
47
116
|
- lib/webmock-resources/sequence.rb
|
117
|
+
- lib/webmock-resources/stubber.rb
|
48
118
|
- lib/webmock-resources/version.rb
|
119
|
+
- test/autoloaded_object.rb
|
120
|
+
- test/integration_test.rb
|
49
121
|
- webmock-resources.gemspec
|
50
122
|
homepage: ''
|
51
123
|
licenses: []
|
@@ -67,8 +139,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
139
|
version: '0'
|
68
140
|
requirements: []
|
69
141
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.8.
|
142
|
+
rubygems_version: 1.8.24
|
71
143
|
signing_key:
|
72
144
|
specification_version: 3
|
73
145
|
summary: Remote resource definition for tests/specs
|
74
|
-
test_files:
|
146
|
+
test_files:
|
147
|
+
- test/autoloaded_object.rb
|
148
|
+
- test/integration_test.rb
|