rack-rest-rspec 0.0.1a
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/Rakefile +60 -0
- data/VERSION +1 -0
- data/lib/rack-rest-rspec/helpers/hash.rb +14 -0
- data/lib/rack-rest-rspec/helpers/init.rb +2 -0
- data/lib/rack-rest-rspec/lib/restcrudservice.rb +45 -0
- data/lib/rack-rest-rspec/matchers/be_correctly_sent.rb +14 -0
- data/lib/rack-rest-rspec/matchers/init.rb +2 -0
- data/lib/rack-rest-rspec/matchers/respond_a_collection_of_record.rb +14 -0
- data/lib/rack-rest-rspec/matchers/respond_a_record.rb +14 -0
- data/lib/rack-rest-rspec/matchers/respond_with_collection_size.rb +14 -0
- data/lib/rack-rest-rspec/matchers/respond_with_data.rb +45 -0
- data/lib/rack-rest-rspec/matchers/respond_with_status.rb +14 -0
- data/lib/rack-rest-rspec/prepare.rb +7 -0
- data/lib/rack-rest-rspec/version.rb +4 -0
- data/rack-rest-rspec.gemspec +32 -0
- data/ultragreen_roodi_coding_convention.yml +25 -0
- metadata +265 -0
data/Rakefile
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require 'rubygems'
|
3
|
+
require 'rspec'
|
4
|
+
require 'rake'
|
5
|
+
require "rake/clean"
|
6
|
+
require "rubygems/package_task"
|
7
|
+
require "rdoc/task"
|
8
|
+
require 'code_statistics'
|
9
|
+
require 'rspec/core/rake_task'
|
10
|
+
require 'yard'
|
11
|
+
require 'yard/rake/yardoc_task.rb'
|
12
|
+
require "rake/tasklib"
|
13
|
+
require "roodi"
|
14
|
+
require "roodi_task"
|
15
|
+
require 'rake/version_task'
|
16
|
+
|
17
|
+
RoodiTask.new() do | t |
|
18
|
+
t.patterns = %w(lib/**/*.rb)
|
19
|
+
t.config = "ultragreen_roodi_coding_convention.yml"
|
20
|
+
end
|
21
|
+
|
22
|
+
|
23
|
+
CLEAN.include('*.tmp','*.old')
|
24
|
+
CLOBBER.include('*.tmp', 'build/*','#*#')
|
25
|
+
|
26
|
+
|
27
|
+
content = File::readlines(File.join(File.dirname(__FILE__), 'rack-rest-rspec.gemspec')).join
|
28
|
+
spec = eval(content)
|
29
|
+
|
30
|
+
RSpec::Core::RakeTask.new('spec')
|
31
|
+
|
32
|
+
YARD::Rake::YardocTask.new do |t|
|
33
|
+
t.files = [ 'lib/**/*.rb', '-', 'doc/**/*','spec/**/*_spec.rb']
|
34
|
+
t.options += ['--title', "Gem Documentation"]
|
35
|
+
t.options += ['-o', "yardoc"]
|
36
|
+
end
|
37
|
+
YARD::Config.load_plugin('yard-rspec')
|
38
|
+
|
39
|
+
namespace :yardoc do
|
40
|
+
task :clobber do
|
41
|
+
rm_r "yardoc" rescue nil
|
42
|
+
rm_r ".yardoc" rescue nil
|
43
|
+
end
|
44
|
+
end
|
45
|
+
task :clobber => "yardoc:clobber"
|
46
|
+
|
47
|
+
|
48
|
+
Gem::PackageTask.new(spec) do |pkg|
|
49
|
+
pkg.need_tar = true
|
50
|
+
pkg.need_zip = true
|
51
|
+
end
|
52
|
+
|
53
|
+
Rake::RDocTask.new('rdoc') do |d|
|
54
|
+
d.rdoc_files.include('doc/**/*','bin/*')
|
55
|
+
d.title = 'Dorsal : Yard'
|
56
|
+
d.options << '--line-numbers' << '--diagram' << '-SHN'
|
57
|
+
end
|
58
|
+
|
59
|
+
task :default => [:gem]
|
60
|
+
Rake::VersionTask.new
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1a
|
@@ -0,0 +1,45 @@
|
|
1
|
+
class RestCRUDService
|
2
|
+
|
3
|
+
attr_reader :path
|
4
|
+
attr_reader :object
|
5
|
+
attr_reader :browser
|
6
|
+
|
7
|
+
def initialize(params = {})
|
8
|
+
defaults = {
|
9
|
+
:path => '/api/',
|
10
|
+
:object => '',
|
11
|
+
:browser => Rack::Test::Session.new(Rack::MockSession.new(Sinatra::Application))
|
12
|
+
}
|
13
|
+
defaults.merge! params
|
14
|
+
@path = defaults[:path]
|
15
|
+
@object = defaults[:object]
|
16
|
+
@browser = defaults[:browser]
|
17
|
+
end
|
18
|
+
|
19
|
+
def url
|
20
|
+
return "#{@path}/#{@object}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_record _data
|
24
|
+
return @browser.post self.url, _data
|
25
|
+
end
|
26
|
+
|
27
|
+
def retrieve_all_records
|
28
|
+
return @browser.get self.url
|
29
|
+
end
|
30
|
+
|
31
|
+
def retrieve_record _nb
|
32
|
+
return @browser.get "#{self.url}/#{_nb}"
|
33
|
+
end
|
34
|
+
|
35
|
+
|
36
|
+
def update_record _nb,_data
|
37
|
+
return @browser.put "#{self.url}/#{_nb}", _data
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
def destroy_record _nb
|
42
|
+
return @browser.delete "#{self.url}/#{_nb}"
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec::Matchers.define :be_correctly_sent do
|
2
|
+
match do |actual|
|
3
|
+
actual.class == Rack::MockResponse
|
4
|
+
end
|
5
|
+
description do
|
6
|
+
"be a valid HTTP verb request with a valid response return"
|
7
|
+
end
|
8
|
+
failure_message do |actual|
|
9
|
+
"expected this HTTP verb request to return a valid response, \nneed : Rack::MockResponse \ngot : #{actual.class}"
|
10
|
+
end
|
11
|
+
failure_message_when_negated do |actual|
|
12
|
+
"expected this HTTP verb request to not return a valid response, \nneed : Rack::MockResponse \ngot : #{actual.class}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec::Matchers.define :respond_a_collection_of_record do
|
2
|
+
match do |actual|
|
3
|
+
JSON::parse(actual.browser.last_response.body).class == Array
|
4
|
+
end
|
5
|
+
description do
|
6
|
+
"respond with a record collection (Array)"
|
7
|
+
end
|
8
|
+
failure_message do |actual|
|
9
|
+
"expected #{actual} response body would be a collection \nneed : Array, \ngot : #{JSON::parse(actual.browser.last_response.body).class}"
|
10
|
+
end
|
11
|
+
failure_message_when_negated do |actual|
|
12
|
+
"expected #{actual} response body would not be a collection \nneed : Array, \ngot : #{JSON::parse(actual.browser.last_response.body).class}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec::Matchers.define :respond_a_record do
|
2
|
+
match do |actual|
|
3
|
+
JSON::parse(actual.browser.last_response.body).class == Hash
|
4
|
+
end
|
5
|
+
description do
|
6
|
+
"respond with a record (Hash)"
|
7
|
+
end
|
8
|
+
failure_message do |actual|
|
9
|
+
"expected #{actual} response body would be a record \nneed : Hash, \ngot : #{JSON::parse(actual.browser.last_response.body).class}"
|
10
|
+
end
|
11
|
+
failure_message_when_negated do |actual|
|
12
|
+
"expected #{actual} response body would not be a record \nneed : Hash, \ngot : #{JSON::parse(actual.browser.last_response.body).class}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec::Matchers.define :respond_with_collection_size do |expected|
|
2
|
+
match do |actual|
|
3
|
+
JSON::parse(actual.browser.last_response.body).size == expected
|
4
|
+
end
|
5
|
+
description do
|
6
|
+
"respond with a collection of record size of #{expected}"
|
7
|
+
end
|
8
|
+
failure_message do |actual|
|
9
|
+
"expected #{actual} response body collection would have a size of #{expected}, \ngot #{JSON::parse(actual.browser.last_response.body).size}"
|
10
|
+
end
|
11
|
+
failure_message_when_negated do |actual|
|
12
|
+
"expected #{actual} response body collection would not have a size of #{expected}, \ngot #{JSON::parse(actual.browser.last_response.body).size}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
def compare_array_of_hash expected, actual
|
2
|
+
if expected.size == actual.size then
|
3
|
+
res = true
|
4
|
+
actual.each_with_index do |item,index|
|
5
|
+
res = false unless item == expected[index]
|
6
|
+
end
|
7
|
+
return res
|
8
|
+
else
|
9
|
+
return false
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def prepare_array data
|
14
|
+
data = (data.class == Hash)? [data] : data
|
15
|
+
data.each do |ahash|
|
16
|
+
ahash.symbolize!
|
17
|
+
end
|
18
|
+
return data
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
RSpec::Matchers.define :respond_with_data do |expected|
|
23
|
+
result = ""
|
24
|
+
match do |actual|
|
25
|
+
result = actual.browser.last_response.body
|
26
|
+
if result.empty? then
|
27
|
+
false
|
28
|
+
else
|
29
|
+
result = JSON::parse(result)
|
30
|
+
result = prepare_array result
|
31
|
+
expected = prepare_array expected
|
32
|
+
compare_array_of_hash expected,result
|
33
|
+
end
|
34
|
+
end
|
35
|
+
description do
|
36
|
+
"respond with corresponding data"
|
37
|
+
end
|
38
|
+
failure_message do |actual|
|
39
|
+
"expected #{actual} response body would be equal \nto : #{expected}, \ngot : #{result}"
|
40
|
+
end
|
41
|
+
failure_message_when_negated do |actual|
|
42
|
+
"expected #{actual} response body would not be equal \nto : #{expected}, \ngot : #{result}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
RSpec::Matchers.define :respond_with_status do |expected|
|
2
|
+
match do |actual|
|
3
|
+
actual.browser.last_response.status == expected
|
4
|
+
end
|
5
|
+
description do
|
6
|
+
"respond with status code equal to #{expected}"
|
7
|
+
end
|
8
|
+
failure_message do |actual|
|
9
|
+
"expected #{actual} response would be equal \nto : #{expected} \ngot : #{actual.browser.last_response.status}"
|
10
|
+
end
|
11
|
+
failure_message_when_negated do |actual|
|
12
|
+
"expected #{actual} response would not be equal \nto : #{expected} \ngot : #{actual.browser.last_response.status}"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'rack-rest-rspec/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "rack-rest-rspec"
|
8
|
+
spec.version = RackRestRspec::VERSION
|
9
|
+
spec.authors = ["Romain GEORGES"]
|
10
|
+
spec.email = ["romain@ultragreen.net"]
|
11
|
+
spec.summary = %q{Rack-rest-rspec: RSpec Matchers for REST Rack webservice }
|
12
|
+
spec.description = %q{Rack-rest-rspec: RSpec Matchers for REST Rack webservice }
|
13
|
+
spec.homepage = "http://github.com/Ultragreen/rack-rest-rspec"
|
14
|
+
spec.license = "BSD-2"
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
21
|
+
spec.add_development_dependency "rake"
|
22
|
+
spec.add_development_dependency 'rspec', '~> 2.14', '>= 2.14.1'
|
23
|
+
spec.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.2'
|
24
|
+
spec.add_development_dependency 'rdoc', '~> 4.0', '>= 4.0.1'
|
25
|
+
spec.add_development_dependency 'roodi', '~> 3.1', '>= 3.1.1'
|
26
|
+
spec.add_development_dependency 'code_statistics', '~> 0.2', '>= 0.2.13'
|
27
|
+
spec.add_development_dependency 'yard-rspec', '~> 0.1'
|
28
|
+
spec.add_development_dependency "version", "~> 1.0",'>= 1.0.0'
|
29
|
+
spec.add_runtime_dependency "rack-test", "~> 0.6", ">= 0.6.3"
|
30
|
+
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
AssignmentInConditionalCheck:
|
2
|
+
CaseMissingElseCheck:
|
3
|
+
ClassLineCountCheck:
|
4
|
+
line_count: 300
|
5
|
+
ClassNameCheck:
|
6
|
+
pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/
|
7
|
+
#ClassVariableCheck:
|
8
|
+
CyclomaticComplexityBlockCheck:
|
9
|
+
complexity: 5
|
10
|
+
CyclomaticComplexityMethodCheck:
|
11
|
+
complexity: 10
|
12
|
+
EmptyRescueBodyCheck:
|
13
|
+
ForLoopCheck:
|
14
|
+
MethodLineCountCheck:
|
15
|
+
line_count: 30
|
16
|
+
MethodNameCheck:
|
17
|
+
pattern: !ruby/regexp /^[_a-z<>=\[|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/
|
18
|
+
# MissingForeignKeyIndexCheck:
|
19
|
+
ModuleLineCountCheck:
|
20
|
+
line_count: 500
|
21
|
+
ModuleNameCheck:
|
22
|
+
pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/
|
23
|
+
ParameterNumberCheck:
|
24
|
+
parameter_count: 5
|
25
|
+
|
metadata
ADDED
@@ -0,0 +1,265 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rack-rest-rspec
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1a
|
5
|
+
prerelease: 5
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Romain GEORGES
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2015-11-02 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: bundler
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ~>
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.5'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.5'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rake
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: rspec
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.14'
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 2.14.1
|
57
|
+
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
none: false
|
61
|
+
requirements:
|
62
|
+
- - ~>
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '2.14'
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 2.14.1
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: yard
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.8'
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: 0.8.7.2
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: !ruby/object:Gem::Requirement
|
82
|
+
none: false
|
83
|
+
requirements:
|
84
|
+
- - ~>
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '0.8'
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.8.7.2
|
90
|
+
- !ruby/object:Gem::Dependency
|
91
|
+
name: rdoc
|
92
|
+
requirement: !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ~>
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '4.0'
|
98
|
+
- - ! '>='
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: 4.0.1
|
101
|
+
type: :development
|
102
|
+
prerelease: false
|
103
|
+
version_requirements: !ruby/object:Gem::Requirement
|
104
|
+
none: false
|
105
|
+
requirements:
|
106
|
+
- - ~>
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '4.0'
|
109
|
+
- - ! '>='
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: 4.0.1
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: roodi
|
114
|
+
requirement: !ruby/object:Gem::Requirement
|
115
|
+
none: false
|
116
|
+
requirements:
|
117
|
+
- - ~>
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '3.1'
|
120
|
+
- - ! '>='
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: 3.1.1
|
123
|
+
type: :development
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
none: false
|
127
|
+
requirements:
|
128
|
+
- - ~>
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '3.1'
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 3.1.1
|
134
|
+
- !ruby/object:Gem::Dependency
|
135
|
+
name: code_statistics
|
136
|
+
requirement: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0.2'
|
142
|
+
- - ! '>='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 0.2.13
|
145
|
+
type: :development
|
146
|
+
prerelease: false
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
148
|
+
none: false
|
149
|
+
requirements:
|
150
|
+
- - ~>
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0.2'
|
153
|
+
- - ! '>='
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: 0.2.13
|
156
|
+
- !ruby/object:Gem::Dependency
|
157
|
+
name: yard-rspec
|
158
|
+
requirement: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
160
|
+
requirements:
|
161
|
+
- - ~>
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0.1'
|
164
|
+
type: :development
|
165
|
+
prerelease: false
|
166
|
+
version_requirements: !ruby/object:Gem::Requirement
|
167
|
+
none: false
|
168
|
+
requirements:
|
169
|
+
- - ~>
|
170
|
+
- !ruby/object:Gem::Version
|
171
|
+
version: '0.1'
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
name: version
|
174
|
+
requirement: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
176
|
+
requirements:
|
177
|
+
- - ~>
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '1.0'
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: 1.0.0
|
183
|
+
type: :development
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ~>
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '1.0'
|
191
|
+
- - ! '>='
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 1.0.0
|
194
|
+
- !ruby/object:Gem::Dependency
|
195
|
+
name: rack-test
|
196
|
+
requirement: !ruby/object:Gem::Requirement
|
197
|
+
none: false
|
198
|
+
requirements:
|
199
|
+
- - ~>
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0.6'
|
202
|
+
- - ! '>='
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: 0.6.3
|
205
|
+
type: :runtime
|
206
|
+
prerelease: false
|
207
|
+
version_requirements: !ruby/object:Gem::Requirement
|
208
|
+
none: false
|
209
|
+
requirements:
|
210
|
+
- - ~>
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: '0.6'
|
213
|
+
- - ! '>='
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: 0.6.3
|
216
|
+
description: ! 'Rack-rest-rspec: RSpec Matchers for REST Rack webservice '
|
217
|
+
email:
|
218
|
+
- romain@ultragreen.net
|
219
|
+
executables: []
|
220
|
+
extensions: []
|
221
|
+
extra_rdoc_files: []
|
222
|
+
files:
|
223
|
+
- Rakefile
|
224
|
+
- VERSION
|
225
|
+
- lib/rack-rest-rspec/helpers/hash.rb
|
226
|
+
- lib/rack-rest-rspec/helpers/init.rb
|
227
|
+
- lib/rack-rest-rspec/lib/restcrudservice.rb
|
228
|
+
- lib/rack-rest-rspec/matchers/be_correctly_sent.rb
|
229
|
+
- lib/rack-rest-rspec/matchers/init.rb
|
230
|
+
- lib/rack-rest-rspec/matchers/respond_a_collection_of_record.rb
|
231
|
+
- lib/rack-rest-rspec/matchers/respond_a_record.rb
|
232
|
+
- lib/rack-rest-rspec/matchers/respond_with_collection_size.rb
|
233
|
+
- lib/rack-rest-rspec/matchers/respond_with_data.rb
|
234
|
+
- lib/rack-rest-rspec/matchers/respond_with_status.rb
|
235
|
+
- lib/rack-rest-rspec/prepare.rb
|
236
|
+
- lib/rack-rest-rspec/version.rb
|
237
|
+
- rack-rest-rspec.gemspec
|
238
|
+
- ultragreen_roodi_coding_convention.yml
|
239
|
+
homepage: http://github.com/Ultragreen/rack-rest-rspec
|
240
|
+
licenses:
|
241
|
+
- BSD-2
|
242
|
+
post_install_message:
|
243
|
+
rdoc_options: []
|
244
|
+
require_paths:
|
245
|
+
- lib
|
246
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
+
none: false
|
248
|
+
requirements:
|
249
|
+
- - ! '>='
|
250
|
+
- !ruby/object:Gem::Version
|
251
|
+
version: '0'
|
252
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
253
|
+
none: false
|
254
|
+
requirements:
|
255
|
+
- - ! '>'
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 1.3.1
|
258
|
+
requirements: []
|
259
|
+
rubyforge_project:
|
260
|
+
rubygems_version: 1.8.23
|
261
|
+
signing_key:
|
262
|
+
specification_version: 3
|
263
|
+
summary: ! 'Rack-rest-rspec: RSpec Matchers for REST Rack webservice'
|
264
|
+
test_files: []
|
265
|
+
has_rdoc:
|