doctor-swagger 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,9 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - jruby-18mode # JRuby in 1.8 mode
5
+ - jruby-19mode # JRuby in 1.9 mode
6
+ - rbx-18mode
7
+ - rbx-19mode
8
+ - 1.8.7
9
+ - ree
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
- # Doctor::Swagger
1
+ # DoctorSwagger
2
+ [![Build Status](https://secure.travis-ci.org/crystalcommerce/doctor-swagger.png)](http://travis-ci.org/crystalcommerce/doctor-swagger)
2
3
 
3
- TODO: Write a gem description
4
+ A DSL for generating Swagger schemas.
4
5
 
5
6
  ## Installation
6
7
 
@@ -18,7 +19,7 @@ Or install it yourself as:
18
19
 
19
20
  ## Usage
20
21
 
21
- TODO: Write usage instructions here
22
+ See the spec file.
22
23
 
23
24
  ## Contributing
24
25
 
@@ -27,3 +28,8 @@ TODO: Write usage instructions here
27
28
  3. Commit your changes (`git commit -am 'Added some feature'`)
28
29
  4. Push to the branch (`git push origin my-new-feature`)
29
30
  5. Create new Pull Request
31
+
32
+ ## License
33
+
34
+ DoctorSwagger is released under the [MIT
35
+ License](http://opensource.org/licenses/MIT).
@@ -1,6 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  $:.unshift File.expand_path(File.join(File.dirname(__FILE__), 'lib'))
3
- puts File.expand_path(File.join(File.basename(__FILE__), 'lib'))
4
3
  require 'doctor_swagger/version'
5
4
 
6
5
  Gem::Specification.new do |gem|
@@ -21,7 +20,7 @@ you wish to document with swagger.
21
20
  gem.require_paths = ["lib"]
22
21
  gem.version = DoctorSwagger::VERSION
23
22
 
24
- gem.add_dependency("rdiscount", "~>1.6.8")
23
+ gem.add_dependency("kramdown", "~>0.14.0")
25
24
 
26
25
  gem.add_development_dependency("rake", "~>0.9.2")
27
26
  gem.add_development_dependency("rspec", "~>2.10.0")
@@ -7,6 +7,7 @@ require 'doctor_swagger/parameter'
7
7
  require 'doctor_swagger/query_parameter'
8
8
  require 'doctor_swagger/post_parameter'
9
9
  require 'doctor_swagger/path_parameter'
10
+ require 'doctor_swagger/header_parameter'
10
11
  require 'doctor_swagger/post_body'
11
12
  require 'doctor_swagger/root_swagger_doc'
12
13
 
@@ -0,0 +1,7 @@
1
+ module DoctorSwagger
2
+ class HeaderParameter < Parameter
3
+ def param_type
4
+ 'header'
5
+ end
6
+ end
7
+ end
@@ -1,4 +1,4 @@
1
- require 'rdiscount'
1
+ require 'kramdown'
2
2
 
3
3
  module DoctorSwagger
4
4
  class Operation
@@ -27,6 +27,10 @@ module DoctorSwagger
27
27
  @parameters << PostParameter.new(param, &block)
28
28
  end
29
29
 
30
+ def header_parameter(param, &block)
31
+ @parameters << HeaderParameter.new(param, &block)
32
+ end
33
+
30
34
  def post_body(&block)
31
35
  @parameters << PostBody.new(&block)
32
36
  end
@@ -94,7 +98,8 @@ module DoctorSwagger
94
98
  end
95
99
 
96
100
  def process_markdown(text)
97
- RDiscount.new(text).to_html
101
+ Kramdown::Document.new(text, :input => :markdown,
102
+ :auto_ids => false).to_html
98
103
  end
99
104
  end
100
105
  end
@@ -1,3 +1,3 @@
1
1
  module DoctorSwagger
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
@@ -14,6 +14,12 @@ describe DoctorSwagger do
14
14
  description 'Products'
15
15
 
16
16
  operation :index do
17
+ header_parameter :api_key do
18
+ description 'The api key issued to your app'
19
+ required!
20
+ type :string
21
+ end
22
+
17
23
  query_parameter :category_id do
18
24
  description 'The category id of the products you want'
19
25
  required!
@@ -109,6 +115,14 @@ EOS
109
115
  'operations' => [
110
116
  {
111
117
  'parameters' => [
118
+ {
119
+ 'name' => 'api_key',
120
+ 'description' => 'The api key issued to your app',
121
+ 'dataType' => 'string',
122
+ 'required' => true,
123
+ 'allowMultiple' => false,
124
+ 'paramType' => 'header'
125
+ },
112
126
  {
113
127
  'name' => 'category_id',
114
128
  'description' => 'The category id of the products you want',
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: doctor-swagger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
5
4
  prerelease:
5
+ version: 0.2.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Donald Plummer
@@ -10,83 +10,83 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-09-27 00:00:00.000000000 Z
13
+ date: 2013-04-03 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: rdiscount
17
- requirement: !ruby/object:Gem::Requirement
16
+ prerelease: false
17
+ type: :runtime
18
+ name: kramdown
19
+ version_requirements: !ruby/object:Gem::Requirement
18
20
  none: false
19
21
  requirements:
20
22
  - - ~>
21
23
  - !ruby/object:Gem::Version
22
- version: 1.6.8
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
24
+ version: 0.14.0
25
+ requirement: !ruby/object:Gem::Requirement
26
26
  none: false
27
27
  requirements:
28
28
  - - ~>
29
29
  - !ruby/object:Gem::Version
30
- version: 1.6.8
30
+ version: 0.14.0
31
31
  - !ruby/object:Gem::Dependency
32
+ prerelease: false
33
+ type: :development
32
34
  name: rake
33
- requirement: !ruby/object:Gem::Requirement
35
+ version_requirements: !ruby/object:Gem::Requirement
34
36
  none: false
35
37
  requirements:
36
38
  - - ~>
37
39
  - !ruby/object:Gem::Version
38
40
  version: 0.9.2
39
- type: :development
40
- prerelease: false
41
- version_requirements: !ruby/object:Gem::Requirement
41
+ requirement: !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
46
  version: 0.9.2
47
47
  - !ruby/object:Gem::Dependency
48
+ prerelease: false
49
+ type: :development
48
50
  name: rspec
49
- requirement: !ruby/object:Gem::Requirement
51
+ version_requirements: !ruby/object:Gem::Requirement
50
52
  none: false
51
53
  requirements:
52
54
  - - ~>
53
55
  - !ruby/object:Gem::Version
54
56
  version: 2.10.0
55
- type: :development
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
58
58
  none: false
59
59
  requirements:
60
60
  - - ~>
61
61
  - !ruby/object:Gem::Version
62
62
  version: 2.10.0
63
63
  - !ruby/object:Gem::Dependency
64
+ prerelease: false
65
+ type: :development
64
66
  name: guard
65
- requirement: !ruby/object:Gem::Requirement
67
+ version_requirements: !ruby/object:Gem::Requirement
66
68
  none: false
67
69
  requirements:
68
70
  - - ~>
69
71
  - !ruby/object:Gem::Version
70
72
  version: 1.2.1
71
- type: :development
72
- prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
73
+ requirement: !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ~>
77
77
  - !ruby/object:Gem::Version
78
78
  version: 1.2.1
79
79
  - !ruby/object:Gem::Dependency
80
+ prerelease: false
81
+ type: :development
80
82
  name: guard-rspec
81
- requirement: !ruby/object:Gem::Requirement
83
+ version_requirements: !ruby/object:Gem::Requirement
82
84
  none: false
83
85
  requirements:
84
86
  - - ~>
85
87
  - !ruby/object:Gem::Version
86
88
  version: 1.1.0
87
- type: :development
88
- prerelease: false
89
- version_requirements: !ruby/object:Gem::Requirement
89
+ requirement: !ruby/object:Gem::Requirement
90
90
  none: false
91
91
  requirements:
92
92
  - - ~>
@@ -102,6 +102,7 @@ files:
102
102
  - .gitignore
103
103
  - .rspec
104
104
  - .rvmrc
105
+ - .travis.yml
105
106
  - Gemfile
106
107
  - Guardfile
107
108
  - LICENSE
@@ -113,6 +114,7 @@ files:
113
114
  - lib/doctor_swagger/endpoint.rb
114
115
  - lib/doctor_swagger/error_response.rb
115
116
  - lib/doctor_swagger/errors.rb
117
+ - lib/doctor_swagger/header_parameter.rb
116
118
  - lib/doctor_swagger/operation.rb
117
119
  - lib/doctor_swagger/parameter.rb
118
120
  - lib/doctor_swagger/path_parameter.rb
@@ -144,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
146
  version: '0'
145
147
  requirements: []
146
148
  rubyforge_project:
147
- rubygems_version: 1.8.24
149
+ rubygems_version: 1.8.25
148
150
  signing_key:
149
151
  specification_version: 3
150
152
  summary: Provides a mixin which gives a high-level DSL for describing a swagger resource.