webmock-resources 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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
|