lurker 0.5.5 → 0.5.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.gitignore +1 -0
  5. data/Gemfile +1 -0
  6. data/README.md +35 -16
  7. data/Rakefile +71 -21
  8. data/features/README.md +1 -1
  9. data/features/{controller_specs/nested_schema_scaffolding.feature → controller_nested_schema_scaffolding.feature} +7 -3
  10. data/features/{controller_specs/schema_scaffolding.feature → controller_schema_scaffolding.feature} +13 -3
  11. data/features/{docs_generation/html_generation.feature → html_generation.feature} +3 -7
  12. data/features/{docs_generation/multidomain_support.feature → multidomain_support.feature} +1 -3
  13. data/features/{docs_generation/partials.feature → partials.feature} +0 -0
  14. data/features/{request_specs/nested_schema_scaffolding.feature → request_nested_schema_scaffolding.feature} +9 -3
  15. data/features/{request_specs/schema_scaffolding.feature → request_schema_scaffolding.feature} +11 -3
  16. data/features/{request_specs/schema_suffixes.feature → schema_suffixes.feature} +8 -27
  17. data/features/{controller_specs/test_endpoint.feature → test_endpoint.feature} +9 -17
  18. data/lib/lurker/cli.rb +20 -1
  19. data/lib/lurker/endpoint_scaffold.rb +4 -2
  20. data/lib/lurker/templates/javascripts/application.js +3 -1
  21. data/lib/lurker/templates/layouts/application.html.erb +15 -1
  22. data/lib/lurker/templates/public/application.css +2 -7440
  23. data/lib/lurker/templates/public/application.js +13 -44751
  24. data/lib/lurker/templates/stylesheets/application.css +3 -0
  25. data/lib/lurker/version.rb +1 -1
  26. data/lurker.gemspec +5 -4
  27. data/templates/generate_stuff.rb +23 -4
  28. data/templates/lurker_app.rb +3 -2
  29. metadata +34 -26
  30. metadata.gz.asc +7 -7
  31. data/features/controller_specs/readme.md +0 -4
  32. data/features/docs_generation/readme.md +0 -2
  33. data/features/request_specs/readme.md +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 952b043f8da8f4b196d52d6d24fb05aa4e1a5766
4
- data.tar.gz: 19afcf3e67b54a0536e071f36ff99a3f8b76083e
3
+ metadata.gz: ad859d0f48735e26b9982192d403652155d5b24c
4
+ data.tar.gz: 52923c3207cb795bd749a599ece81ba0d2ac0fc7
5
5
  SHA512:
