rapidoc 0.0.4

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 (96) hide show
  1. data/.gitignore +21 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +152 -0
  5. data/Rakefile +1 -0
  6. data/lib/rapidoc.rb +62 -0
  7. data/lib/rapidoc/action_doc.rb +86 -0
  8. data/lib/rapidoc/config.rb +127 -0
  9. data/lib/rapidoc/config/rapidoc.yml +4 -0
  10. data/lib/rapidoc/controller_extractor.rb +54 -0
  11. data/lib/rapidoc/http_response.rb +61 -0
  12. data/lib/rapidoc/param_errors.rb +43 -0
  13. data/lib/rapidoc/resource_doc.rb +66 -0
  14. data/lib/rapidoc/resources_extractor.rb +42 -0
  15. data/lib/rapidoc/routes_doc.rb +96 -0
  16. data/lib/rapidoc/templates/action.html.hbs +170 -0
  17. data/lib/rapidoc/templates/assets/css/bootstrap-responsive.min.css +9 -0
  18. data/lib/rapidoc/templates/assets/css/bootstrap.min.css +9 -0
  19. data/lib/rapidoc/templates/assets/css/rapidoc.css +43 -0
  20. data/lib/rapidoc/templates/assets/img/glyphicons-halflings.png +0 -0
  21. data/lib/rapidoc/templates/assets/js/bootstrap.min.js +6 -0
  22. data/lib/rapidoc/templates/assets/js/jquery-1.9.0.min.js +4 -0
  23. data/lib/rapidoc/templates/assets/js/json2.js +486 -0
  24. data/lib/rapidoc/templates/index.html.hbs +85 -0
  25. data/lib/rapidoc/templates_generator.rb +65 -0
  26. data/lib/rapidoc/version.rb +3 -0
  27. data/lib/rapidoc/yaml_parser.rb +49 -0
  28. data/lib/tasks/railtie.rb +7 -0
  29. data/lib/tasks/rapidoc.rake +18 -0
  30. data/rapidoc.gemspec +26 -0
  31. data/spec/dummy/.gitignore +15 -0
  32. data/spec/dummy/Gemfile +42 -0
  33. data/spec/dummy/README.rdoc +261 -0
  34. data/spec/dummy/Rakefile +7 -0
  35. data/spec/dummy/app/assets/images/rails.png +0 -0
  36. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  37. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  38. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  39. data/spec/dummy/app/controllers/users_controller.rb +114 -0
  40. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  41. data/spec/dummy/app/mailers/.gitkeep +0 -0
  42. data/spec/dummy/app/models/.gitkeep +0 -0
  43. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  44. data/spec/dummy/config.ru +4 -0
  45. data/spec/dummy/config/application.rb +62 -0
  46. data/spec/dummy/config/boot.rb +6 -0
  47. data/spec/dummy/config/database.yml +25 -0
  48. data/spec/dummy/config/environment.rb +5 -0
  49. data/spec/dummy/config/environments/development.rb +37 -0
  50. data/spec/dummy/config/environments/production.rb +67 -0
  51. data/spec/dummy/config/environments/test.rb +37 -0
  52. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  53. data/spec/dummy/config/initializers/inflections.rb +15 -0
  54. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  55. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  56. data/spec/dummy/config/initializers/session_store.rb +8 -0
  57. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  58. data/spec/dummy/config/locales/en.yml +5 -0
  59. data/spec/dummy/config/routes.rb +9 -0
  60. data/spec/dummy/db/seeds.rb +7 -0
  61. data/spec/dummy/lib/assets/.gitkeep +0 -0
  62. data/spec/dummy/lib/tasks/.gitkeep +0 -0
  63. data/spec/dummy/log/.gitkeep +0 -0
  64. data/spec/dummy/public/404.html +26 -0
  65. data/spec/dummy/public/422.html +26 -0
  66. data/spec/dummy/public/500.html +25 -0
  67. data/spec/dummy/public/favicon.ico +0 -0
  68. data/spec/dummy/public/index.html +241 -0
  69. data/spec/dummy/public/robots.txt +5 -0
  70. data/spec/dummy/salida/users_create_response.json +12 -0
  71. data/spec/dummy/script/rails +6 -0
  72. data/spec/dummy/test/fixtures/.gitkeep +0 -0
  73. data/spec/dummy/test/functional/.gitkeep +0 -0
  74. data/spec/dummy/test/integration/.gitkeep +0 -0
  75. data/spec/dummy/test/performance/browsing_test.rb +12 -0
  76. data/spec/dummy/test/test_helper.rb +13 -0
  77. data/spec/dummy/test/unit/.gitkeep +0 -0
  78. data/spec/dummy/vendor/assets/javascripts/.gitkeep +0 -0
  79. data/spec/dummy/vendor/assets/stylesheets/.gitkeep +0 -0
  80. data/spec/dummy/vendor/plugins/.gitkeep +0 -0
  81. data/spec/features/action_spec.rb +212 -0
  82. data/spec/features/index_spec.rb +64 -0
  83. data/spec/lib/action_doc_spec.rb +202 -0
  84. data/spec/lib/config_spec.rb +186 -0
  85. data/spec/lib/controller_extractor_spec.rb +77 -0
  86. data/spec/lib/http_response_spec.rb +63 -0
  87. data/spec/lib/param_errors_spec.rb +69 -0
  88. data/spec/lib/rake_spec.rb +25 -0
  89. data/spec/lib/rapidoc_spec.rb +39 -0
  90. data/spec/lib/resource_doc_spec.rb +131 -0
  91. data/spec/lib/resources_extractor_spec.rb +105 -0
  92. data/spec/lib/routes_doc_spec.rb +150 -0
  93. data/spec/lib/templates_generator_spec.rb +90 -0
  94. data/spec/lib/yard_parser_spec.rb +55 -0
  95. data/spec/spec_helper.rb +10 -0
  96. metadata +307 -0
