lurker 0.6.10 → 0.6.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fb9c0414b141e2d48b9c7a6d03be6e671a6ad3ed
4
- data.tar.gz: 777ba4fb742083bfaabeb5c912be901ae51f9bfc
3
+ metadata.gz: c0fd268ff0bdbb9d0e95c346543ef5e7e2c2ac75
4
+ data.tar.gz: 43cdca9e5e49843119600323a1c1bc963a610d3f
5
5
  SHA512:
6
- metadata.gz: ad1be4d40f3a1558527e61d2bce3b22eb9050f8264189b54d5a2346763a86c7559dd0b6c245ec71a5a8a8100f14d62245d30236d227af8ba91e6de0cb5fcf799
7
- data.tar.gz: cd34824f79c859a1cc27eea9a0d7b9f23af8f58bcfe680037fae0a151c6a49d593f3c0990677cc8d9288d08e0d9e4ca5dba112495039f96b306d33a766f0eee7
6
+ metadata.gz: 7a77dbbdc606e50d0c4bed6ca6eb57a663dfd530d91b5d1107f2d80fe04f9a1dd0e62fb4f80f5913c4847a01c803ea993a57c96f14c7494edab9217399f1aca4
7
+ data.tar.gz: 7bd1469436f9ddac2ec837f2db81af61ee6b86ce5a5c7fb60a90838b6c6a7fe110ac02e124cb5c8d5dd8416b3535fe666812732f2fa8e3ddb135b45258feecb1
@@ -1 +1,2 @@
1
- Ҕ�+Il�$� 0٫#�bA�������j�q����0��������O§�i(����YN/���:��/+�Z�m���5/(��d��2Zk1��p�Ùo|J+w�. �[�\����΀fE*�^��bs�'����$ݝ�_� u�� ���v6M�p�f�Q�QϞ���d��O��6��!���7������#�q�`˼9����㣸А��5���~�x�<8�V�l��5۩�_�k�BL��uS���������
1
+ ��F
2
+ #�:���" KW_�)��G3ӻ�S�fr�7�vV��s�u��ڻ �H�6ec!���tPF�b��|��AuU)�*]��U�Nl#EM��'냶P{�̶�HCbW�D�~s�o���������ŝ�v�O��3���&+���*᱌��,K<��/���UК���u ;� b1���;٘�;�@�byy�G�| Fd{_qG�.����4�U�n누
data.tar.gz.sig CHANGED
Binary file
@@ -17,4 +17,5 @@ matrix:
17
17
  - rvm: 2.2.0
18
18
  gemfile: gemfiles/rails_32.gemfile
19
19
  install: bundle install -j4 --path vendor/bundle
20
-
20
+ notifications:
21
+ slack: evilmartians:3TVEqLTmDrMKUZZqUIy9apFT
data/Appraisals CHANGED
@@ -2,6 +2,8 @@ appraise 'rails-32' do
2
2
  gem 'rails', '~> 3.2.21'
3
3
  gem 'sprockets', '~> 2.2.2.backport2', github: 'razum2um/sprockets-2.2.2.backport', branch: 'master'
4
4
  gem 'sass-rails', github: 'razum2um/sass-rails', branch: 'backport'
5
+ gem 'autoprefixer-rails', '~> 5.2'
6
+ gem 'rspec', '~> 2.14'
5
7
  eval ::File.read('Gemfile')
6
8
  end
7
9
 
@@ -9,6 +11,8 @@ appraise 'rails-40' do
9
11
  gem 'rails', '~> 4.0.13'
10
12
  gem 'sprockets'
11
13
  gem 'sass-rails'
14
+ gem 'autoprefixer-rails', '~> 5.2'
15
+ gem 'rspec', '~> 2.14'
12
16
  eval ::File.read('Gemfile')
13
17
  end
14
18
 
@@ -16,6 +20,8 @@ appraise 'rails-41' do
16
20
  gem 'rails', '~> 4.1.9'
