lurker 0.6.8 → 1.0.0
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.
- checksums.yaml +5 -5
- data/.hound.yml +4 -78
- data/.jshintrc +33 -0
- data/.rspec +1 -2
- data/.rubocop.yml +0 -1
- data/.travis.yml +30 -19
- data/Gemfile +0 -33
- data/README.md +32 -53
- data/Rakefile +3 -3
- data/cucumber.yml +1 -2
- data/features/atom_persistent_within_the_same_type.feature +4 -4
- data/features/controller_nested_schema_scaffolding.feature +7 -10
- data/features/controller_schema_scaffolding.feature +1 -3
- data/features/dereferencing_through_inlining.feature +1 -3
- data/features/html_generation.feature +26 -4
- data/features/minitest.feature +3 -8
- data/features/multidomain_support.feature +6 -10
- data/features/multitype_request_support.feature +1 -3
- data/features/partials.feature +3 -8
- data/features/request_nested_schema_scaffolding.feature +0 -2
- data/features/request_schema_scaffolding.feature +0 -2
- data/features/schema_suffixes.feature +2 -18
- data/features/schema_updating_within_test_suite.feature +2 -6
- data/features/step_definitions/additional_cli_steps.rb +16 -12
- data/features/support/env.rb +50 -10
- data/features/test_endpoint.feature +2 -9
- data/gemfiles/rails_4.gemfile +14 -0
- data/gemfiles/rails_5.gemfile +10 -0
- data/gemfiles/rails_6.gemfile +10 -0
- data/lib/lurker.rb +9 -2
- data/lib/lurker/cli.rb +148 -128
- data/lib/lurker/endpoint.rb +11 -7
- data/lib/lurker/form_builder.rb +22 -31
- data/lib/lurker/json/concerns/validatable.rb +5 -1
- data/lib/lurker/json/parser.rb +1 -1
- data/lib/lurker/json/schema.rb +19 -6
- data/lib/lurker/json/{writter.rb → writer.rb} +2 -2
- data/lib/lurker/presenters/base_presenter.rb +10 -34
- data/lib/lurker/presenters/endpoint_presenter.rb +19 -8
- data/lib/lurker/presenters/schema_presenter.rb +6 -5
- data/lib/lurker/presenters/service_presenter.rb +41 -7
- data/lib/lurker/rendering_controller.rb +14 -7
- data/lib/lurker/service.rb +27 -11
- data/lib/lurker/spec_helper/rspec.rb +0 -4
- data/lib/lurker/spy.rb +3 -1
- data/lib/lurker/templates/documentation.md.tt +1 -0
- data/lib/lurker/templates/javascripts/lurker.js +133 -91
- data/lib/lurker/templates/layouts/_sidemenu.html.erb +2 -2
- data/lib/lurker/templates/layouts/application.html.erb +54 -57
- data/lib/lurker/templates/layouts/print.html.erb +31 -0
- data/lib/lurker/templates/lurker/rendering/_endpoint.html.erb +37 -0
- data/lib/lurker/templates/lurker/rendering/_param_form_element.html.erb +1 -1
- data/lib/lurker/templates/lurker/rendering/_service.html.erb +7 -0
- data/lib/lurker/templates/lurker/rendering/_submit_form.html.erb +77 -73
- data/lib/lurker/templates/lurker/rendering/all.html.erb +5 -0
- data/lib/lurker/templates/lurker/rendering/index.html.erb +1 -10
- data/lib/lurker/templates/lurker/rendering/show.html.erb +1 -37
- data/lib/lurker/templates/public/application.css +6 -2
- data/lib/lurker/templates/public/application.js +13 -13
- data/lib/lurker/templates/stylesheets/application.scss +3 -0
- data/lib/lurker/version.rb +1 -1
- data/lurker.gemspec +31 -33
- data/spec/spec_helper.rb +0 -1
- data/tasks/build.rake +12 -8
- data/tasks/generate.rake +44 -17
- data/templates/Dockerfile +26 -0
- data/templates/generate_stuff.rb +59 -26
- data/templates/lurker_app.rb +27 -48
- data/templates/rails4_ruby26_thread_error_fix.rb +20 -0
- metadata +149 -106
- checksums.yaml.gz.sig +0 -2
- data.tar.gz.sig +0 -3
- data/Appraisals +0 -20
- data/gemfiles/rails_32.gemfile +0 -27
- data/gemfiles/rails_40.gemfile +0 -27
- data/gemfiles/rails_41.gemfile +0 -27
- data/gemfiles/rails_42.gemfile +0 -27
- data/lib/lurker/templates/lurker/rendering/_param_form_legend.html.erb +0 -1
- data/lib/lurker/templates/meta_service.md.erb +0 -20
- data/lib/lurker/validation_error.rb +0 -4
- data/templates/rails32_http_patch_support.rb +0 -125
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 74bcb914a737099b70ce82f674ad54cfa5c0f1e47745a07f0329d2b681023ebb
|
4
|
+
data.tar.gz: 227765d414c360ae6b1e1312d0c5234bf6e6f30b8d09079b347dcbf8c80e90cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 90c753d8f6934b63fcff5a9abf62e17e71a1d578d93a9a774cccfa30186d8437f8c40d6adbcda8c24a5bce5105e3c75274292252626193b05a8c6985b5b1ea3f
|
7
|
+
data.tar.gz: 32e85f3c317c41425983bca85a6dd7a53476c1ecb0647897b6897a89f8047fa0419ebd5822f2cdf377d7216b23864ef5178c22f539c5a6e64ab831e8224c0088
|
data/.hound.yml
CHANGED
@@ -1,80 +1,6 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
- 'tmp/**/*'
|
4
|
-
- 'templates/rails32_http_patch_support.rb'
|
1
|
+
ruby:
|
2
|
+
config_file: .rubocop.yml
|
5
3
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
StringLiterals:
|
10
|
-
Enabled: false
|
11
|
-
|
12
|
-
SignalException:
|
13
|
-
Enabled: false
|
14
|
-
|
15
|
-
AlignParameters:
|
16
|
-
Enabled: false
|
17
|
-
|
18
|
-
MultilineTernaryOperator:
|
19
|
-
Enabled: false
|
20
|
-
|
21
|
-
LineLength:
|
22
|
-
Enabled: false
|
23
|
-
|
24
|
-
RedundantSelf:
|
25
|
-
Enabled: false
|
26
|
-
|
27
|
-
GuardClause:
|
28
|
-
Enabled: false
|
29
|
-
|
30
|
-
Next:
|
31
|
-
Enabled: false
|
32
|
-
|
33
|
-
SpaceAroundEqualsInParameterDefault:
|
34
|
-
Enabled: false
|
35
|
-
|
36
|
-
AssignmentInCondition:
|
37
|
-
Enabled: false
|
38
|
-
|
39
|
-
Documentation:
|
40
|
-
Enabled: false
|
41
|
-
|
42
|
-
HashSyntax:
|
43
|
-
Enabled: false
|
44
|
-
|
45
|
-
PercentLiteralDelimiters:
|
46
|
-
Enabled: false
|
47
|
-
|
48
|
-
UnneededPercentQ:
|
49
|
-
Enabled: false
|
50
|
-
|
51
|
-
Blocks:
|
52
|
-
Enabled: false
|
53
|
-
|
54
|
-
DoubleNegation:
|
55
|
-
Enabled: false
|
56
|
-
|
57
|
-
CaseEquality:
|
58
|
-
Enabled: false
|
59
|
-
|
60
|
-
SpecialGlobalVars:
|
61
|
-
Enabled: false
|
62
|
-
|
63
|
-
UnusedMethodArgument:
|
64
|
-
Enabled: false
|
65
|
-
|
66
|
-
UnusedBlockArgument:
|
67
|
-
Enabled: false
|
68
|
-
|
69
|
-
CollectionMethods:
|
70
|
-
Enabled: false
|
71
|
-
|
72
|
-
TrivialAccessors:
|
73
|
-
Enabled: false
|
74
|
-
|
75
|
-
IndentationWidth:
|
76
|
-
Enabled: false
|
77
|
-
|
78
|
-
IndentHash:
|
79
|
-
Enabled: false
|
4
|
+
javascript:
|
5
|
+
config_file: .jshintrc
|
80
6
|
|
data/.jshintrc
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"asi": false,
|
3
|
+
"bitwise": true,
|
4
|
+
"browser": true,
|
5
|
+
"camelcase": true,
|
6
|
+
"curly": true,
|
7
|
+
"forin": true,
|
8
|
+
"immed": true,
|
9
|
+
"latedef": "nofunc",
|
10
|
+
"maxlen": 120,
|
11
|
+
"newcap": true,
|
12
|
+
"noarg": true,
|
13
|
+
"noempty": true,
|
14
|
+
"nonew": true,
|
15
|
+
"predef": [
|
16
|
+
"$",
|
17
|
+
"jQuery",
|
18
|
+
|
19
|
+
"jasmine",
|
20
|
+
"beforeEach",
|
21
|
+
"describe",
|
22
|
+
"expect",
|
23
|
+
"it",
|
24
|
+
|
25
|
+
"angular",
|
26
|
+
"inject",
|
27
|
+
"module"
|
28
|
+
],
|
29
|
+
"quotmark": false,
|
30
|
+
"trailing": true,
|
31
|
+
"undef": true,
|
32
|
+
"unused": true
|
33
|
+
}
|
data/.rspec
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
--
|
2
|
-
--format Fuubar
|
1
|
+
--color
|
data/.rubocop.yml
CHANGED
data/.travis.yml
CHANGED
@@ -1,20 +1,31 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
-
|
7
|
-
|
8
|
-
|
9
|
-
rvm
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
2
|
+
dist: xenial
|
3
|
+
group: dev
|
4
|
+
cache: bundler
|
5
|
+
before_install:
|
6
|
+
- if [ $BUNDLER_VERSION ]; then
|
7
|
+
rm -f $(which bundle);
|
8
|
+
rvm @global do gem uninstall bundler --executables --force;
|
9
|
+
rvm @global do gem install bundler --force -v $BUNDLER_VERSION;
|
10
|
+
else
|
11
|
+
gem install bundler --no-document;
|
12
|
+
fi
|
13
|
+
services:
|
14
|
+
- postgresql
|
15
|
+
env:
|
16
|
+
- CUCUMBER_PUBLISH_QUIET=true
|
17
|
+
jobs:
|
18
|
+
fast_finish: true
|
19
|
+
include:
|
20
|
+
- rvm: 2.6.5
|
21
|
+
env: BUNDLER_VERSION=1.17.3 CUCUMBER_PUBLISH_QUIET=true
|
22
|
+
gemfile: gemfiles/rails_4.gemfile
|
23
|
+
- rvm: 2.6.5
|
24
|
+
gemfile: gemfiles/rails_5.gemfile
|
25
|
+
- rvm: 2.6.5
|
26
|
+
gemfile: gemfiles/rails_6.gemfile
|
27
|
+
- rvm: 2.7.0
|
28
|
+
gemfile: gemfiles/rails_5.gemfile
|
29
|
+
- rvm: 2.7.0
|
30
|
+
gemfile: gemfiles/rails_6.gemfile
|
31
|
+
|
data/Gemfile
CHANGED
@@ -1,35 +1,2 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
gemspec
|
3
|
-
|
4
|
-
group :development do
|
5
|
-
# tools
|
6
|
-
gem 'pry-byebug', platforms: [:mri_20, :mri_21, :mri_22]
|
7
|
-
gem 'pry-debugger', platforms: :mri_19
|
8
|
-
gem 'pry-stack_explorer', platform: :mri
|
9
|
-
gem 'pry-session', platform: :mri
|
10
|
-
# rspec --format fuubar
|
11
|
-
gem 'fuubar'
|
12
|
-
# cucumber --format fuubar
|
13
|
-
gem 'fuubar-cucumber'
|
14
|
-
gem 'selenium-webdriver'
|
15
|
-
|
16
|
-
# deploy site
|
17
|
-
gem 'highline'
|
18
|
-
# gem 'coderay', path: '../coderay'
|
19
|
-
|
20
|
-
# multiple rails versions support
|
21
|
-
gem 'appraisal', github: 'razum2um/appraisal', branch: 'master'
|
22
|
-
|
23
|
-
# build template static
|
24
|
-
# run `rake assets:precompile`
|
25
|
-
# to get bundled application.(js|css)
|
26
|
-
gem 'sprockets'
|
27
|
-
gem 'uglifier'
|
28
|
-
gem 'sass-rails'
|
29
|
-
gem 'coffee-rails'
|
30
|
-
gem 'bootstrap-sass', '~> 3.3.3'
|
31
|
-
gem 'jquery-rails'
|
32
|
-
gem 'remotipart'
|
33
|
-
gem 'launchy'
|
34
|
-
end
|
35
|
-
|
data/README.md
CHANGED
@@ -3,29 +3,12 @@
|
|
3
3
|
<img align="right" width="94" height="71" src="https://cdn.rawgit.com/razum2um/lurker/master/lurker-bw.svg">
|
4
4
|
|
5
5
|
Generates API schemas, validates code against them and creates a handy web interface for testing the API.
|
6
|
-
|
6
|
+
Tested on on Rails 4, 5, 6 and Ruby >= 2.6
|
7
7
|
|
8
8
|
[![Gem Version][GV img]][Gem Version]
|
9
9
|
[![Build Status][BS img]][Build Status]
|
10
10
|
[![Dependency Status][DS img]][Dependency Status]
|
11
11
|
|
12
|
-
## Installation
|
13
|
-
|
14
|
-
Add my public key:
|
15
|
-
|
16
|
-
gem cert --add <(curl -Ls https://raw.github.com/razum2um/lurker/master/certs/razum2um.pem)
|
17
|
-
|
18
|
-
$ gem install lurker # without key
|
19
|
-
$ gem install lurker -P HighSecurity # secure, with key added
|
20
|
-
|
21
|
-
Or this line to your application's Gemfile:
|
22
|
-
|
23
|
-
gem 'lurker'
|
24
|
-
|
25
|
-
Inject into `test_helper.rb` or `spec_helper.rb`:
|
26
|
-
|
27
|
-
require 'lurker/spec_helper'
|
28
|
-
|
29
12
|
## Usage
|
30
13
|
|
31
14
|
Wrap your integration test code, which does request like this
|
@@ -45,6 +28,11 @@ but add `:lurker` mark (like documented [controller example][controler_spec_exam
|
|
45
28
|
get "/api/v1/users.json"
|
46
29
|
end
|
47
30
|
|
31
|
+
NOTE: If you use `rspec-rails`, it should be required first
|
32
|
+
|
33
|
+
require 'rspec/rails'
|
34
|
+
require 'lurker/spec_helper'
|
35
|
+
|
48
36
|
## Minitest usage
|
49
37
|
|
50
38
|
You can use [minitest-around][minitest_around] to wrap your test classes like this:
|
@@ -92,6 +80,13 @@ The generation of live-documentation is pretty simple:
|
|
92
80
|
|
93
81
|
For different document root or serving URL prefix use `-o` and `-u` options accordingly.
|
94
82
|
|
83
|
+
If you want to provide additional documentation for your API (and you probably should),
|
84
|
+
you can use separate Markdown files in the schema folder. To generate documentation
|
85
|
+
stubs for the current schema:
|
86
|
+
|
87
|
+
bin/lurker init_docs # generate documentation stubs for the current schema
|
88
|
+
|
89
|
+
|
95
90
|
Let's run your `rails s` and visit [http://localhost:3000/lurker/](http://localhost:3000/lurker/)
|
96
91
|
(or see [demo][demo_app2] for example)
|
97
92
|
|
@@ -103,9 +98,10 @@ You can run this to get the demo running locally:
|
|
103
98
|
|
104
99
|
git clone https://github.com/razum2um/lurker.git
|
105
100
|
cd lurker
|
106
|
-
|
107
|
-
bundle
|
108
|
-
|
101
|
+
export BUNDLE_GEMFILE=gemfiles/rails_6.gemfile
|
102
|
+
bundle install
|
103
|
+
rake build_example_docs
|
104
|
+
cd tmp/lurker_app_rails_6
|
109
105
|
bin/rails s
|
110
106
|
|
111
107
|
Lurker supports multiple domains (usually `staging` and `production`) and can be deployed
|
@@ -114,8 +110,7 @@ statically everywhere as well as be served by the current `Rails` instance.
|
|
114
110
|
For example:
|
115
111
|
|
116
112
|
- [Github Pages][demo_app3] is deployed statically; no API endpoint
|
117
|
-
- [Custom domain][demo_app2]
|
118
|
-
- [Heroku][demo_app] HTML is served by unicorn as well as staging api endpoint in `Sandbox` mode
|
113
|
+
- [Custom domain][demo_app2] static + demo api production endpoint (in `Sandbox` mode)
|
119
114
|
|
120
115
|
## Features
|
121
116
|
|
@@ -137,6 +132,11 @@ For example:
|
|
137
132
|
- Builtin Rack middleware `Lurker::Server.to_rack` serves cached digested assets
|
138
133
|
- [RSpec][failed_spec_example] & [Minitest][minitest_example] support
|
139
134
|
|
135
|
+
## Related gems
|
136
|
+
|
137
|
+
- [Swarker](https://github.com/sponomarev/swarker) converts
|
138
|
+
Lurker schemas to [Swagger](http://swagger.io) schema
|
139
|
+
|
140
140
|
## Token authentication with sandbox
|
141
141
|
|
142
142
|
`Lurker::Sandbox` allows you to test services with token authentication:
|
@@ -161,17 +161,12 @@ are increasing notwithstanding ROLLBACK is called. As such:
|
|
161
161
|
[](http://inch-pages.github.io/github/razum2um/lurker)
|
162
162
|
[][waffle]
|
163
163
|
|
164
|
-
I try to use [Waffle][waffle] to develop this gem, if you want to help:
|
165
|
-
|
166
|
-
- look on "Ready" section
|
167
|
-
- drag an issue to "In Progress" and assign to yourself
|
168
|
-
- have fun!
|
169
|
-
|
170
164
|
**NOTE:** to get new version of bundled `bootstrap` or update JS/CSS,
|
171
165
|
don't touch files under `lib/lurker/templates/public` - they are autogenerated
|
172
166
|
and copied to static generated site while `bin/lurker convert`
|
173
167
|
|
174
|
-
|
168
|
+
export BUNDLE_GEMFILE=gemfiles/rails_6.gemfile
|
169
|
+
rake assets:precompile # to build them
|
175
170
|
|
176
171
|
Don't commit `lib/lurker/templates/public/**/*` to avoid conflicts.
|
177
172
|
|
@@ -181,20 +176,6 @@ features in a way to generate **new** relevant `lurker/**/*.json.yml` files
|
|
181
176
|
|
182
177
|
**NOTE:** template partial `submit_form.html.erb` and it's partials is a big `jsx` script for `React`
|
183
178
|
so there are `<label htmlFor` instead of `<label for>` and `<div className` instead of `<div class`
|
184
|
-
|
185
|
-
### Different Rails versions
|
186
|
-
|
187
|
-
We use [`appraisal`](https://github.com/thoughtbot/appraisal) to test the lib with different Rails versions (from 3.2 up to 4.2):
|
188
|
-
|
189
|
-
# run this to install all gems for all the supported rails versions:
|
190
|
-
bundle exec appraisal install
|
191
|
-
|
192
|
-
# then prefix any rake command with `bundle exec appraisal` and rails version
|
193
|
-
bundle exec appraisal rails-42 rake build_example_docs
|
194
|
-
|
195
|
-
Test apps are getting generated into their's directory under `tmp/lurker_app...` prefix. They also use
|
196
|
-
separate databases for each rails version both dev & test env - all prefixed with `lurker_app`
|
197
|
-
|
198
179
|
### Demo app == Testing app
|
199
180
|
|
200
181
|
Currently, the testing application is using PostgreSQL because **the same** testing app is deployed to serve demo purposes.
|
@@ -202,14 +183,12 @@ Currently, the testing application is using PostgreSQL because **the same** test
|
|
202
183
|
This is also the reason not to delete anything under `lurker` directory between feature tests
|
203
184
|
and using **different** API endpoints of the testing app. To run cucumber with clean `lurker` & `public/lurker` directories run:
|
204
185
|
|
205
|
-
CLEAN=1 bundle exec
|
186
|
+
CLEAN=1 export BUNDLE_GEMFILE=gemfiles/rails_6.gemfile bundle exec cucumber features
|
206
187
|
|
207
188
|
Beware while writing your feature tests for PRs.
|
208
189
|
|
209
190
|
## Acknowledgments
|
210
191
|
|
211
|
-
[](http://evilmartians.com/)
|
212
|
-
|
213
192
|
This gem is quite opinionated and relies on rails - if you're
|
214
193
|
interested in anything else, please take a look at [api_taster][api_taster] or [fdoc][fdoc],
|
215
194
|
This gem is heavily inspired by them. Thanks, @square & @fredwu
|
@@ -217,7 +196,8 @@ This gem is heavily inspired by them. Thanks, @square & @fredwu
|
|
217
196
|
Also thanks to
|
218
197
|
|
219
198
|
- [Andrey Deryabin][aderyabin] for advice
|
220
|
-
- [
|
199
|
+
- [Evil Martians][evil_martians] initial version sponsors
|
200
|
+
- [React.js][reactjs] for reactive UI
|
221
201
|
- [highlight.js][hljs] for syntax highlighting
|
222
202
|
|
223
203
|
[aderyabin]: https://twitter.com/aderyabin
|
@@ -230,7 +210,7 @@ Also thanks to
|
|
230
210
|
[json_schema]: http://json-schema.org/
|
231
211
|
[json_schema_example]: http://json-schema.org/example2.html
|
232
212
|
[json_schema_book]: http://spacetelescope.github.io/understanding-json-schema/
|
233
|
-
[evil_martians]:
|
213
|
+
[evil_martians]: https://evilmartians.com/
|
234
214
|
[rspec_controller_spec]: https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs
|
235
215
|
[rspec_request_spec]: https://www.relishapp.com/rspec/rspec-rails/docs/request-specs/request-spec
|
236
216
|
[minitest_around]: https://github.com/splattael/minitest-around
|
@@ -244,10 +224,9 @@ Also thanks to
|
|
244
224
|
[suffixes_example]: https://www.relishapp.com/razum2um/lurker/docs/request-schema-suffixes
|
245
225
|
[minitest_example]: https://www.relishapp.com/razum2um/lurker/docs/minitest
|
246
226
|
|
247
|
-
[
|
248
|
-
[
|
249
|
-
[
|
250
|
-
[demo_live]: http://lurker.razum2um.me/lurker/api/v1/users-POST.html
|
227
|
+
[demo_app2]: https://lurker.razum2um.me
|
228
|
+
[demo_app3]: https://razum2um.github.io/lurker/
|
229
|
+
[demo_live]: https://lurker.razum2um.me/lurker/api/v1/users-POST.html
|
251
230
|
[pdf_example]: http://razum2um.github.io/lurker/lurker_demo_application.pdf
|
252
231
|
[partial_example_demo]: http://razum2um.github.io/lurker/api/v1/users/__user_id/repos-POST.html
|
253
232
|
|
data/Rakefile
CHANGED
@@ -23,7 +23,7 @@ RSpec::Core::RakeTask.new(:spec) do |t|
|
|
23
23
|
end
|
24
24
|
|
25
25
|
Cucumber::Rake::Task.new(:cucumber) do |t|
|
26
|
-
t.cucumber_opts = "features --format progress
|
26
|
+
t.cucumber_opts = "features --format progress"
|
27
27
|
end
|
28
28
|
|
29
29
|
task :default => ["clobber:coverage", :spec, :regenerate, :cucumber, 'coveralls:push']
|
@@ -32,8 +32,8 @@ desc 'releases gem & updates docs'
|
|
32
32
|
task :publish do
|
33
33
|
require 'lurker'
|
34
34
|
version = Lurker::VERSION
|
35
|
-
|
36
|
-
Bundler.
|
35
|
+
bundler_method = Bundler.respond_to?(:with_unbundled_env) ? :with_unbundled_env : :with_clean_env
|
36
|
+
Bundler.send(bundler_method) do
|
37
37
|
system "git tag v#{version}"
|
38
38
|
system "relish versions:add razum2um/lurker:#{version}"
|
39
39
|
system "relish push razum2um/lurker:#{version}"
|
data/cucumber.yml
CHANGED
@@ -1,2 +1 @@
|
|
1
|
-
default: --require features --format
|
2
|
-
wip: --require features --tags @wip
|
1
|
+
default: --require features --format progress
|
@@ -59,8 +59,6 @@ Feature: atom persistent within test suite
|
|
59
59
|
Scenario: json schema tests response parameters and keep atom unchanged using "users/update"
|
60
60
|
Given a file named "spec/controllers/api/v2/users_controller_spec.rb" with:
|
61
61
|
"""ruby
|
62
|
-
require "spec_helper"
|
63
|
-
|
64
62
|
describe Api::V2::UsersController, :lurker do
|
65
63
|
render_views
|
66
64
|
|
@@ -69,13 +67,15 @@ Feature: atom persistent within test suite
|
|
69
67
|
end
|
70
68
|
|
71
69
|
it "updates a user surname as string" do
|
72
|
-
|
70
|
+
puts Thread.list.to_a.inspect
|
71
|
+
|
72
|
+
patch :update, params: { id: user.id, user: { surname: 'Marley' } }
|
73
73
|
expect(response).to be_success
|
74
74
|
end
|
75
75
|
end
|
76
76
|
"""
|
77
77
|
|
78
|
-
When I run `bin/rspec spec/controllers/api/v2/users_controller_spec.rb`
|
78
|
+
When I run `bin/rspec -b spec/controllers/api/v2/users_controller_spec.rb`
|
79
79
|
Then the example should pass
|
80
80
|
Then a file named "lurker/api/v2/users/__id-PATCH.json.yml" should exist
|
81
81
|
Then the file "lurker/api/v2/users/__id-PATCH.json.yml" should contain exactly:
|