@@ -0,0 +1,55 @@
1
+ require "spec_helper"
2
+
3
+ include Rapidoc
4
+
5
+ describe Rapidoc::YamlParser do
6
+
7
+ before :all do
8
+ @description = "resource description"
9
+ @action1 = "index"
10
+ @action2 = "create"
11
+ @blocks = [ { init: 0, end: 2 }, { init: 4, end: 6 }, { init: 8, end: 10 } ]
12
+ @lines = [
13
+ " # =begin resource\n",
14
+ " # description: #{@description}\n",
15
+ " # =end\n",
16
+ " ...\n",
17
+ " # =begin action\n",
18
+ " # action: #{@action1}\n",
19
+ " # =end\n",
20
+ " ...\n",
21
+ " # =begin action\n",
22
+ " # action: #{@action2}\n",
23
+ " # =end\n"
24
+ ]
25
+ end
26
+
27
+ context "when call extract_resource_info" do
28
+ before :all do
29
+ @resource_info = extract_resource_info( @lines, @blocks )
30
+ end
31
+
32
+ it "returns resource info" do
33
+ @resource_info.keys.should be_include( "description" )
34
+ end
35
+
36
+ it "return correct description" do
37
+ @resource_info['description'].should == @description
38
+ end
39
+ end
40
+
41
+ context "when call extract_actions_info" do
42
+ before :all do
43
+ @actions_info = extract_actions_info( @lines, @blocks )
44
+ end
45
+
46
+ it "returns all actions info" do
47
+ @actions_info.size.should == 2
48
+ end
49
+
50
+ it "returns correct info of each action" do
51
+ @actions_info.first['action'].should == @action1
52
+ @actions_info.last['action'].should == @action2
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,10 @@
1
+ ENV["RAILS_ENV"] ||= 'test'
2
+ require File.expand_path("../dummy/config/environment", __FILE__)
3
+
4
+ require 'rspec/rails'
5
+ require 'rapidoc'
6
+
7
+ RSpec.configure do |config|
8
+ config.mock_with :rspec
9
+ config.include Capybara::DSL
10
+ end
metadata ADDED
@@ -0,0 +1,307 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rapidoc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Rafael Jurado
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-03-31 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 3.2.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 3.2.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: handlebars
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 0.4.0
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec-rails
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: sqlite3
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.3.7
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.3.7
78
+ - !ruby/object:Gem::Dependency
79
+ name: capybara
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rack
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: Generates REST API documentation.
111
+ email:
112
+ - rjurado@nosolosoftware.biz
113
+ executables: []
114
+ extensions: []
115
+ extra_rdoc_files: []
116
+ files:
117
+ - .gitignore
118
+ - Gemfile
119
+ - LICENSE.txt
120
+ - README.rdoc
121
+ - Rakefile
122
+ - lib/rapidoc.rb
123
+ - lib/rapidoc/action_doc.rb
124
+ - lib/rapidoc/config.rb
125
+ - lib/rapidoc/config/rapidoc.yml
126
+ - lib/rapidoc/controller_extractor.rb
127
+ - lib/rapidoc/http_response.rb
128
+ - lib/rapidoc/param_errors.rb
129
+ - lib/rapidoc/resource_doc.rb
130
+ - lib/rapidoc/resources_extractor.rb
131
+ - lib/rapidoc/routes_doc.rb
132
+ - lib/rapidoc/templates/action.html.hbs
133
+ - lib/rapidoc/templates/assets/css/bootstrap-responsive.min.css
134
+ - lib/rapidoc/templates/assets/css/bootstrap.min.css
135
+ - lib/rapidoc/templates/assets/css/rapidoc.css
136
+ - lib/rapidoc/templates/assets/img/glyphicons-halflings.png
137
+ - lib/rapidoc/templates/assets/js/bootstrap.min.js
138
+ - lib/rapidoc/templates/assets/js/jquery-1.9.0.min.js
139
+ - lib/rapidoc/templates/assets/js/json2.js
140
+ - lib/rapidoc/templates/index.html.hbs
141
+ - lib/rapidoc/templates_generator.rb
142
+ - lib/rapidoc/version.rb
143
+ - lib/rapidoc/yaml_parser.rb
144
+ - lib/tasks/railtie.rb
145
+ - lib/tasks/rapidoc.rake
146
+ - rapidoc.gemspec
147
+ - spec/dummy/.gitignore
148
+ - spec/dummy/Gemfile
149
+ - spec/dummy/README.rdoc
150
+ - spec/dummy/Rakefile
151
+ - spec/dummy/app/assets/images/rails.png
152
+ - spec/dummy/app/assets/javascripts/application.js
153
+ - spec/dummy/app/assets/stylesheets/application.css
154
+ - spec/dummy/app/controllers/application_controller.rb
155
+ - spec/dummy/app/controllers/users_controller.rb
156
+ - spec/dummy/app/helpers/application_helper.rb
157
+ - spec/dummy/app/mailers/.gitkeep
158
+ - spec/dummy/app/models/.gitkeep
159
+ - spec/dummy/app/views/layouts/application.html.erb
160
+ - spec/dummy/config.ru
161
+ - spec/dummy/config/application.rb
162
+ - spec/dummy/config/boot.rb
163
+ - spec/dummy/config/database.yml
164
+ - spec/dummy/config/environment.rb
165
+ - spec/dummy/config/environments/development.rb
166
+ - spec/dummy/config/environments/production.rb
167
+ - spec/dummy/config/environments/test.rb
168
+ - spec/dummy/config/initializers/backtrace_silencers.rb
169
+ - spec/dummy/config/initializers/inflections.rb
170
+ - spec/dummy/config/initializers/mime_types.rb
171
+ - spec/dummy/config/initializers/secret_token.rb
172
+ - spec/dummy/config/initializers/session_store.rb
173
+ - spec/dummy/config/initializers/wrap_parameters.rb
174
+ - spec/dummy/config/locales/en.yml
175
+ - spec/dummy/config/routes.rb
176
+ - spec/dummy/db/seeds.rb
177
+ - spec/dummy/lib/assets/.gitkeep
178
+ - spec/dummy/lib/tasks/.gitkeep
179
+ - spec/dummy/log/.gitkeep
180
+ - spec/dummy/public/404.html
181
+ - spec/dummy/public/422.html
182
+ - spec/dummy/public/500.html
183
+ - spec/dummy/public/favicon.ico
184
+ - spec/dummy/public/index.html
185
+ - spec/dummy/public/robots.txt
186
+ - spec/dummy/salida/users_create_response.json
187
+ - spec/dummy/script/rails
188
+ - spec/dummy/test/fixtures/.gitkeep
189
+ - spec/dummy/test/functional/.gitkeep
190
+ - spec/dummy/test/integration/.gitkeep
191
+ - spec/dummy/test/performance/browsing_test.rb
192
+ - spec/dummy/test/test_helper.rb
193
+ - spec/dummy/test/unit/.gitkeep
194
+ - spec/dummy/vendor/assets/javascripts/.gitkeep
195
+ - spec/dummy/vendor/assets/stylesheets/.gitkeep
196
+ - spec/dummy/vendor/plugins/.gitkeep
197
+ - spec/features/action_spec.rb
198
+ - spec/features/index_spec.rb
199
+ - spec/lib/action_doc_spec.rb
200
+ - spec/lib/config_spec.rb
201
+ - spec/lib/controller_extractor_spec.rb
202
+ - spec/lib/http_response_spec.rb
203
+ - spec/lib/param_errors_spec.rb
204
+ - spec/lib/rake_spec.rb
205
+ - spec/lib/rapidoc_spec.rb
206
+ - spec/lib/resource_doc_spec.rb
207
+ - spec/lib/resources_extractor_spec.rb
208
+ - spec/lib/routes_doc_spec.rb
209
+ - spec/lib/templates_generator_spec.rb
210
+ - spec/lib/yard_parser_spec.rb
211
+ - spec/spec_helper.rb
212
+ homepage: https://github.com/drinor/rapidoc.git
213
+ licenses: []
214
+ post_install_message:
215
+ rdoc_options: []
216
+ require_paths:
217
+ - lib
218
+ required_ruby_version: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ! '>='
222
+ - !ruby/object:Gem::Version
223
+ version: '0'
224
+ segments:
225
+ - 0
226
+ hash: 2741643923882514570
227
+ required_rubygems_version: !ruby/object:Gem::Requirement
228
+ none: false
229
+ requirements:
230
+ - - ! '>='
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ segments:
234
+ - 0
235
+ hash: 2741643923882514570
236
+ requirements: []
237
+ rubyforge_project:
238
+ rubygems_version: 1.8.25
239
+ signing_key:
240
+ specification_version: 3
241
+ summary: Generates REST API documentation.
242
+ test_files:
243
+ - spec/dummy/.gitignore
244
+ - spec/dummy/Gemfile
245
+ - spec/dummy/README.rdoc
246
+ - spec/dummy/Rakefile
247
+ - spec/dummy/app/assets/images/rails.png
248
+ - spec/dummy/app/assets/javascripts/application.js
249
+ - spec/dummy/app/assets/stylesheets/application.css
250
+ - spec/dummy/app/controllers/application_controller.rb
251
+ - spec/dummy/app/controllers/users_controller.rb
252
+ - spec/dummy/app/helpers/application_helper.rb
253
+ - spec/dummy/app/mailers/.gitkeep
254
+ - spec/dummy/app/models/.gitkeep
255
+ - spec/dummy/app/views/layouts/application.html.erb
256
+ - spec/dummy/config.ru
257
+ - spec/dummy/config/application.rb
258
+ - spec/dummy/config/boot.rb
259
+ - spec/dummy/config/database.yml
260
+ - spec/dummy/config/environment.rb
261
+ - spec/dummy/config/environments/development.rb
262
+ - spec/dummy/config/environments/production.rb
263
+ - spec/dummy/config/environments/test.rb
264
+ - spec/dummy/config/initializers/backtrace_silencers.rb
265
+ - spec/dummy/config/initializers/inflections.rb
266
+ - spec/dummy/config/initializers/mime_types.rb
267
+ - spec/dummy/config/initializers/secret_token.rb
268
+ - spec/dummy/config/initializers/session_store.rb
269
+ - spec/dummy/config/initializers/wrap_parameters.rb
270
+ - spec/dummy/config/locales/en.yml
271
+ - spec/dummy/config/routes.rb
272
+ - spec/dummy/db/seeds.rb
273
+ - spec/dummy/lib/assets/.gitkeep
274
+ - spec/dummy/lib/tasks/.gitkeep
275
+ - spec/dummy/log/.gitkeep
276
+ - spec/dummy/public/404.html
277
+ - spec/dummy/public/422.html
278
+ - spec/dummy/public/500.html
279
+ - spec/dummy/public/favicon.ico
280
+ - spec/dummy/public/index.html
281
+ - spec/dummy/public/robots.txt
282
+ - spec/dummy/salida/users_create_response.json
283
+ - spec/dummy/script/rails
284
+ - spec/dummy/test/fixtures/.gitkeep
285
+ - spec/dummy/test/functional/.gitkeep
286
+ - spec/dummy/test/integration/.gitkeep
287
+ - spec/dummy/test/performance/browsing_test.rb
288
+ - spec/dummy/test/test_helper.rb
289
+ - spec/dummy/test/unit/.gitkeep
290
+ - spec/dummy/vendor/assets/javascripts/.gitkeep
291
+ - spec/dummy/vendor/assets/stylesheets/.gitkeep
292
+ - spec/dummy/vendor/plugins/.gitkeep
293
+ - spec/features/action_spec.rb
294
+ - spec/features/index_spec.rb
295
+ - spec/lib/action_doc_spec.rb
296
+ - spec/lib/config_spec.rb
297
+ - spec/lib/controller_extractor_spec.rb
298
+ - spec/lib/http_response_spec.rb
299
+ - spec/lib/param_errors_spec.rb
300
+ - spec/lib/rake_spec.rb
301
+ - spec/lib/rapidoc_spec.rb
302
+ - spec/lib/resource_doc_spec.rb
303
+ - spec/lib/resources_extractor_spec.rb
304
+ - spec/lib/routes_doc_spec.rb
305
+ - spec/lib/templates_generator_spec.rb
306
+ - spec/lib/yard_parser_spec.rb
307
+ - spec/spec_helper.rb