lurker 0.5.6 → 0.5.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -0
- data.tar.gz.sig +0 -0
- data/README.md +60 -24
- data/Rakefile +1 -1
- data/certs/razum2um.pem +21 -0
- data/features/controller_nested_schema_scaffolding.feature +5 -9
- data/features/controller_schema_scaffolding.feature +5 -9
- data/features/html_generation.feature +1 -1
- data/features/minitest.feature +140 -0
- data/features/multidomain_support.feature +1 -1
- data/features/partials.feature +3 -3
- data/features/request_nested_schema_scaffolding.feature +3 -3
- data/features/request_schema_scaffolding.feature +2 -2
- data/features/schema_suffixes.feature +4 -4
- data/features/step_definitions/additional_cli_steps.rb +9 -0
- data/features/support/env.rb +1 -1
- data/features/test_endpoint.feature +5 -5
- data/lib/lurker.rb +15 -0
- data/lib/lurker/cli.rb +2 -3
- data/lib/lurker/presenters/endpoint_presenter.rb +10 -4
- data/lib/lurker/request.rb +41 -0
- data/lib/lurker/response.rb +16 -0
- data/lib/lurker/schema.rb +0 -8
- data/lib/lurker/service.rb +2 -2
- data/lib/lurker/spec_helper.rb +2 -0
- data/lib/lurker/spec_helper/rails.rb +40 -0
- data/lib/lurker/spec_helper/rspec.rb +66 -0
- data/lib/lurker/spy.rb +88 -0
- data/lib/lurker/version.rb +1 -1
- data/lurker.gemspec +12 -9
- data/templates/generate_stuff.rb +29 -2
- data/templates/lurker_app.rb +27 -4
- data/templates/rails32_http_patch_support.rb +125 -0
- metadata +119 -57
- metadata.gz.sig +3 -0
- checksums.yaml.gz.asc +0 -12
- data.tar.gz.asc +0 -12
- data/lib/lurker/controller_spec_watcher.rb +0 -70
- data/lib/lurker/request_spec_watcher.rb +0 -80
- data/lib/lurker/spec_watcher.rb +0 -124
- metadata.gz.asc +0 -12
data/lib/lurker/version.rb
CHANGED
data/lurker.gemspec
CHANGED
@@ -7,11 +7,13 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.name = "lurker"
|
8
8
|
spec.version = Lurker::VERSION
|
9
9
|
spec.authors = ["Vlad Bokov"]
|
10
|
-
spec.email = ["
|
11
|
-
spec.summary = %q{
|
12
|
-
spec.description = %q{
|
10
|
+
spec.email = ["bokov.vlad@gmail.com"]
|
11
|
+
spec.summary = %q{Get pretty, documented and visible API}
|
12
|
+
spec.description = %q{The new de-facto for API testing your Rails application}
|
13
13
|
spec.homepage = "http://github.com/razum2um/lurker"
|
14
14
|
spec.license = "MIT"
|
15
|
+
spec.cert_chain = ['certs/razum2um.pem']
|
16
|
+
spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $0 =~ /gem\z/
|
15
17
|
|
16
18
|
spec.files = `git ls-files`.split($/)
|
17
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
@@ -20,14 +22,10 @@ Gem::Specification.new do |spec|
|
|
20
22
|
|
21
23
|
spec.add_dependency("json", "~> 1.7")
|
22
24
|
spec.add_dependency("json-schema", "~> 2.2")
|
23
|
-
spec.add_dependency("kramdown", "~> 1.3")
|
24
25
|
spec.add_dependency("thor", "~> 0.19")
|
25
|
-
spec.add_dependency("diffy", "~> 3.0")
|
26
26
|
spec.add_dependency("sinatra", "~> 1.4")
|
27
|
-
spec.add_dependency("
|
28
|
-
spec.add_dependency("
|
29
|
-
spec.add_dependency("wkhtmltopdf-binary", "~> 0.9")
|
30
|
-
# spec.add_dependency("coderay", "~> 1.0")
|
27
|
+
spec.add_dependency("hashie", "~> 2.0")
|
28
|
+
spec.add_dependency("activesupport", ">= 3.2", "< 4.2")
|
31
29
|
|
32
30
|
# testing
|
33
31
|
spec.add_development_dependency("psych", "~> 2.0")
|
@@ -50,4 +48,9 @@ Gem::Specification.new do |spec|
|
|
50
48
|
# inner Gemfile isn"t getting used, but lib"s one
|
51
49
|
spec.add_development_dependency("rspec-rails", "~> 2.14")
|
52
50
|
spec.add_development_dependency("pg", "~> 0.16")
|
51
|
+
spec.add_development_dependency("kramdown", "~> 1.3")
|
52
|
+
spec.add_development_dependency("diffy", "~> 3.0")
|
53
|
+
spec.add_development_dependency("execjs", "~> 2.0")
|
54
|
+
spec.add_development_dependency("pdfkit", "~> 0.6")
|
55
|
+
spec.add_development_dependency("wkhtmltopdf-binary", "~> 0.9")
|
53
56
|
end
|
data/templates/generate_stuff.rb
CHANGED
@@ -92,6 +92,8 @@ file 'config/initializers/serializer.rb', force: true do
|
|
92
92
|
CODE
|
93
93
|
end
|
94
94
|
|
95
|
+
copy_file "#{File.expand_path '../../templates/rails32_http_patch_support.rb', __FILE__}", "config/initializers/rails32_http_patch_support.rb"
|
96
|
+
|
95
97
|
inject_into_class 'app/models/user.rb', 'User' do
|
96
98
|
<<-CODE
|
97
99
|
include ExactOrderAsJson
|
@@ -276,6 +278,30 @@ inject_into_class 'config/application.rb', 'Application' do
|
|
276
278
|
CODE
|
277
279
|
end
|
278
280
|
|
281
|
+
file 'test/test_helper.rb', force: true do
|
282
|
+
<<-CODE
|
283
|
+
ENV['RAILS_ENV'] ||= 'test'
|
284
|
+
require File.expand_path('../../config/environment', __FILE__)
|
285
|
+
require 'rails/test_help'
|
286
|
+
require 'database_cleaner'
|
287
|
+
|
288
|
+
class ActionDispatch::IntegrationTest
|
289
|
+
def setup
|
290
|
+
super if defined? super
|
291
|
+
%w[repos_id_seq users_id_seq].each do |id|
|
292
|
+
ActiveRecord::Base.connection.execute "ALTER SEQUENCE \#{id} RESTART WITH 1"
|
293
|
+
end
|
294
|
+
DatabaseCleaner.start
|
295
|
+
end
|
296
|
+
|
297
|
+
def teardown
|
298
|
+
super if defined? super
|
299
|
+
DatabaseCleaner.clean
|
300
|
+
end
|
301
|
+
end
|
302
|
+
CODE
|
303
|
+
end
|
304
|
+
|
279
305
|
file 'spec/support/fixme.rb', force: true do
|
280
306
|
<<-CODE
|
281
307
|
require 'simplecov'
|
@@ -299,8 +325,6 @@ file 'spec/support/fixme.rb', force: true do
|
|
299
325
|
require 'database_cleaner'
|
300
326
|
DatabaseCleaner.strategy = :truncation
|
301
327
|
|
302
|
-
require 'lurker/spec_watcher'
|
303
|
-
|
304
328
|
RSpec.configure do |c|
|
305
329
|
c.treat_symbols_as_metadata_keys_with_true_values = true
|
306
330
|
c.backtrace_exclusion_patterns += [
|
@@ -318,6 +342,9 @@ file 'spec/support/fixme.rb', force: true do
|
|
318
342
|
DatabaseCleaner.clean
|
319
343
|
end
|
320
344
|
end
|
345
|
+
|
346
|
+
require 'lurker/spec_helper'
|
347
|
+
|
321
348
|
CODE
|
322
349
|
end
|
323
350
|
|
data/templates/lurker_app.rb
CHANGED
@@ -3,16 +3,39 @@ gem 'rspec-rails'
|
|
3
3
|
gem 'spring-commands-rspec'
|
4
4
|
gem 'database_cleaner'
|
5
5
|
gem 'simplecov', '~> 0.7.1', require: false
|
6
|
-
gem '
|
7
|
-
gem '
|
6
|
+
gem 'kramdown', '~> 1.3'
|
7
|
+
gem 'pdfkit', '~> 0.5'
|
8
|
+
gem 'wkhtmltopdf-binary', '~> 0.9'
|
9
|
+
gem 'execjs'
|
10
|
+
gem 'coderay'
|
11
|
+
|
12
|
+
unless ENV['TRAVIS']
|
13
|
+
if RUBY_VERSION > '2.0.0'
|
14
|
+
gem 'pry-byebug', group: [:development, :test]
|
15
|
+
else
|
16
|
+
gem 'pry-debugger', group: [:development, :test]
|
17
|
+
end
|
18
|
+
gem 'pry-stack_explorer', group: [:development, :test]
|
19
|
+
end
|
20
|
+
|
8
21
|
gem 'unicorn', group: :production
|
9
22
|
gem 'therubyracer', group: :production
|
10
23
|
|
11
24
|
append_to_file 'Gemfile' do
|
25
|
+
gem = if ENV['TRAVIS']
|
26
|
+
"gem 'lurker', github: 'razum2um/lurker', branch: 'master'"
|
27
|
+
else
|
28
|
+
origin = `cd ../.. && git config --get remote.origin.url`.scan(/github\.com.(.*).git/).flatten.first.strip rescue 'razum2um/lurker'
|
29
|
+
branch = `cd ../.. && git rev-parse --abbrev-ref HEAD`.strip rescue 'master'
|
30
|
+
"gem 'lurker', github: '#{origin}', branch: '#{branch}'"
|
31
|
+
end
|
32
|
+
|
12
33
|
<<-CODE
|
13
34
|
|
14
|
-
# new line above is important
|
15
|
-
|
35
|
+
# new line above is important, branch is also important
|
36
|
+
# please, dont commit here: "gem 'lurker', path: '../../'"
|
37
|
+
# as I deploy this app instantly with this Gemfile
|
38
|
+
#{gem}
|
16
39
|
CODE
|
17
40
|
end
|
18
41
|
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# Rails 3.2 support for HTTP PATCH.
|
2
|
+
# https://gist.github.com/bf4/8940203
|
3
|
+
if Rails::VERSION::MAJOR < 4
|
4
|
+
# see http://weblog.rubyonrails.org/2012/2/26/edge-rails-patch-is-the-new-primary-http-method-for-updates/
|
5
|
+
# https://github.com/rails/rails/pull/505
|
6
|
+
|
7
|
+
ActionDispatch::Routing::Mapper::HttpHelpers.module_eval do
|
8
|
+
# Define a route that only recognizes HTTP PATCH.
|
9
|
+
# For supported arguments, see <tt>Base#match</tt>.
|
10
|
+
#
|
11
|
+
# Example:
|
12
|
+
#
|
13
|
+
# patch 'bacon', :to => 'food#bacon'
|
14
|
+
def patch(*args, &block)
|
15
|
+
map_method(:patch, *args, &block)
|
16
|
+
end
|
17
|
+
|
18
|
+
def put(*args, &block)
|
19
|
+
map_method(:put, *args, &block)
|
20
|
+
map_method(:patch, *args, &block)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
# Be very conservative not to monkey-patch any methods until
|
25
|
+
# the relevant files are loaded.
|
26
|
+
ActiveSupport.on_load(:action_controller) do
|
27
|
+
ActionDispatch::Request.module_eval do
|
28
|
+
# Is this a PATCH request?
|
29
|
+
# Equivalent to <tt>request.request_method == :patch</tt>.
|
30
|
+
def patch?
|
31
|
+
HTTP_METHOD_LOOKUP[request_method] == :patch
|
32
|
+
end
|
33
|
+
end
|
34
|
+
module ActionDispatch::Routing
|
35
|
+
HTTP_METHODS << :patch unless HTTP_METHODS.include?(:patch)
|
36
|
+
end
|
37
|
+
ActionDispatch::Integration::RequestHelpers.module_eval do
|
38
|
+
# Performs a PATCH request with the given parameters. See +#get+ for more
|
39
|
+
# details.
|
40
|
+
def patch(path, parameters = nil, headers = nil)
|
41
|
+
process :patch, path, parameters, headers
|
42
|
+
end
|
43
|
+
|
44
|
+
# Performs a PATCH request, following any subsequent redirect.
|
45
|
+
# See +request_via_redirect+ for more information.
|
46
|
+
def patch_via_redirect(path, parameters = nil, headers = nil)
|
47
|
+
request_via_redirect(:patch, path, parameters, headers)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
ActionDispatch::Integration::Runner.class_eval do
|
51
|
+
%w(patch).each do |method|
|
52
|
+
define_method(method) do |*args|
|
53
|
+
reset! unless integration_session
|
54
|
+
# reset the html_document variable, but only for new get/post calls
|
55
|
+
@html_document = nil unless method.in?(["cookies", "assigns"])
|
56
|
+
integration_session.__send__(method, *args).tap do
|
57
|
+
copy_session_variables!
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
module ActionController::TestCase::Behavior
|
63
|
+
def patch(action, parameters = nil, session = nil, flash = nil)
|
64
|
+
process(action, parameters, session, flash, "PATCH")
|
65
|
+
end
|
66
|
+
end
|
67
|
+
class ActionController::Responder
|
68
|
+
ACTIONS_FOR_VERBS.update(:patch => :edit)
|
69
|
+
delegate :patch?, :to => :request
|
70
|
+
end
|
71
|
+
ActionView::Helpers::FormHelper.module_eval do
|
72
|
+
# = Action View Form Helpers
|
73
|
+
def apply_form_for_options!(record, object, options) #:nodoc:
|
74
|
+
object = convert_to_model(object)
|
75
|
+
|
76
|
+
as = options[:as]
|
77
|
+
action, method = object.respond_to?(:persisted?) && object.persisted? ? [:edit, :patch] : [:new, :post]
|
78
|
+
options[:html].reverse_merge!(
|
79
|
+
:class => as ? "#{action}_#{as}" : dom_class(object, action),
|
80
|
+
:id => as ? "#{action}_#{as}" : [options[:namespace], dom_id(object, action)].compact.join("_").presence,
|
81
|
+
:method => method
|
82
|
+
)
|
83
|
+
|
84
|
+
options[:url] ||= polymorphic_path(record, :format => options.delete(:format))
|
85
|
+
end
|
86
|
+
private :apply_form_for_options!
|
87
|
+
end
|
88
|
+
module ActionDispatch::Routing::Mapper::Resources
|
89
|
+
class SingletonResource
|
90
|
+
def resource(*resources, &block)
|
91
|
+
options = resources.extract_options!.dup
|
92
|
+
|
93
|
+
if apply_common_behavior_for(:resource, resources, options, &block)
|
94
|
+
return self
|
95
|
+
end
|
96
|
+
|
97
|
+
resource_scope(:resource, SingletonResource.new(resources.pop, options)) do
|
98
|
+
yield if block_given?
|
99
|
+
|
100
|
+
collection do
|
101
|
+
post :create
|
102
|
+
end if parent_resource.actions.include?(:create)
|
103
|
+
|
104
|
+
new do
|
105
|
+
get :new
|
106
|
+
end if parent_resource.actions.include?(:new)
|
107
|
+
|
108
|
+
member do
|
109
|
+
get :edit if parent_resource.actions.include?(:edit)
|
110
|
+
get :show if parent_resource.actions.include?(:show)
|
111
|
+
if parent_resource.actions.include?(:update)
|
112
|
+
# all that for this PATCH
|
113
|
+
patch :update
|
114
|
+
put :update
|
115
|
+
end
|
116
|
+
delete :destroy if parent_resource.actions.include?(:destroy)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
self
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lurker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vlad Bokov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
|
-
cert_chain:
|
11
|
-
|
10
|
+
cert_chain:
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRMwEQYDVQQDDApib2tv
|
14
|
+
di52bGFkMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZFgNj
|
15
|
+
b20wHhcNMTQwNTIwMjAyOTAyWhcNMTUwNTIwMjAyOTAyWjBBMRMwEQYDVQQDDApi
|
16
|
+
b2tvdi52bGFkMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
|
17
|
+
FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCibrb/aiZX3kWo
|
18
|
+
Fmzo3gvGBFS9N18Q5rp9UTJRc4KxZQOay2WcgLjy1oU61r2Urjz3VDT4sg/yw3N3
|
19
|
+
YXIPqSTRl+OPIaafe45TVpF4mtMSsc1Gm/O3Sfoz6URiMd9iDtc2sTpaMgatL4pV
|
20
|
+
EExER9emjrmElRFknJD65E3gVDX7KXvrZYYAScJR33DADIGUgpuyHm29S7G/4WAy
|
21
|
+
ol6XfmPx+x5rM49QytGSNCQDYQ3SMMCo9wKkEm3Zcx0O4qhO8INevl/mvkAWLhOA
|
22
|
+
+0qldtuUx9wbBQ0D0wVR8LTafqWrIUHQjWXqrhWBqXhYeR3jj5aehBhpPFclHuKU
|
23
|
+
5GeILZrFAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
|
24
|
+
BBSiidH2CEJmkza+NBBJNLcnzQX57TAfBgNVHREEGDAWgRRib2tvdi52bGFkQGdt
|
25
|
+
YWlsLmNvbTAfBgNVHRIEGDAWgRRib2tvdi52bGFkQGdtYWlsLmNvbTANBgkqhkiG
|
26
|
+
9w0BAQUFAAOCAQEAVEyF63kQT9HKm3YIw1WzLvuOMvEUThzBomMMsTp9CGXWvem6
|
27
|
+
wZdMhxykwk1lga0OwsCn+wr1tWZ/cNeWqGSY00vTfLWdriK60xuRW7zT1Z5tmxbD
|
28
|
+
dq2ULdhII/qCFQlzDB/+IptO1rJLzfxTckoArmeYtkBV6LaVd7wpaRZnw0Apm93e
|
29
|
+
ph03YddPDbB34xTivvu4d6BBbKGxj/YN+1NLD9rMi6FspgcA4P1UlmKqyCluTbZj
|
30
|
+
vzKbYclpJ7gENr/xiTjGqA/Md3zJMzmsFrzUXt4RVmo5SaCyZjC6gFfhSr+PODc7
|
31
|
+
ZaSbckvH/+m4boAsg0JkGGFcS3j5fgNmdwgA1A==
|
32
|
+
-----END CERTIFICATE-----
|
33
|
+
date: 2014-05-21 00:00:00.000000000 Z
|
12
34
|
dependencies:
|
13
35
|
- !ruby/object:Gem::Dependency
|
14
36
|
name: json
|
@@ -38,20 +60,6 @@ dependencies:
|
|
38
60
|
- - "~>"
|
39
61
|
- !ruby/object:Gem::Version
|
40
62
|
version: '2.2'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: kramdown
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '1.3'
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '1.3'
|
55
63
|
- !ruby/object:Gem::Dependency
|
56
64
|
name: thor
|
57
65
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +74,6 @@ dependencies:
|
|
66
74
|
- - "~>"
|
67
75
|
- !ruby/object:Gem::Version
|
68
76
|
version: '0.19'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: diffy
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '3.0'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '3.0'
|
83
77
|
- !ruby/object:Gem::Dependency
|
84
78
|
name: sinatra
|
85
79
|
requirement: !ruby/object:Gem::Requirement
|
@@ -95,7 +89,7 @@ dependencies:
|
|
95
89
|
- !ruby/object:Gem::Version
|
96
90
|
version: '1.4'
|
97
91
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
92
|
+
name: hashie
|
99
93
|
requirement: !ruby/object:Gem::Requirement
|
100
94
|
requirements:
|
101
95
|
- - "~>"
|
@@ -109,33 +103,25 @@ dependencies:
|
|
109
103
|
- !ruby/object:Gem::Version
|
110
104
|
version: '2.0'
|
111
105
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
106
|
+
name: activesupport
|
113
107
|
requirement: !ruby/object:Gem::Requirement
|
114
108
|
requirements:
|
115
|
-
- - "
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0.6'
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
109
|
+
- - ">="
|
123
110
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
125
|
-
-
|
126
|
-
name: wkhtmltopdf-binary
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
111
|
+
version: '3.2'
|
112
|
+
- - "<"
|
130
113
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
114
|
+
version: '4.2'
|
132
115
|
type: :runtime
|
133
116
|
prerelease: false
|
134
117
|
version_requirements: !ruby/object:Gem::Requirement
|
135
118
|
requirements:
|
136
|
-
- - "
|
119
|
+
- - ">="
|
137
120
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
121
|
+
version: '3.2'
|
122
|
+
- - "<"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '4.2'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: psych
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -366,10 +352,79 @@ dependencies:
|
|
366
352
|
- - "~>"
|
367
353
|
- !ruby/object:Gem::Version
|
368
354
|
version: '0.16'
|
369
|
-
|
370
|
-
|
355
|
+
- !ruby/object:Gem::Dependency
|
356
|
+
name: kramdown
|
357
|
+
requirement: !ruby/object:Gem::Requirement
|
358
|
+
requirements:
|
359
|
+
- - "~>"
|
360
|
+
- !ruby/object:Gem::Version
|
361
|
+
version: '1.3'
|
362
|
+
type: :development
|
363
|
+
prerelease: false
|
364
|
+
version_requirements: !ruby/object:Gem::Requirement
|
365
|
+
requirements:
|
366
|
+
- - "~>"
|
367
|
+
- !ruby/object:Gem::Version
|
368
|
+
version: '1.3'
|
369
|
+
- !ruby/object:Gem::Dependency
|
370
|
+
name: diffy
|
371
|
+
requirement: !ruby/object:Gem::Requirement
|
372
|
+
requirements:
|
373
|
+
- - "~>"
|
374
|
+
- !ruby/object:Gem::Version
|
375
|
+
version: '3.0'
|
376
|
+
type: :development
|
377
|
+
prerelease: false
|
378
|
+
version_requirements: !ruby/object:Gem::Requirement
|
379
|
+
requirements:
|
380
|
+
- - "~>"
|
381
|
+
- !ruby/object:Gem::Version
|
382
|
+
version: '3.0'
|
383
|
+
- !ruby/object:Gem::Dependency
|
384
|
+
name: execjs
|
385
|
+
requirement: !ruby/object:Gem::Requirement
|
386
|
+
requirements:
|
387
|
+
- - "~>"
|
388
|
+
- !ruby/object:Gem::Version
|
389
|
+
version: '2.0'
|
390
|
+
type: :development
|
391
|
+
prerelease: false
|
392
|
+
version_requirements: !ruby/object:Gem::Requirement
|
393
|
+
requirements:
|
394
|
+
- - "~>"
|
395
|
+
- !ruby/object:Gem::Version
|
396
|
+
version: '2.0'
|
397
|
+
- !ruby/object:Gem::Dependency
|
398
|
+
name: pdfkit
|
399
|
+
requirement: !ruby/object:Gem::Requirement
|
400
|
+
requirements:
|
401
|
+
- - "~>"
|
402
|
+
- !ruby/object:Gem::Version
|
403
|
+
version: '0.6'
|
404
|
+
type: :development
|
405
|
+
prerelease: false
|
406
|
+
version_requirements: !ruby/object:Gem::Requirement
|
407
|
+
requirements:
|
408
|
+
- - "~>"
|
409
|
+
- !ruby/object:Gem::Version
|
410
|
+
version: '0.6'
|
411
|
+
- !ruby/object:Gem::Dependency
|
412
|
+
name: wkhtmltopdf-binary
|
413
|
+
requirement: !ruby/object:Gem::Requirement
|
414
|
+
requirements:
|
415
|
+
- - "~>"
|
416
|
+
- !ruby/object:Gem::Version
|
417
|
+
version: '0.9'
|
418
|
+
type: :development
|
419
|
+
prerelease: false
|
420
|
+
version_requirements: !ruby/object:Gem::Requirement
|
421
|
+
requirements:
|
422
|
+
- - "~>"
|
423
|
+
- !ruby/object:Gem::Version
|
424
|
+
version: '0.9'
|
425
|
+
description: The new de-facto for API testing your Rails application
|
371
426
|
email:
|
372
|
-
-
|
427
|
+
- bokov.vlad@gmail.com
|
373
428
|
executables:
|
374
429
|
- lurker
|
375
430
|
extensions: []
|
@@ -384,11 +439,13 @@ files:
|
|
384
439
|
- README.md
|
385
440
|
- Rakefile
|
386
441
|
- bin/lurker
|
442
|
+
- certs/razum2um.pem
|
387
443
|
- cucumber.yml
|
388
444
|
- features/README.md
|
389
445
|
- features/controller_nested_schema_scaffolding.feature
|
390
446
|
- features/controller_schema_scaffolding.feature
|
391
447
|
- features/html_generation.feature
|
448
|
+
- features/minitest.feature
|
392
449
|
- features/multidomain_support.feature
|
393
450
|
- features/partials.feature
|
394
451
|
- features/request_nested_schema_scaffolding.feature
|
@@ -404,7 +461,6 @@ files:
|
|
404
461
|
- lib/lurker.rb
|
405
462
|
- lib/lurker/capistrano.rb
|
406
463
|
- lib/lurker/cli.rb
|
407
|
-
- lib/lurker/controller_spec_watcher.rb
|
408
464
|
- lib/lurker/endpoint.rb
|
409
465
|
- lib/lurker/endpoint_scaffold.rb
|
410
466
|
- lib/lurker/engine.rb
|
@@ -419,12 +475,16 @@ files:
|
|
419
475
|
- lib/lurker/presenters/service_presenter.rb
|
420
476
|
- lib/lurker/ref_object.rb
|
421
477
|
- lib/lurker/rendering_controller.rb
|
422
|
-
- lib/lurker/
|
478
|
+
- lib/lurker/request.rb
|
479
|
+
- lib/lurker/response.rb
|
423
480
|
- lib/lurker/sandbox.rb
|
424
481
|
- lib/lurker/schema.rb
|
425
482
|
- lib/lurker/server.rb
|
426
483
|
- lib/lurker/service.rb
|
427
|
-
- lib/lurker/
|
484
|
+
- lib/lurker/spec_helper.rb
|
485
|
+
- lib/lurker/spec_helper/rails.rb
|
486
|
+
- lib/lurker/spec_helper/rspec.rb
|
487
|
+
- lib/lurker/spy.rb
|
428
488
|
- lib/lurker/tasks/capistrano.rake
|
429
489
|
- lib/lurker/templates/bootstrap.css.map
|
430
490
|
- lib/lurker/templates/fonts/FontAwesome.otf
|
@@ -478,6 +538,7 @@ files:
|
|
478
538
|
- spec/spec_helper.rb
|
479
539
|
- templates/generate_stuff.rb
|
480
540
|
- templates/lurker_app.rb
|
541
|
+
- templates/rails32_http_patch_support.rb
|
481
542
|
homepage: http://github.com/razum2um/lurker
|
482
543
|
licenses:
|
483
544
|
- MIT
|
@@ -501,12 +562,13 @@ rubyforge_project:
|
|
501
562
|
rubygems_version: 2.2.2
|
502
563
|
signing_key:
|
503
564
|
specification_version: 4
|
504
|
-
summary:
|
565
|
+
summary: Get pretty, documented and visible API
|
505
566
|
test_files:
|
506
567
|
- features/README.md
|
507
568
|
- features/controller_nested_schema_scaffolding.feature
|
508
569
|
- features/controller_schema_scaffolding.feature
|
509
570
|
- features/html_generation.feature
|
571
|
+
- features/minitest.feature
|
510
572
|
- features/multidomain_support.feature
|
511
573
|
- features/partials.feature
|
512
574
|
- features/request_nested_schema_scaffolding.feature
|