6
- metadata.gz: 17062f274191d624db5bfd6c3cc953744abd7474d53aa8ef5355b2578eec769514618fd3f26ffceb42993d8cc419a61e280578d5976a1948cd26bc7e1b28dad8
7
- data.tar.gz: db85104a0f2e96a7a8a781ebbd672fb7493759d6ee500eebbc6eff9216919d2b47b140dd74527db8de570a4fc558970416a1acd0ee9f9860bc96f131c12c582a
6
+ metadata.gz: 7270039d305264702ad81589cf632ef42675bf76d32402db628b1c5c9decb0475e84c4bb4b5771653dfb34e5bbe9c95c7290947b88f7d78d3566e821a0938851
7
+ data.tar.gz: 882a2631d4ff8333774bad0826fda58da98eff73e4df9d238f6bc07c6f96b86ee263433c594e4e104a3ab948ee41e0dad13c59b6cf674a99efcd5a631995d7e5
checksums.yaml.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG v1
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABCgAGBQJTa7ALAAoJENcoxKfNVdjbmXMIAIoAFZuoZELYYnXJqf1jXdfe
6
- 7ZLYhPoI/J5TmxYoJ8D7pzJSw1IK00kmKitFsMmIRjDO5WlaOJoJJWKoQ4KFbo5K
7
- rCmRfwdOMNyWSK1dtdwpQkJHs1l/s/VQc9qydyRocjhFeDGh0QWlWyaOOwNXw6Wd
8
- Z5lMJRQIGF9AydjhQJxkQ8N7p675rnJanRtbZdWaO0QlYgSjDXYwmwnhmWfCHAIY
9
- obGKYXX6vEuUDvHkVpgmn/F33VCLOrsKv4GNh0VWZFmKxgeb937u06GxJawd+m+t
10
- XlHCtubTPwHx4quUNgo1/UARfsQqS8bMIHZgp7gADK4olz8iJY6MzMrtIdiyzbQ=
11
- =3uqV
5
+ iQEcBAABCgAGBQJTccHbAAoJENcoxKfNVdjb6/IH/R1XMxCti1sKez8IUMA4eY2d
6
+ u9QxT+0Z4lEkGNPs1ycqngH7fMnrN1qYnRK6KW+8HJAteUECdEOZ1qaQSpRXBC+c
7
+ ugXow6Kei6TIO4432/AjApk00mDCsv3YosNMUOj6lXyt8K3GCh8PNt8L1bPhk3CV
8
+ 6/mDw33hv9rKU0mCvzursiOxHpEsSQZ8lgi8O6q9YwouyHtEsrVMNEJPYIgU20sX
9
+ TUmNSxBFwX0/1orF64egekpT5zxcHUB8BRz4VsVD50evtYCBqLAaMZLZIf6J8rQM
10
+ cnHqMV2tS4SBKr4Tq7YKItTWGafIK3F1F6jeIgrzxWjNpVxt/wC0lCw9NHm+2Nc=
11
+ =dHhQ
12
12
  -----END PGP SIGNATURE-----
data.tar.gz.asc CHANGED
@@ -2,11 +2,11 @@
2
2
  Version: GnuPG v1
3
3
  Comment: GPGTools - http://gpgtools.org
4
4
 
5
- iQEcBAABCgAGBQJTa7AIAAoJENcoxKfNVdjbojcIAOHRH9llFujEsRcOVizaQ2Sb
6
- DydmPntKMNLqRrkyR9xlLqrL5ybfDGMvd7gpHnpXLzeoKA07nnQk7MNyqUl71cps
7
- TJ+A6o5bY+DGL4/WTyrzEpNFlkOwi9pEXUUCgYik2JOTZ+xK+2m0J72eh1zXO+fp
8
- o4v/+g8crVqgOLMIK+VNABJCWH7rvP/7oJooRs46v2Av5u7HCgc9iQA0+uu9ry3d
9
- HNo3sFqRq3cFiYVVz8GXngcgQAv44ageYRXi1xXKAcXMKDgK0seZ+yuLbI/OKiNx
10
- ED1rbJavgA/mhp8mCsdhk74SwRyWDo2TvJCK96D7iSmb5FapBqByKK1JkFX3Vd4=
11
- =dJ5L
5
+ iQEcBAABCgAGBQJTccHYAAoJENcoxKfNVdjbFuAIANv5LvoJolrzbd5jBPqb/u4u
6
+ PqveFsfu/9//EVq9sB+vZQ1av7Hrn7OYXkibhmvrvHwqO9l8Ve3/V0dQeAztk9qK
7
+ Xf9hA8hUBbP7uqbbhm+SfvL3I0oVE9nFYdG+eP853v2XqwNHcJSNb4D6vXWah1XU
8
+ 6jiUSkaUZH2appqQRZfA5xLM9E+ZMq9iRktUWkKXSWUeRKOdizNSs+HtbCTiblqy
9
+ IWwpSR2yJAg4/fHAC25X7DoOSCs6ENfl2ZuhOIISLykZHsT17ni22dqdCMnUDDl6
10
+ YWsQcygfxDezC9WiIGrEJJwYv1KelMvGszHWyyqOT5R/v219KN4XjTdTuYLeNL8=
11
+ =lqHA
12
12
  -----END PGP SIGNATURE-----
