lurker 0.5.6 → 0.5.7

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 (42) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +1 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.md +60 -24
  5. data/Rakefile +1 -1
  6. data/certs/razum2um.pem +21 -0
  7. data/features/controller_nested_schema_scaffolding.feature +5 -9
  8. data/features/controller_schema_scaffolding.feature +5 -9
  9. data/features/html_generation.feature +1 -1
  10. data/features/minitest.feature +140 -0
  11. data/features/multidomain_support.feature +1 -1
  12. data/features/partials.feature +3 -3
  13. data/features/request_nested_schema_scaffolding.feature +3 -3
  14. data/features/request_schema_scaffolding.feature +2 -2
  15. data/features/schema_suffixes.feature +4 -4
  16. data/features/step_definitions/additional_cli_steps.rb +9 -0
  17. data/features/support/env.rb +1 -1
  18. data/features/test_endpoint.feature +5 -5
  19. data/lib/lurker.rb +15 -0
  20. data/lib/lurker/cli.rb +2 -3
  21. data/lib/lurker/presenters/endpoint_presenter.rb +10 -4
  22. data/lib/lurker/request.rb +41 -0
  23. data/lib/lurker/response.rb +16 -0
  24. data/lib/lurker/schema.rb +0 -8
  25. data/lib/lurker/service.rb +2 -2
  26. data/lib/lurker/spec_helper.rb +2 -0
  27. data/lib/lurker/spec_helper/rails.rb +40 -0
  28. data/lib/lurker/spec_helper/rspec.rb +66 -0
  29. data/lib/lurker/spy.rb +88 -0
  30. data/lib/lurker/version.rb +1 -1
  31. data/lurker.gemspec +12 -9
  32. data/templates/generate_stuff.rb +29 -2
  33. data/templates/lurker_app.rb +27 -4
  34. data/templates/rails32_http_patch_support.rb +125 -0
  35. metadata +119 -57
  36. metadata.gz.sig +3 -0
  37. checksums.yaml.gz.asc +0 -12
  38. data.tar.gz.asc +0 -12
  39. data/lib/lurker/controller_spec_watcher.rb +0 -70
  40. data/lib/lurker/request_spec_watcher.rb +0 -80
  41. data/lib/lurker/spec_watcher.rb +0 -124
  42. metadata.gz.asc +0 -12
@@ -1,3 +1,3 @@
1
1
  module Lurker
2
- VERSION = "0.5.6"
2
+ VERSION = "0.5.7"
3
3
  end
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 = ["razum2um@mail.ru"]
11
- spec.summary = %q{Lukrs into your API rquest to tell you the truth.}
12
- spec.description = %q{It hooks in rspec controller methods to check theirs schema and let people try it}
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("execjs", "~> 2.0")
28
- spec.add_dependency("pdfkit", "~> 0.6")
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
@@ -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
 
@@ -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 'pry-debugger', group: :development
7
- gem 'pry-stack_explorer', group: :development
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
- gem 'lurker', github: 'razum2um/lurker', branch: 'master'
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.6
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
- date: 2014-05-13 00:00:00.000000000 Z
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: execjs
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: pdfkit
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: '0.6'
125
- - !ruby/object:Gem::Dependency
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: '0.9'
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: '0.9'
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
- description: It hooks in rspec controller methods to check theirs schema and let people
370
- try it
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
- - razum2um@mail.ru
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/request_spec_watcher.rb
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/spec_watcher.rb
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: Lukrs into your API rquest to tell you the truth.
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