17
21
  gem 'sprockets'
18
22
  gem 'sass-rails'
23
+ gem 'autoprefixer-rails', '~> 5.2'
24
+ gem 'rspec', '~> 2.14'
19
25
  eval ::File.read('Gemfile')
20
26
  end
21
27
 
@@ -23,6 +29,8 @@ appraise 'rails-42' do
23
29
  gem 'rails', '~> 4.2.0'
24
30
  gem 'sprockets'
25
31
  gem 'sass-rails'
32
+ gem 'autoprefixer-rails', '~> 5.2'
33
+ gem 'rspec', '~> 2.14'
26
34
  eval ::File.read('Gemfile')
27
35
  end
28
36
 
data/README.md CHANGED
@@ -144,6 +144,11 @@ For example:
144
144
  - Builtin Rack middleware `Lurker::Server.to_rack` serves cached digested assets
145
145
  - [RSpec][failed_spec_example] & [Minitest][minitest_example] support
146
146
 
147
+ ## Related gems
148
+
149
+ - [Swarker](https://github.com/sponomarev/swarker) converts
150
+ Lurker schemas to [Swagger](http://swagger.io) schema
151
+
147
152
  ## Token authentication with sandbox
148
153
 
149
154
  `Lurker::Sandbox` allows you to test services with token authentication:
@@ -72,9 +72,6 @@ Feature: minitest
72
72
  description: 'user updating'
73
73
  requestParameters:
74
74
  properties:
75
- id:
76
- type: integer
77
- example: 1
78
75
  user:
79
76
  type: object
80
77
  properties:
@@ -33,10 +33,7 @@ Feature: mutidomain support
33
33
  prefix: users management
34
34
  description: user deletion
35
35
  requestParameters:
36
- properties:
37
- id:
38
- type: integer
39
- example: 1
36
+ properties: {}
40
37
  responseCodes:
41
38
  - status: 200
42
39
  successful: true
@@ -44,9 +44,6 @@ Feature: partials
44
44
  prefix: repos management
45
45
  requestParameters:
46
46
  properties:
47
- user_id:
48
- type: string
49
- example: 1
50
47
  repo:
51
48
  properties:
52
49
  name:
@@ -17,12 +17,6 @@ Feature: schema suffixes
17
17
  description: 'repo updating'
18
18
  requestParameters:
19
19
  properties:
20
- id:
21
- type: string
22
- example: 1
23
- user_id:
24
- type: string
25
- example: razum2um
26
20
  repo:
27
21
  type: object
28
22
  properties:
@@ -88,12 +82,6 @@ Feature: schema suffixes
88
82
  description: 'failed repo updating'
89
83
  requestParameters:
90
84
  properties:
91
- id:
92
- type: string
93
- example: 1
94
- user_id:
95
- type: string
96
- example: razum2um
97
85
  repo:
98
86
  type: object
99
87
  properties:
@@ -17,9 +17,6 @@ Feature: test endpoint
17
17
  description: 'user updating'
18
18
  requestParameters:
19
19
  properties:
20
- id:
21
- type: integer
22
- example: 1
23
20
  user:
24
21
  type: object
25
22
  properties:
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  gem "rails", "~> 3.2.21"
6
6
  gem "sprockets", "~> 2.2.2.backport2", :github => "razum2um/sprockets-2.2.2.backport", :branch => "master"
7
7
  gem "sass-rails", :github => "razum2um/sass-rails", :branch => "backport"
8
+ gem "autoprefixer-rails", "~> 5.2"
9
+ gem "rspec", "~> 2.14"
8
10
 
9
11
  group :development do
10
12
  gem "fuubar"
@@ -14,7 +16,7 @@ group :development do
14
16
  gem "appraisal"
15
17
  gem "uglifier"
16
18
  gem "coffee-rails"
17
- gem "bootstrap-sass"
19
+ gem "bootstrap-sass", "~> 3.3.3"
18
20
  gem "jquery-rails"
19
21
  gem "remotipart"
20
22
  gem "launchy"
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  gem "rails", "~> 4.0.13"
6
6
  gem "sprockets"
7
7
  gem "sass-rails"
8
+ gem "autoprefixer-rails", "~> 5.2"
9
+ gem "rspec", "~> 2.14"
8
10
 
9
11
  group :development do
10
12
  gem "fuubar"
@@ -14,7 +16,7 @@ group :development do
14
16
  gem "appraisal"
15
17
  gem "uglifier"
16
18
  gem "coffee-rails"
17
- gem "bootstrap-sass"
19
+ gem "bootstrap-sass", "~> 3.3.3"
18
20
  gem "jquery-rails"
19
21
  gem "remotipart"
20
22
  gem "launchy"
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  gem "rails", "~> 4.1.9"
6
6
  gem "sprockets"
7
7
  gem "sass-rails"
8
+ gem "autoprefixer-rails", "~> 5.2"
9
+ gem "rspec", "~> 2.14"
8
10
 
9
11
  group :development do
10
12
  gem "fuubar"
@@ -14,7 +16,7 @@ group :development do
14
16
  gem "appraisal"
15
17
  gem "uglifier"
16
18
  gem "coffee-rails"
17
- gem "bootstrap-sass"
19
+ gem "bootstrap-sass", "~> 3.3.3"
18
20
  gem "jquery-rails"
19
21
  gem "remotipart"
20
22
  gem "launchy"
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  gem "rails", "~> 4.2.0"
6
6
  gem "sprockets"
7
7
  gem "sass-rails"
8
+ gem "autoprefixer-rails", "~> 5.2"
9
+ gem "rspec", "~> 2.14"
8
10
 
9
11
  group :development do
10
12
  gem "fuubar"
@@ -14,7 +16,7 @@ group :development do
14
16
  gem "appraisal"
15
17
  gem "uglifier"
16
18
  gem "coffee-rails"
17
- gem "bootstrap-sass"
19
+ gem "bootstrap-sass", "~> 3.3.3"
18
20
  gem "jquery-rails"
19
21
  gem "remotipart"
20
22
  gem "launchy"
@@ -70,12 +70,16 @@ module Lurker
70
70
  YAML.dump(to_hash(options))
71
71
  end
72
72
 
73
+ def respond_to_missing?(method, include_private=false)
74
+ @schema.respond_to?(method, include_private)
75
+ end
76
+
73
77
  def method_missing(method, *args, &block)
74
78
  if @schema.is_a?(Lurker::Json::Schema) || @schema.respond_to?(method)
75
- return @schema.send(method, *args, &block)
79
+ @schema.send(method, *args, &block)
80
+ else
81
+ super
76
82
  end
77
-
78
- super
79
83
  end
80
84
 
81
85
  private
@@ -46,6 +46,7 @@ class Lurker::BasePresenter
46
46
  end
47
47
 
48
48
  def markup(content)
49
+ return unless content
49
50
  Lurker.safe_require 'kramdown'
50
51
  defined?(Kramdown) ? Kramdown::Document.new(content).to_html : content
51
52
  end
@@ -220,15 +220,15 @@ class Lurker::EndpointPresenter < Lurker::BasePresenter
220
220
  end
221
221
 
222
222
  def example_from_array(array, parent=nil)
223
- if array["items"].is_a? Array
223
+ if array["items"].respond_to?(:each) && !array["items"].respond_to?(:each_pair)
224
224
  example = []
225
225
  array["items"].each do |item|
226
226
  example << example_from_schema(item, parent)
227
227
  end
228
228
  example
229
- elsif (array["items"] || {})["type"].is_a? Array
229
+ elsif (types = (array["items"] || {})["type"]).respond_to?(:each)
230
230
  example = []
231
- array["items"]["type"].each do |item|
231
+ types.each do |item|
232
232
  example << example_from_schema(item, parent)
233
233
  end
234
234
  example
@@ -116,18 +116,19 @@ class Lurker::SchemaPresenter < Lurker::BasePresenter
116
116
 
117
117
  def items_html
118
118
  return unless items = @schema["items"]
119
+ return if items.size == 0
119
120
 
120
121
  html = ""
121
122
  html << '<li>Items'
122
123
 
123
124
  sub_options = options.merge(:nested => options[:nested] + 1, :parent => self)
124
125
 
125
- if items.is_a? Array
126
- item.compact.each do |item|
127
- html << self.class.new(item, sub_options).to_html
128
- end
129
- else
126
+ if items.respond_to?(:each_pair)
130
127
  html << self.class.new(items, sub_options).to_html
128
+ else
129
+ items.each do |item|
130
+ html << self.class.new(item, sub_options).to_html if item
131
+ end
131
132
  end
132
133
 
133
134
  html << '</li>'
@@ -124,6 +124,6 @@ class Lurker::ServicePresenter < Lurker::BasePresenter
124
124
  private
125
125
 
126
126
  def service_domains
127
- service.domains.to_hash
127
+ service.domains.try(:to_hash) || {}
128
128
  end
129
129
  end
@@ -101,7 +101,7 @@ class Lurker::Service
101
101
  if base_path && !base_path.end_with?('/')
102
102
  base_path + '/'
103
103
  else
104
- base_path
104
+ base_path || '/'
105
105
  end
106
106
  end
107
107
 
@@ -4,9 +4,10 @@
4
4
 
5
5
  <%= raw endpoint.documentation %>
6
6
 
7
- <h3>Response Example</h3>
7
+ <h3>Request Form</h3>
8
8
  <%= render 'submit_form', service: endpoint.service_presenter, endpoint: endpoint %>
9
9
 
10
+ <h3>Response Example</h3>
10
11
  <div id="show-api-response-div" class="highlight">
11
12
  <table class="small table table-condensed" ref="response-info" style="display: none;">
12
13
  <tr class="status">
@@ -1,3 +1,3 @@
1
1
  module Lurker
2
- VERSION = "0.6.10"
2
+ VERSION = "0.6.11"
3
3
  end
@@ -33,9 +33,9 @@ Gem::Specification.new do |spec|
33
33
  spec.add_development_dependency("rack-cors", "~> 0.2")
34
34
  spec.add_development_dependency("rails", ">= 3.2", "< 4.3")
35
35
  spec.add_development_dependency("rake", "~> 10.2")
36
- spec.add_development_dependency("rspec", "~> 2.14")
36
+ spec.add_development_dependency("rspec", "~> 2.14.0")
37
37
  spec.add_development_dependency("cucumber", "~> 1.3")
38
- spec.add_development_dependency("aruba", "~> 0.5")
38
+ spec.add_development_dependency("aruba", "~> 0.6.2")
39
39
  spec.add_development_dependency("capybara", "~> 2.2")
40
40
  spec.add_development_dependency("nokogiri", "~> 1.5")
41
41
  spec.add_development_dependency("poltergeist", "~> 1.5")
@@ -47,7 +47,7 @@ Gem::Specification.new do |spec|
47
47
 
48
48
  # FIXME: these gems are needed while cucumber runs
49
49
  # inner Gemfile isn"t getting used, but lib"s one
50
- spec.add_development_dependency("rspec-rails", "~> 2.14")
50
+ spec.add_development_dependency("rspec-rails", "~> 2.14.0")
51
51
  spec.add_development_dependency("pg", "~> 0.16")
52
52
  spec.add_development_dependency("kramdown", "~> 1.3")
53
53
  spec.add_development_dependency("diffy", "~> 3.0")
@@ -63,6 +63,21 @@ def needs_generation?
63
63
  !File.exists?("#{EXAMPLE_PATH}/Gemfile")
64
64
  end
65
65
 
66
+ def place_github_badge(fname)
67
+ full_fname = "#{EXAMPLE_PATH}/#{fname}"
68
+ content = File.read(full_fname).gsub("</header>", <<-EOF
69
+ </header>
70
+ <a href='https://github.com/razum2um/lurker'>
71
+ <img style='position: absolute; top: 0; right: 0; border: 0; z-index: 1000'
72
+ src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67"
73
+ data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"
74
+ alt='Fork me on GitHub'>
75
+ </a>
76
+ EOF
77
+ )
78
+ File.open(full_fname, 'w') { |f| f.write content }
79
+ end
80
+
66
81
  desc 'destroys & recreates new test app'
67
82
  task :regenerate => ["clobber:coverage", "clobber:app", "assets:precompile", "generate:app", "generate:stuff"]
68
83
 
@@ -79,7 +94,7 @@ task :convert_example_docs do
79
94
  in_lurker_app "bin/lurker convert"
80
95
  end
81
96
 
82
- in_lurker_app %Q{sed -i "" "s|</header>|</header><a href='https://github.com/razum2um/lurker'><img style='position: absolute; top: 0; right: 0; border: 0; z-index: 1000' src='https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png' alt='Fork me on GitHub'></a>|" public/lurker/index.html}
97
+ place_github_badge 'public/lurker/index.html'
83
98
  in_lurker_app "bin/lurker convert -f pdf"
84
99
  end
85
100
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lurker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.10
4
+ version: 0.6.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vlad Bokov
@@ -31,7 +31,7 @@ cert_chain:
31
31
  JdwBPWa9Za/2/KSE24mz/LFUt23JVKNsiG9FElkSaMqFAv8jsF/XCf2y3DHOPKFw
32
32
  BoiF9TIMncU9b0hPO8kwUPZYxHv4NzsRi06DVg==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-07-02 00:00:00.000000000 Z
34
+ date: 2015-12-02 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
@@ -205,14 +205,14 @@ dependencies:
205
205
  requirements:
206
206
  - - "~>"
207
207
  - !ruby/object:Gem::Version
208
- version: '2.14'
208
+ version: 2.14.0
209
209
  type: :development
210
210
  prerelease: false
211
211
  version_requirements: !ruby/object:Gem::Requirement
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '2.14'
215
+ version: 2.14.0
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: cucumber
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -233,14 +233,14 @@ dependencies:
233
233
  requirements:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
- version: '0.5'
236
+ version: 0.6.2
237
237
  type: :development
238
238
  prerelease: false
239
239
  version_requirements: !ruby/object:Gem::Requirement
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: '0.5'
243
+ version: 0.6.2
244
244
  - !ruby/object:Gem::Dependency
245
245
  name: capybara
246
246
  requirement: !ruby/object:Gem::Requirement
@@ -345,14 +345,14 @@ dependencies:
345
345
  requirements:
346
346
  - - "~>"
347
347
  - !ruby/object:Gem::Version
348
- version: '2.14'
348
+ version: 2.14.0
349
349
  type: :development
350
350
  prerelease: false
351
351
  version_requirements: !ruby/object:Gem::Requirement
352
352
  requirements:
353
353
  - - "~>"
354
354
  - !ruby/object:Gem::Version
355
- version: '2.14'
355
+ version: 2.14.0
356
356
  - !ruby/object:Gem::Dependency
357
357
  name: pg
358
358
  requirement: !ruby/object:Gem::Requirement
@@ -650,3 +650,4 @@ test_files:
650
650
  - spec/spec_helper.rb
651
651
  - spec/support/matchers/json_attribute.rb
652
652
  - spec/support/matchers/json_object.rb
653
+ has_rdoc:
metadata.gz.sig CHANGED
Binary file