data/.gitignore CHANGED
@@ -20,3 +20,4 @@ features/support/selenuim.rb
20
20
  Gemfile.local.lock
21
21
  _site
22
22
  gemfiles/*lock
23
+ gh-pages
data/Gemfile CHANGED
@@ -20,6 +20,7 @@ group :development do
20
20
  # run `rake assets:precompile`
21
21
  # to get bundled application.(js|css)
22
22
  gem 'sprockets'
23
+ gem 'uglifier'
23
24
  gem 'sass-rails'
24
25
  gem 'coffee-rails'
25
26
  gem 'bootstrap-sass', '~> 3.1.1'
data/README.md CHANGED
@@ -33,6 +33,9 @@ but scaffolded schemas are pretty good by default.
33
33
  A lurker/api/v1/users-GET.json.yml
34
34
  A lurker/api/v1/users/__user_id/repos-GET.json.yml
35
35
 
36
+ I also advise you to look on [Understanding JSON Schema][json_schema_book] book,
37
+ it is up-to-date with draft4 and contains lot's of examples.
38
+
36
39
  ## Profit!
37
40
 
38
41
  Now, every test run lurker will look into your requests and [vaditate them][failed_spec_example]
@@ -87,12 +90,19 @@ are increasing notwithstanding ROLLBACK is called. As such:
87
90
  - ensure the same token to be accepted on your demo application
88
91
  - insert `Lurker::Sandbox` and the recorded examples should be ok to submit again
89
92
 
90
- ## Demo application
93
+ ## [Demo application][demo_app3]
94
+
95
+ You can clone the repo & run `rake build_example_docs && cd tmp/lurker_app && bin/rails s`
96
+ to get your running demo.
97
+
98
+ Lurker supports multiple domains (usually `staging` and `production`) and can be deployed
99
+ statically everywhere as well as be served by current `Rails` instance.
91
100
 
92
- You can clone the repo & run `rake build_example_docs`.
93
- It will generate testing rails application under `tmp/lurker_app`.
94
- Currently it is deployed [here][demo_app] within sandbox mode and [here][demo_app2].
101
+ For example:
95
102
 
103
+ - [Github Pages][demo_app3] is deployed statically; no api endpoint
104
+ - [Custom domain][demo_app2] html deployed under nginx; passenger serves demo api production endpoint
105
+ - [Heroku][demo_app] html is served by unicorn as well as staging api endpoint in `Sandbox` mode
96
106
 
97
107
  ## Contributions
98
108
 
@@ -107,13 +117,13 @@ I try to use [Waffle][waffle] to develop this gem, if you want to help:
107
117
  - drag an issue to "In Progress" and assign to yourself
108
118
  - have fun!
109
119
 
110
- **NOTICE:** to get new version of bundled `bootstrap` or update js/css,
120
+ **NOTE:** to get new version of bundled `bootstrap` or update js/css,
111
121
  don't touch files under `lib/lurker/templates/public` - they are autogenerated
112
122
  and copied to static generated site while `bin/lurker convert`
113
123
 
114
124
  rake assets:precompile # to build them
115
125
 
116
- Don't commit them to avoid conflicts.
126
+ Don't commit `lib/lurker/templates/public/**/*` to avoid conflicts.
117
127
 
118
128
  **NOTE:** if you write features keep in mind to generate different files with aruba,
119
129
  because they are kept in `lurker_app` directory to be deployed as a demo. Please, write
@@ -134,9 +144,14 @@ This gem is quite opinionated and relies on rails & rspec - if you're
134
144
  interested in anything else, please take a look at [api_taster][api_taster] or [fdoc][fdoc],
135
145
  This gem is heavily inspirated by them. Thanks, @square & @fredwu
136
146
 
137
- Also thanks to [Andrey Deryabin][aderyabin] for advice and [React.js][reactjs] for two-way binding.
147
+ Also thanks to
148
+
149
+ - [Andrey Deryabin][aderyabin] for advice
150
+ - [React.js][reactjs] for two-way binding
151
+ - [highlight.js][hljs] for syntax highlighting
138
152
 
139
153
  [aderyabin]: https://twitter.com/aderyabin
154
+ [hljs]: http://highlightjs.org/
140
155
  [waffle]: https://waffle.io/razum2um/lurker
141
156
  [gh_api]: https://developer.github.com/v3/meta/
142
157
  [rspec]: https://github.com/rspec/rspec-rails
@@ -147,19 +162,23 @@ Also thanks to [Andrey Deryabin][aderyabin] for advice and [React.js][reactjs] f
147
162
  [rspec_request_spec]: https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec
148
163
  [json_schema]: http://json-schema.org/
149
164
  [json_schema_example]: http://json-schema.org/example2.html
150
- [failed_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/controller-specs/test-endpoint
151
- [controler_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/controller-specs/schema-scaffolding
152
- [nested_controller_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/controller-specs/nested-schema-scaffolding
153
- [request_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/request-specs/schema-scaffolding
154
- [html_generation_example]: https://www.relishapp.com/razum2um/lurker/docs/docs-generation/html-generation
155
- [partial_example]: https://www.relishapp.com/razum2um/lurker/docs/docs-generation/partials
156
- [partial_example_demo]: http://lurker-app.herokuapp.com/lurker/api/v1/users/__user_id/repos-POST.html
165
+ [json_schema_book]: http://spacetelescope.github.io/understanding-json-schema/
157
166
  [evil_martians]: http://evilmartians.com/
167
+
168
+ [failed_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/test-endpoint
169
+ [controler_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/controller-schema-scaffolding
170
+ [nested_controller_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/controller-nested-schema-scaffolding
171
+ [request_spec_example]: https://www.relishapp.com/razum2um/lurker/docs/request-schema-scaffolding
172
+ [html_generation_example]: https://www.relishapp.com/razum2um/lurker/docs/html-generation
173
+ [partial_example]: https://www.relishapp.com/razum2um/lurker/docs/partials
174
+ [suffixes_example]: https://www.relishapp.com/razum2um/lurker/docs/request-schema-suffixes
175
+
158
176
  [demo_app]: http://lurker-app.herokuapp.com
159
177
  [demo_app2]: http://lurker.razum2um.me
178
+ [demo_app3]: http://razum2um.github.io/lurker/
160
179
  [demo_live]: http://lurker.razum2um.me/lurker/api/v1/users-POST.html
161
- [pdf_example]: http://lurker.razum2um.me/lurker/LurkerApp.pdf
162
- [suffixes_example]: https://www.relishapp.com/razum2um/lurker/docs/request-specs/schema-suffixes
180
+ [pdf_example]: http://razum2um.github.io/lurker/LurkerApp.pdf
181
+ [partial_example_demo]: http://razum2um.github.io/lurker/api/v1/users/__user_id/repos-POST.html
163
182
 
164
183
  [Gem Version]: https://rubygems.org/gems/lurker
165
184
  [Build Status]: https://travis-ci.org/razum2um/lurker
data/Rakefile CHANGED
@@ -59,6 +59,9 @@ namespace :assets do
59
59
  end
60
60
  end
61
61
 
62
+ sprockets.js_compressor = :uglify
63
+ sprockets.css_compressor = :scss
64
+
62
65
  BUNDLES.each do |bundle|
63
66
  assets = sprockets.find_asset(bundle)
64
67
  realname = (assets.pathname.basename.to_s.split(".").take_while { |s| !s.match /^(js|css)$/ } + [$~.to_s]).join(".")
@@ -81,6 +84,7 @@ Cucumber::Rake::Task.new(:cucumber) do |t|
81
84
  end
82
85
 
83
86
  EXAMPLE_APP = 'tmp/lurker_app'
87
+ GH_PAGES = 'gh-pages'
84
88
  EXAMPLE_PATH = File.expand_path("../#{EXAMPLE_APP}", __FILE__)
85
89
 
86
90
  namespace :clobber do
@@ -95,7 +99,7 @@ namespace :clobber do
95
99
  in_lurker_app "bin/spring stop" rescue nil
96
100
  Dir.chdir EXAMPLE_PATH do
97
101
  Dir.glob("*", File::FNM_DOTMATCH).each do |fname|
98
- next if fname == '.' || fname == '..' || fname == '.git'
102
+ next if fname == '.' || fname == '..' || fname == '.git' || fname == '.bundle'
99
103
  FileUtils.rm_rf fname
100
104
  end
101
105
  end
@@ -106,18 +110,17 @@ namespace :generate do
106
110
  desc "generate a fresh app with rspec installed"
107
111
  task :app do |t|
108
112
  if needs_generation?
109
- sh "bundle exec rails new #{EXAMPLE_APP} -d postgresql -m #{File.expand_path '../templates/lurker_app.rb', __FILE__} --skip-javascript --skip-git --skip-test-unit --skip-keeps --quiet"
113
+ sh "bundle exec rails new #{EXAMPLE_APP} -d postgresql -m #{File.expand_path '../templates/lurker_app.rb', __FILE__} --skip-javascript --skip-git --skip-test-unit --skip-keeps --skip-bundle --quiet"
114
+ in_lurker_app "bundle config --local local.lurker $PWD/../.." unless ENV['TRAVIS']
115
+ in_lurker_app "bundle install"
116
+ %w[rake rspec-core spring].each do |gem|
117
+ in_lurker_app "bundle binstubs #{gem}"
118
+ end
110
119
  end
111
120
  end
112
121
 
113
122
  desc "generate a bunch of stuff with generators"
114
123
  task :stuff do
115
- in_lurker_app "bundle install"
116
- if ENV['BUNDLE_GEMFILE'].to_s.match(/Gemfile(32|40)\.ci$/)
117
- %w[rake rspec-core spring].each do |gem|
118
- in_lurker_app "bundle binstubs #{gem}"
119
- end
120
- end
121
124
  in_lurker_app "LOCATION='../../templates/generate_stuff.rb' bin/rake rails:template --quiet --silent"
122
125
 
123
126
  unless ENV['TRAVIS']
@@ -136,6 +139,14 @@ def in_lurker_app(command)
136
139
  end
137
140
  end
138
141
 
142
+ def in_gh_pages(command)
143
+ Dir.chdir(GH_PAGES) do
144
+ Bundler.with_clean_env do
145
+ sh command
146
+ end
147
+ end
148
+ end
149
+
139
150
  def on_razum2um_me(command)
140
151
  puts "About to run: #{command}"
141
152
  system %Q{ssh lurker@razum2um.me 'bash -l -c "source ~/.bashrc; cd ~/lurker; rvm use 2.1.1; #{command}"'}
@@ -161,10 +172,19 @@ task :regenerate => ["clobber:coverage", "clobber:app", "generate:app", "generat
161
172
  desc 'run cucumber in a fresh env'
162
173
  task :features => [:regenerate, :cucumber]
163
174
 
164
- desc 'convert docs for example app'
175
+ desc 'convert docs for example app, prepages gh-pages'
165
176
  task :build_example_docs => :features do
166
- in_lurker_app "bin/lurker convert -c #{File.expand_path('../README.md', __FILE__)}"
177
+ if File.exists?(readme = File.expand_path('../README.md', __FILE__))
178
+ in_lurker_app "bin/lurker convert -c #{readme}"
179
+ else
180
+ in_lurker_app "bin/lurker convert"
181
+ end
182
+
167
183
  in_lurker_app "bin/lurker convert -f pdf -o html"
184
+
185
+ if File.exists?(pages = File.expand_path('../gh-pages', __FILE__))
186
+ in_lurker_app "cp -R html/* #{pages}"
187
+ end
168
188
  end
169
189
 
170
190
  def ask_for_deploy(name, callback)
@@ -222,26 +242,56 @@ namespace :razum2um do
222
242
  end
223
243
  end
224
244
 
245
+ namespace :github do
246
+ desc 'pushes example lurker_app to gh-pages'
247
+ task :push do
248
+ do_deploy = Proc.new {
249
+ in_gh_pages "git commit -a -m 'auto commit: #{`git log --oneline -n 1`.strip}'" rescue nil
250
+ in_gh_pages "git push origin gh-pages"
251
+ }
252
+ in_gh_pages "git add -A"
253
+ in_gh_pages "git status"
254
+ ask_for_deploy("gh-pages", do_deploy)
255
+ end
256
+
257
+ desc 'rebuilds & pushes app to gh-pages'
258
+ task :deploy => [:build_example_docs, 'github:push'] do
259
+ end
260
+ end
261
+
225
262
  task :default => ["clobber:coverage", :spec, :regenerate, :cucumber, 'coveralls:push']
226
263
 
227
264
  desc 'commits lurker app'
228
265
  task :predeploy do
229
- in_lurker_app "echo 'bin/lurker' > .gitignore"
230
- in_lurker_app "echo 'log' >> .gitignore"
231
- # commit migration and deploy by hand first time
232
- in_lurker_app "echo 'db/*' >> .gitignore"
233
- in_lurker_app "echo 'tmp/*log' >> .gitignore"
234
- in_lurker_app "echo '.bundle/*' >> .gitignore"
235
-
236
- in_lurker_app "git add -A"
237
- in_lurker_app "git status"
266
+ do_predeploy = Proc.new {
267
+ in_lurker_app "echo 'bin/lurker' > .gitignore"
268
+ in_lurker_app "echo 'log' >> .gitignore"
269
+ # commit migration and deploy by hand first time
270
+ in_lurker_app "echo 'db/*' >> .gitignore"
271
+ in_lurker_app "echo 'tmp/*log' >> .gitignore"
272
+ in_lurker_app "echo '.bundle/*' >> .gitignore"
273
+
274
+ in_lurker_app "git add -A"
275
+ in_lurker_app "git status"
276
+ }
277
+
278
+ if (stage = `git log @{u}..`).lines.size > 0
279
+ puts stage
280
+ do_push_and_predeploy = Proc.new {
281
+ sh "git push origin master"
282
+ do_predeploy.call
283
+ }
284
+ ask_for_deploy("push master", do_push_and_predeploy)
285
+ else
286
+ do_predeploy.call
287
+ end
238
288
  end
239
289
 
240
290
  desc 'deploys everything'
241
- task :deploy => ["razum2um:deploy", "heroku:deploy"]
291
+ task :deploy => ["razum2um:deploy", "heroku:deploy", "github:deploy"]
242
292
 
243
293
  desc 'pushes everything'
244
- task :push => ["razum2um:push", "heroku:push"]
294
+ task :push => ["razum2um:push", "heroku:push", "github:push"]
245
295
 
246
296
  desc 'releases gem & updates docs'
247
297
  task :publish do
data/features/README.md CHANGED
@@ -8,7 +8,7 @@ This is the official documentation site for [Lurker][Github]
8
8
  [![githalytics.com alpha](https://cruel-carlota.pagodabox.com/87ced56265849ad6386c2ba0a78f8038 "githalytics.com")](http://githalytics.com/razum2um/lurker)
9
9
 
10
10
 
11
- [Github]: https://github.com/razum2um/lurker
11
+ [Github]: https://razum2um.github.io/lurker
12
12
  [Gem Version]: https://rubygems.org/gems/lurker
13
13
  [Build Status]: https://travis-ci.org/razum2um/lurker
14
14
  [Dependency Status]: https://gemnasium.com/razum2um/lurker
@@ -1,4 +1,4 @@
1
- Feature: nested schema scaffolding
1
+ Feature: controller nested schema scaffolding
2
2
 
3
3
  If your API endpoint has some dynamic segment - Lurker can handle it as well!
4
4
 
@@ -34,6 +34,10 @@ Feature: nested schema scaffolding
34
34
  description: repo listing
35
35
  prefix: repos management
36
36
  requestParameters:
37
+ description: ''
38
+ type: object
39
+ additionalProperties: false
40
+ required: []
37
41
  properties:
38
42
  user_id:
39
43
  description: ''
@@ -43,7 +47,6 @@ Feature: nested schema scaffolding
43
47
  description: ''
44
48
  type: integer
45
49
  example: 1
46
- required: []
47
50
  responseCodes:
48
51
  - status: 200
49
52
  successful: true
@@ -53,6 +56,8 @@ Feature: nested schema scaffolding
53
56
  items:
54
57
  description: ''
55
58
  type: object
59
+ additionalProperties: false
60
+ required: []
56
61
  properties:
57
62
  id:
58
63
  description: ''
@@ -66,7 +71,6 @@ Feature: nested schema scaffolding
66
71
  description: ''
67
72
  type: integer
68
73
  example: 1
69
- required: []
70
74
  extensions:
71
75
  method: GET
72
76
  path_info: "/api/v1/users/1/repos"
@@ -1,4 +1,8 @@
1
- Feature: schema scaffolding
1
+ Feature: controller schema scaffolding
2
+
3
+ When you prefer to test controller not in a unit-test fashion,
4
+ but including `render_views` - you can add `:lurker` metadata
5
+ to get a json schema for your api-documented endpoint
2
6
 
3
7
  Scenario: scaffold a json schema for a "users/show" in controller spec
4
8
  Given a file named "spec/controllers/api/v1/users_controller_spec.rb" with:
@@ -28,17 +32,24 @@ Feature: schema scaffolding
28
32
  description: user
29
33
  prefix: users management
30
34
  requestParameters:
35
+ description: ''
36
+ type: object
37
+ additionalProperties: false
38
+ required: []
31
39
  properties:
32
40
  id:
33
41
  description: ''
34
42
  type: integer
35
43
  example: 1
36
- required: []
37
44
  responseCodes:
38
45
  - status: 200
39
46
  successful: true
40
47
  description: ''
41
48
  responseParameters:
49
+ description: ''
50
+ type: object
51
+ additionalProperties: false
52
+ required: []
42
53
  properties:
43
54
  id:
44
55
  description: ''
@@ -48,7 +59,6 @@ Feature: schema scaffolding
48
59
  description: ''
49
60
  type: string
50
61
  example: razum2um
51
- required: []
52
62
  extensions:
53
63
  method: GET
54
64
  path_info: "/api/v1/users/1"
@@ -1,6 +1,8 @@
1
1
  Feature: html generation
2
2
 
3
- When testing your api ensure that CSRF protection is handled properly
3
+ Lurker generates pretty info pages based on schema information
4
+ and form which allow you to test live api.
5
+ When testing your api ensure that CSRF protection is handled properlya
4
6
  with `protect_from_forgery :null_session`
5
7
 
6
8
  @javascript
@@ -14,15 +16,11 @@ Feature: html generation
14
16
  requestParameters:
15
17
  properties:
16
18
  user:
17
- description: ''
18
19
  type: object
19
20
  properties:
20
21
  name:
21
- description: ''
22
22
  type: string
23
23
  example: Bob
24
- required: []
25
- required: []
26
24
  responseCodes:
27
25
  - status: 200
28
26
  successful: true
@@ -30,11 +28,9 @@ Feature: html generation
30
28
  responseParameters:
31
29
  properties:
32
30
  id:
33
- description: ''
34
31
  type: integer
35
32
  example: 1
36
33
  name:
37
- description: ''
38
34
  type: string
39
35
  example: Bob
40
36
  required: []