apipierails3 0.0.1

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 (171) hide show
  1. checksums.yaml +17 -0
  2. data/.gitignore +14 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +27 -0
  5. data/APACHE-LICENSE-2.0 +202 -0
  6. data/CHANGELOG.md +469 -0
  7. data/Gemfile +1 -0
  8. data/Gemfile.rails32 +6 -0
  9. data/Gemfile.rails41 +6 -0
  10. data/Gemfile.rails42 +11 -0
  11. data/Gemfile.rails50 +6 -0
  12. data/Gemfile.rails51 +7 -0
  13. data/MIT-LICENSE +20 -0
  14. data/NOTICE +4 -0
  15. data/PROPOSAL_FOR_RESPONSE_DESCRIPTIONS.md +244 -0
  16. data/README.rst +1874 -0
  17. data/Rakefile +13 -0
  18. data/apipierails3.gemspec +27 -0
  19. data/app/controllers/apipie/apipies_controller.rb +199 -0
  20. data/app/helpers/apipie_helper.rb +10 -0
  21. data/app/public/apipie/javascripts/apipie.js +6 -0
  22. data/app/public/apipie/javascripts/bundled/bootstrap-collapse.js +138 -0
  23. data/app/public/apipie/javascripts/bundled/bootstrap.js +1726 -0
  24. data/app/public/apipie/javascripts/bundled/jquery.js +5 -0
  25. data/app/public/apipie/javascripts/bundled/prettify.js +28 -0
  26. data/app/public/apipie/stylesheets/application.css +7 -0
  27. data/app/public/apipie/stylesheets/bundled/bootstrap-responsive.min.css +12 -0
  28. data/app/public/apipie/stylesheets/bundled/bootstrap.min.css +689 -0
  29. data/app/public/apipie/stylesheets/bundled/prettify.css +30 -0
  30. data/app/views/apipie/apipies/_disqus.html.erb +13 -0
  31. data/app/views/apipie/apipies/_errors.html.erb +23 -0
  32. data/app/views/apipie/apipies/_headers.html.erb +26 -0
  33. data/app/views/apipie/apipies/_languages.erb +6 -0
  34. data/app/views/apipie/apipies/_metadata.erb +1 -0
  35. data/app/views/apipie/apipies/_method_detail.erb +61 -0
  36. data/app/views/apipie/apipies/_params.html.erb +42 -0
  37. data/app/views/apipie/apipies/_params_plain.html.erb +20 -0
  38. data/app/views/apipie/apipies/apipie_404.html.erb +17 -0
  39. data/app/views/apipie/apipies/apipie_checksum.json.erb +1 -0
  40. data/app/views/apipie/apipies/getting_started.html.erb +6 -0
  41. data/app/views/apipie/apipies/index.html.erb +56 -0
  42. data/app/views/apipie/apipies/method.html.erb +41 -0
  43. data/app/views/apipie/apipies/plain.html.erb +77 -0
  44. data/app/views/apipie/apipies/resource.html.erb +80 -0
  45. data/app/views/apipie/apipies/static.html.erb +103 -0
  46. data/app/views/layouts/apipie/apipie.html.erb +27 -0
  47. data/config/locales/de.yml +28 -0
  48. data/config/locales/en.yml +32 -0
  49. data/config/locales/es.yml +28 -0
  50. data/config/locales/fr.yml +31 -0
  51. data/config/locales/it.yml +31 -0
  52. data/config/locales/ja.yml +31 -0
  53. data/config/locales/pl.yml +28 -0
  54. data/config/locales/pt-BR.yml +28 -0
  55. data/config/locales/ru.yml +28 -0
  56. data/config/locales/tr.yml +28 -0
  57. data/config/locales/zh-CN.yml +28 -0
  58. data/config/locales/zh-TW.yml +28 -0
  59. data/images/screenshot-1.png +0 -0
  60. data/images/screenshot-2.png +0 -0
  61. data/lib/apipie/apipie_module.rb +83 -0
  62. data/lib/apipie/application.rb +462 -0
  63. data/lib/apipie/configuration.rb +186 -0
  64. data/lib/apipie/dsl_definition.rb +607 -0
  65. data/lib/apipie/error_description.rb +44 -0
  66. data/lib/apipie/errors.rb +86 -0
  67. data/lib/apipie/extractor.rb +177 -0
  68. data/lib/apipie/extractor/collector.rb +117 -0
  69. data/lib/apipie/extractor/recorder.rb +166 -0
  70. data/lib/apipie/extractor/writer.rb +454 -0
  71. data/lib/apipie/helpers.rb +73 -0
  72. data/lib/apipie/markup.rb +48 -0
  73. data/lib/apipie/method_description.rb +273 -0
  74. data/lib/apipie/middleware/checksum_in_headers.rb +35 -0
  75. data/lib/apipie/param_description.rb +280 -0
  76. data/lib/apipie/railtie.rb +9 -0
  77. data/lib/apipie/resource_description.rb +124 -0
  78. data/lib/apipie/response_description.rb +131 -0
  79. data/lib/apipie/response_description_adapter.rb +200 -0
  80. data/lib/apipie/routes_formatter.rb +33 -0
  81. data/lib/apipie/routing.rb +16 -0
  82. data/lib/apipie/rspec/response_validation_helper.rb +192 -0
  83. data/lib/apipie/see_description.rb +39 -0
  84. data/lib/apipie/static_dispatcher.rb +69 -0
  85. data/lib/apipie/swagger_generator.rb +707 -0
  86. data/lib/apipie/tag_list_description.rb +11 -0
  87. data/lib/apipie/validator.rb +526 -0
  88. data/lib/apipie/version.rb +3 -0
  89. data/lib/apipierails3.rb +25 -0
  90. data/lib/generators/apipie/install/README +6 -0
  91. data/lib/generators/apipie/install/install_generator.rb +25 -0
  92. data/lib/generators/apipie/install/templates/initializer.rb.erb +7 -0
  93. data/lib/generators/apipie/views_generator.rb +11 -0
  94. data/lib/tasks/apipie.rake +345 -0
  95. data/rel-eng/packages/.readme +3 -0
  96. data/rel-eng/packages/rubygem-apipie-rails +1 -0
  97. data/rel-eng/tito.props +5 -0
  98. data/spec/controllers/api/v1/architectures_controller_spec.rb +29 -0
  99. data/spec/controllers/api/v2/architectures_controller_spec.rb +12 -0
  100. data/spec/controllers/api/v2/nested/resources_controller_spec.rb +11 -0
  101. data/spec/controllers/apipies_controller_spec.rb +273 -0
  102. data/spec/controllers/concerns_controller_spec.rb +42 -0
  103. data/spec/controllers/extended_controller_spec.rb +11 -0
  104. data/spec/controllers/users_controller_spec.rb +740 -0
  105. data/spec/dummy/Rakefile +7 -0
  106. data/spec/dummy/app/controllers/api/base_controller.rb +4 -0
  107. data/spec/dummy/app/controllers/api/v1/architectures_controller.rb +43 -0
  108. data/spec/dummy/app/controllers/api/v1/base_controller.rb +11 -0
  109. data/spec/dummy/app/controllers/api/v2/architectures_controller.rb +30 -0
  110. data/spec/dummy/app/controllers/api/v2/base_controller.rb +11 -0
  111. data/spec/dummy/app/controllers/api/v2/nested/architectures_controller.rb +32 -0
  112. data/spec/dummy/app/controllers/api/v2/nested/resources_controller.rb +33 -0
  113. data/spec/dummy/app/controllers/application_controller.rb +18 -0
  114. data/spec/dummy/app/controllers/concerns/extending_concern.rb +11 -0
  115. data/spec/dummy/app/controllers/concerns/sample_controller.rb +41 -0
  116. data/spec/dummy/app/controllers/concerns_controller.rb +8 -0
  117. data/spec/dummy/app/controllers/extended_controller.rb +14 -0
  118. data/spec/dummy/app/controllers/files_controller.rb +5 -0
  119. data/spec/dummy/app/controllers/overridden_concerns_controller.rb +31 -0
  120. data/spec/dummy/app/controllers/pets_controller.rb +408 -0
  121. data/spec/dummy/app/controllers/pets_using_auto_views_controller.rb +73 -0
  122. data/spec/dummy/app/controllers/pets_using_self_describing_classes_controller.rb +95 -0
  123. data/spec/dummy/app/controllers/tagged_cats_controller.rb +32 -0
  124. data/spec/dummy/app/controllers/tagged_dogs_controller.rb +15 -0
  125. data/spec/dummy/app/controllers/twitter_example_controller.rb +307 -0
  126. data/spec/dummy/app/controllers/users_controller.rb +297 -0
  127. data/spec/dummy/app/views/layouts/application.html.erb +21 -0
  128. data/spec/dummy/config.ru +4 -0
  129. data/spec/dummy/config/application.rb +49 -0
  130. data/spec/dummy/config/boot.rb +10 -0
  131. data/spec/dummy/config/database.yml +21 -0
  132. data/spec/dummy/config/environment.rb +8 -0
  133. data/spec/dummy/config/environments/development.rb +28 -0
  134. data/spec/dummy/config/environments/production.rb +52 -0
  135. data/spec/dummy/config/environments/test.rb +38 -0
  136. data/spec/dummy/config/initializers/apipie.rb +110 -0
  137. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  138. data/spec/dummy/config/initializers/inflections.rb +10 -0
  139. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  140. data/spec/dummy/config/initializers/secret_token.rb +8 -0
  141. data/spec/dummy/config/initializers/session_store.rb +8 -0
  142. data/spec/dummy/config/locales/en.yml +5 -0
  143. data/spec/dummy/config/routes.rb +51 -0
  144. data/spec/dummy/db/.gitkeep +0 -0
  145. data/spec/dummy/doc/apipie_examples.json +1 -0
  146. data/spec/dummy/doc/users/desc_from_file.md +1 -0
  147. data/spec/dummy/public/404.html +26 -0
  148. data/spec/dummy/public/422.html +26 -0
  149. data/spec/dummy/public/500.html +26 -0
  150. data/spec/dummy/public/favicon.ico +0 -0
  151. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  152. data/spec/dummy/script/rails +6 -0
  153. data/spec/lib/application_spec.rb +49 -0
  154. data/spec/lib/extractor/extractor_spec.rb +9 -0
  155. data/spec/lib/extractor/middleware_spec.rb +44 -0
  156. data/spec/lib/extractor/writer_spec.rb +110 -0
  157. data/spec/lib/file_handler_spec.rb +18 -0
  158. data/spec/lib/method_description_spec.rb +98 -0
  159. data/spec/lib/param_description_spec.rb +345 -0
  160. data/spec/lib/param_group_spec.rb +60 -0
  161. data/spec/lib/rake_spec.rb +71 -0
  162. data/spec/lib/resource_description_spec.rb +48 -0
  163. data/spec/lib/swagger/openapi_2_0_schema.json +1607 -0
  164. data/spec/lib/swagger/rake_swagger_spec.rb +139 -0
  165. data/spec/lib/swagger/response_validation_spec.rb +104 -0
  166. data/spec/lib/swagger/swagger_dsl_spec.rb +658 -0
  167. data/spec/lib/validator_spec.rb +113 -0
  168. data/spec/lib/validators/array_validator_spec.rb +85 -0
  169. data/spec/spec_helper.rb +109 -0
  170. data/spec/support/rake.rb +21 -0
  171. metadata +415 -0
@@ -0,0 +1,113 @@
1
+ require "spec_helper"
2
+
3
+ describe Apipie::Validator do
4
+
5
+ let(:dsl_data) { ActionController::Base.send(:_apipie_dsl_data_init) }
6
+
7
+ let(:resource_desc) do
8
+ Apipie::ResourceDescription.new(UsersController, "users")
9
+ end
10
+
11
+ let(:method_desc) do
12
+ Apipie::MethodDescription.new(:show, resource_desc, dsl_data)
13
+ end
14
+
15
+ let(:params_desc) do
16
+ Apipie::ParamDescription.new(method_desc, :param, nil)
17
+ end
18
+
19
+ describe 'TypeValidator' do
20
+
21
+ context "expected type" do
22
+
23
+ it "should return hash for type Hash" do
24
+ validator = Apipie::Validator::TypeValidator.new(params_desc, Hash)
25
+ expect(validator.expected_type).to eq('hash')
26
+ end
27
+
28
+ it "should return array for type Array" do
29
+ validator = Apipie::Validator::TypeValidator.new(params_desc, Array)
30
+ expect(validator.expected_type).to eq('array')
31
+ end
32
+
33
+ it "should return numeric for type Numeric" do
34
+ validator = Apipie::Validator::TypeValidator.new(params_desc, Numeric)
35
+ expect(validator.expected_type).to eq('numeric')
36
+ end
37
+
38
+ it "should return string by default" do
39
+ validator = Apipie::Validator::TypeValidator.new(params_desc, Symbol)
40
+ expect(validator.expected_type).to eq('string')
41
+ end
42
+
43
+ end
44
+
45
+ describe 'NumberValidator' do
46
+ it 'should expect a Numeric type' do
47
+ validator = Apipie::Validator::BaseValidator.find(params_desc, :number, nil, nil)
48
+ expect(validator.expected_type).to eq('numeric')
49
+ end
50
+ end
51
+ end
52
+
53
+ describe 'BooleanValidator' do
54
+ it "should validate by object class" do
55
+ validator = Apipie::Validator::BooleanValidator.new(params_desc)
56
+ expect(validator.validate("1")).to be_truthy
57
+ expect(validator.validate(1)).to be_truthy
58
+ expect(validator.validate(true)).to be_truthy
59
+ expect(validator.validate(0)).to be_truthy
60
+ expect(validator.validate(false)).to be_truthy
61
+ expect(validator.validate({ 1 => 1 })).to be_falsey
62
+ end
63
+
64
+ it "should have a valid description" do
65
+ validator = Apipie::Validator::BooleanValidator.new(params_desc)
66
+ expect(validator.description).to eq('Must be one of: <code>true</code>, <code>false</code>, <code>1</code>, <code>0</code>.')
67
+ end
68
+ end
69
+
70
+ describe 'ArrayClassValidator' do
71
+ it "should validate by object class" do
72
+ validator = Apipie::Validator::ArrayClassValidator.new(params_desc, [Fixnum, String])
73
+ expect(validator.validate("1")).to be_truthy
74
+ expect(validator.validate(1)).to be_truthy
75
+ expect(validator.validate({ 1 => 1 })).to be_falsey
76
+ end
77
+
78
+ it "should have a valid description" do
79
+ validator = Apipie::Validator::ArrayClassValidator.new(params_desc, [Float, String])
80
+ expect(validator.description).to eq('Must be one of: <code>Float</code>, <code>String</code>.')
81
+ end
82
+ end
83
+
84
+ describe 'RegexpValidator' do
85
+ it "should validate by object class" do
86
+ validator = Apipie::Validator::RegexpValidator.new(params_desc, /^valid( extra)*$/)
87
+ expect(validator.validate("valid")).to be_truthy
88
+ expect(validator.validate("valid extra")).to be_truthy
89
+ expect(validator.validate("valid extra extra")).to be_truthy
90
+ expect(validator.validate("invalid")).to be_falsey
91
+ end
92
+
93
+ it "should have a valid description" do
94
+ validator = Apipie::Validator::RegexpValidator.new(params_desc, /^valid( extra)*$/)
95
+ expect(validator.description).to eq('Must match regular expression <code>/^valid( extra)*$/</code>.')
96
+ end
97
+ end
98
+
99
+ describe 'EnumValidator' do
100
+ it "should validate by object class" do
101
+ validator = Apipie::Validator::EnumValidator.new(params_desc, ['first', 'second & third'])
102
+ expect(validator.validate("first")).to be_truthy
103
+ expect(validator.validate("second & third")).to be_truthy
104
+ expect(validator.validate(1)).to be_falsey
105
+ expect(validator.validate({ 1 => 1 })).to be_falsey
106
+ end
107
+
108
+ it "should have a valid description" do
109
+ validator = Apipie::Validator::EnumValidator.new(params_desc, ['first', 'second & third'])
110
+ expect(validator.description).to eq('Must be one of: <code>first</code>, <code>second &amp; third</code>.')
111
+ end
112
+ end
113
+ end
@@ -0,0 +1,85 @@
1
+ require 'spec_helper'
2
+
3
+ module Apipie::Validator
4
+ describe ArrayValidator do
5
+
6
+ let(:param_desc) { double(:param_desc) }
7
+
8
+ context "with no constraint" do
9
+ let(:validator) { ArrayValidator.new(param_desc, Array) }
10
+ it "accepts any array" do
11
+ expect(validator.validate([42, 'string', true])).to eq(true)
12
+ end
13
+
14
+ it "accepts empty array" do
15
+ expect(validator.validate([])).to eq(true)
16
+ expect(validator.validate(nil)).to eq(true)
17
+ end
18
+
19
+ it "does not accepts non array" do
20
+ expect(validator.validate(42)).to eq(false)
21
+ expect(validator.validate(true)).to eq(false)
22
+ expect(validator.validate('string')).to eq(false)
23
+ end
24
+ end
25
+
26
+ context "with a constraint on items type" do
27
+ let(:validator) { ArrayValidator.new(param_desc, Array, :of => type) }
28
+
29
+ context "String" do
30
+ let(:type) { String }
31
+
32
+ it "accepts array of specified type" do
33
+ expect(validator.validate(['string1', 'string2'])).to eq(true)
34
+ end
35
+
36
+ it "accepts empty array" do
37
+ expect(validator.validate([])).to eq(true)
38
+ end
39
+
40
+ it "does not accepts array with other types" do
41
+ expect(validator.validate(['string1', true])).to eq(false)
42
+ end
43
+ end
44
+
45
+ context ":number" do
46
+ let(:type) { :decimal }
47
+
48
+ it "accepts array of specified type" do
49
+ expect(validator.validate([12, '14'])).to eq(true)
50
+ end
51
+
52
+ it "accepts empty array" do
53
+ expect(validator.validate([])).to eq(true)
54
+ end
55
+
56
+ it "does not accepts array with other types" do
57
+ expect(validator.validate([12, 'potato'])).to eq(false)
58
+ end
59
+ end
60
+ end
61
+
62
+ context "with a constraint on items value" do
63
+ let(:validator) { ArrayValidator.new(param_desc, Array, :in => [42, 'string', true]) }
64
+
65
+ it "accepts array of valid values" do
66
+ expect(validator.validate([42, 'string'])).to eq(true)
67
+ end
68
+
69
+ it "accepts empty array" do
70
+ expect(validator.validate([])).to eq(true)
71
+ end
72
+
73
+ it "does not accepts array with invalid values" do
74
+ expect(validator.validate([42, 'string', 'foo'])).to eq(false)
75
+ end
76
+
77
+ it "accepts a proc as list of valid values" do
78
+ validator = ArrayValidator.new(param_desc, Array, :in => lambda { [42, 'string', true] })
79
+ expect(validator.validate([42, 'string'])).to eq(true)
80
+ expect(validator.validate([42, 'string', 'foo'])).to eq(false)
81
+ end
82
+ end
83
+
84
+ end
85
+ end
@@ -0,0 +1,109 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+
4
+ ENV["RAILS_ENV"] ||= 'test'
5
+ APIPIE_ROOT = File.expand_path('../..', __FILE__)
6
+ require File.expand_path("../dummy/config/environment", __FILE__)
7
+
8
+ require 'rspec/rails'
9
+
10
+ require 'apipierails3'
11
+
12
+ module Rails4Compatibility
13
+ module Testing
14
+ def process(*args)
15
+ compatible_request(*args) { |*new_args| super(*new_args) }
16
+ end
17
+
18
+ def compatible_request(method, action, hash = {})
19
+ if hash.is_a?(Hash)
20
+ if Gem::Version.new(Rails.version) < Gem::Version.new('5.0.0')
21
+ hash = hash.dup
22
+ hash.merge!(hash.delete(:params) || {})
23
+ elsif hash.key?(:params)
24
+ hash = { :params => hash }
25
+ end
26
+ end
27
+ if hash.empty?
28
+ yield method, action
29
+ else
30
+ yield method, action, hash
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+
37
+ #
38
+ # Matcher to validate the properties (name, type and options) of a single field in the
39
+ # internal representation of a swagger schema
40
+ #
41
+ # For example, code such as:
42
+ # schema = swagger[:paths][<path>][<method>][:responses][<code>][:schema]
43
+ # expect(schema).to have_field(:pet_name, 'string', {:required => false})
44
+ #
45
+ # will verify that the selected response schema includes a required string field called 'pet_name'
46
+ #
47
+ RSpec::Matchers.define :have_field do |name, type, opts={}|
48
+ def fail(msg)
49
+ @fail_message = msg
50
+ false
51
+ end
52
+
53
+ @fail_message = ""
54
+
55
+ failure_message do |actual|
56
+ @fail_message
57
+ end
58
+
59
+ match do |unresolved|
60
+ actual = resolve_refs(unresolved)
61
+ return fail("expected schema to have type 'object' (got '#{actual[:type]}')") if (actual[:type]) != 'object'
62
+ return fail("expected schema to include param named '#{name}' (got #{actual[:properties].keys})") if (prop = actual[:properties][name]).nil?
63
+ return fail("expected param '#{name}' to have type '#{type}' (got '#{prop[:type]}')") if prop[:type] != type
64
+ return fail("expected param '#{name}' to have description '#{opts[:description]}' (got '#{prop[:description]}')") if opts[:description] && prop[:description] != opts[:description]
65
+ return fail("expected param '#{name}' to have enum '#{opts[:enum]}' (got #{prop[:enum]})") if opts[:enum] && prop[:enum] != opts[:enum]
66
+ return fail("expected param '#{name}' to have items '#{opts[:items]}' (got #{prop[:items]})") if opts[:items] && prop[:items] != opts[:items]
67
+ if !opts.include?(:required) || opts[:required] == true
68
+ return fail("expected param '#{name}' to be required") unless actual[:required].include?(name)
69
+ else
70
+ return fail("expected param '#{name}' to be optional") if actual[:required].include?(name)
71
+ end
72
+ true
73
+ end
74
+ end
75
+
76
+ # Requires supporting ruby files with custom matchers and macros, etc,
77
+ # in spec/support/ and its subdirectories.
78
+ Dir[File.expand_path("../support/**/*.rb", __FILE__)].each {|f| require f}
79
+
80
+ RSpec.configure do |config|
81
+
82
+ config.mock_with :rspec
83
+
84
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
85
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
86
+
87
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
88
+ # examples within a transaction, remove the following line or assign false
89
+ # instead of true.
90
+ config.use_transactional_fixtures = true
91
+
92
+ # If true, the base class of anonymous controllers will be inferred
93
+ # automatically. This will be the default behavior in future versions of
94
+ # rspec-rails.
95
+ config.infer_base_class_for_anonymous_controllers = false
96
+
97
+ # rspec-rails 3 will no longer automatically infer an example group's spec type
98
+ # from the file location. You can explicitly opt-in to the feature using this
99
+ # config option.
100
+ # To explicitly tag specs without using automatic inference, set the `:type`
101
+ # metadata manually:
102
+ #
103
+ # describe ThingsController, :type => :controller do
104
+ # # Equivalent to being in spec/controllers
105
+ # end
106
+ config.infer_spec_type_from_file_location!
107
+ end
108
+
109
+ require 'action_controller/test_case.rb'
@@ -0,0 +1,21 @@
1
+ require "rake"
2
+
3
+ # inspired by http://robots.thoughtbot.com/test-rake-tasks-like-a-boss
4
+ shared_context "rake" do
5
+ let(:rake) { Rake::Application.new }
6
+ let(:task_name) { rake.parse_task_string(self.class.description).first }
7
+ let(:task_args) { rake.parse_task_string(self.class.description).last }
8
+ let(:task_path) { "lib/tasks/apipie" }
9
+ subject { rake[task_name] }
10
+
11
+ def loaded_files_excluding_current_rake_file
12
+ $".reject {|file| file == File.expand_path("#{task_path}.rake", APIPIE_ROOT) }
13
+ end
14
+
15
+ before do
16
+ Rake.application = rake
17
+ Rake.application.rake_require(task_path, [APIPIE_ROOT], loaded_files_excluding_current_rake_file)
18
+
19
+ Rake::Task.define_task(:environment)
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,415 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: apipierails3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - sai kiran mothe
8
+ - Pavel Pokorny
9
+ - Ivan Necas
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2019-04-08 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rails
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '3.0'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
28
+ version: '3.0'
29
+ - !ruby/object:Gem::Dependency
30
+ name: rspec-rails
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - ~>
34
+ - !ruby/object:Gem::Version
35
+ version: '3.0'
36
+ type: :development
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ~>
41
+ - !ruby/object:Gem::Version
42
+ version: '3.0'
43
+ - !ruby/object:Gem::Dependency
44
+ name: sqlite3
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ! '>='
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ type: :development
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ - !ruby/object:Gem::Dependency
58
+ name: minitest
59
+ requirement: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ type: :development
65
+ prerelease: false
66
+ version_requirements: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ - !ruby/object:Gem::Dependency
72
+ name: maruku
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :development
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ! '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ - !ruby/object:Gem::Dependency
86
+ name: RedCloth
87
+ requirement: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ! '>='
90
+ - !ruby/object:Gem::Version
91
+ version: '0'
92
+ type: :development
93
+ prerelease: false
94
+ version_requirements: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ! '>='
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ - !ruby/object:Gem::Dependency
100
+ name: rake
101
+ requirement: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ! '>='
104
+ - !ruby/object:Gem::Version
105
+ version: '0'
106
+ type: :development
107
+ prerelease: false
108
+ version_requirements: !ruby/object:Gem::Requirement
109
+ requirements:
110
+ - - ! '>='
111
+ - !ruby/object:Gem::Version
112
+ version: '0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: rdoc
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ! '>='
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ - !ruby/object:Gem::Dependency
128
+ name: json-schema
129
+ requirement: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ~>
132
+ - !ruby/object:Gem::Version
133
+ version: '2.8'
134
+ type: :development
135
+ prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ requirements:
138
+ - - ~>
139
+ - !ruby/object:Gem::Version
140
+ version: '2.8'
141
+ description: Rails REST API documentation tool
142
+ email:
143
+ - saikiran.mothe@gmail.com
144
+ - pajkycz@gmail.com
145
+ - inecas@redhat.com
146
+ executables: []
147
+ extensions: []
148
+ extra_rdoc_files: []
149
+ files:
150
+ - .gitignore
151
+ - .rspec
152
+ - .travis.yml
153
+ - APACHE-LICENSE-2.0
154
+ - CHANGELOG.md
155
+ - Gemfile
156
+ - Gemfile.rails32
157
+ - Gemfile.rails41
158
+ - Gemfile.rails42
159
+ - Gemfile.rails50
160
+ - Gemfile.rails51
161
+ - MIT-LICENSE
162
+ - NOTICE
163
+ - PROPOSAL_FOR_RESPONSE_DESCRIPTIONS.md
164
+ - README.rst
165
+ - Rakefile
166
+ - apipierails3.gemspec
167
+ - app/controllers/apipie/apipies_controller.rb
168
+ - app/helpers/apipie_helper.rb
169
+ - app/public/apipie/javascripts/apipie.js
170
+ - app/public/apipie/javascripts/bundled/bootstrap-collapse.js
171
+ - app/public/apipie/javascripts/bundled/bootstrap.js
172
+ - app/public/apipie/javascripts/bundled/jquery.js
173
+ - app/public/apipie/javascripts/bundled/prettify.js
174
+ - app/public/apipie/stylesheets/application.css
175
+ - app/public/apipie/stylesheets/bundled/bootstrap-responsive.min.css
176
+ - app/public/apipie/stylesheets/bundled/bootstrap.min.css
177
+ - app/public/apipie/stylesheets/bundled/prettify.css
178
+ - app/views/apipie/apipies/_disqus.html.erb
179
+ - app/views/apipie/apipies/_errors.html.erb
180
+ - app/views/apipie/apipies/_headers.html.erb
181
+ - app/views/apipie/apipies/_languages.erb
182
+ - app/views/apipie/apipies/_metadata.erb
183
+ - app/views/apipie/apipies/_method_detail.erb
184
+ - app/views/apipie/apipies/_params.html.erb
185
+ - app/views/apipie/apipies/_params_plain.html.erb
186
+ - app/views/apipie/apipies/apipie_404.html.erb
187
+ - app/views/apipie/apipies/apipie_checksum.json.erb
188
+ - app/views/apipie/apipies/getting_started.html.erb
189
+ - app/views/apipie/apipies/index.html.erb
190
+ - app/views/apipie/apipies/method.html.erb
191
+ - app/views/apipie/apipies/plain.html.erb
192
+ - app/views/apipie/apipies/resource.html.erb
193
+ - app/views/apipie/apipies/static.html.erb
194
+ - app/views/layouts/apipie/apipie.html.erb
195
+ - config/locales/de.yml
196
+ - config/locales/en.yml
197
+ - config/locales/es.yml
198
+ - config/locales/fr.yml
199
+ - config/locales/it.yml
200
+ - config/locales/ja.yml
201
+ - config/locales/pl.yml
202
+ - config/locales/pt-BR.yml
203
+ - config/locales/ru.yml
204
+ - config/locales/tr.yml
205
+ - config/locales/zh-CN.yml
206
+ - config/locales/zh-TW.yml
207
+ - images/screenshot-1.png
208
+ - images/screenshot-2.png
209
+ - lib/apipie/apipie_module.rb
210
+ - lib/apipie/application.rb
211
+ - lib/apipie/configuration.rb
212
+ - lib/apipie/dsl_definition.rb
213
+ - lib/apipie/error_description.rb
214
+ - lib/apipie/errors.rb
215
+ - lib/apipie/extractor.rb
216
+ - lib/apipie/extractor/collector.rb
217
+ - lib/apipie/extractor/recorder.rb
218
+ - lib/apipie/extractor/writer.rb
219
+ - lib/apipie/helpers.rb
220
+ - lib/apipie/markup.rb
221
+ - lib/apipie/method_description.rb
222
+ - lib/apipie/middleware/checksum_in_headers.rb
223
+ - lib/apipie/param_description.rb
224
+ - lib/apipie/railtie.rb
225
+ - lib/apipie/resource_description.rb
226
+ - lib/apipie/response_description.rb
227
+ - lib/apipie/response_description_adapter.rb
228
+ - lib/apipie/routes_formatter.rb
229
+ - lib/apipie/routing.rb
230
+ - lib/apipie/rspec/response_validation_helper.rb
231
+ - lib/apipie/see_description.rb
232
+ - lib/apipie/static_dispatcher.rb
233
+ - lib/apipie/swagger_generator.rb
234
+ - lib/apipie/tag_list_description.rb
235
+ - lib/apipie/validator.rb
236
+ - lib/apipie/version.rb
237
+ - lib/apipierails3.rb
238
+ - lib/generators/apipie/install/README
239
+ - lib/generators/apipie/install/install_generator.rb
240
+ - lib/generators/apipie/install/templates/initializer.rb.erb
241
+ - lib/generators/apipie/views_generator.rb
242
+ - lib/tasks/apipie.rake
243
+ - rel-eng/packages/.readme
244
+ - rel-eng/packages/rubygem-apipie-rails
245
+ - rel-eng/tito.props
246
+ - spec/controllers/api/v1/architectures_controller_spec.rb
247
+ - spec/controllers/api/v2/architectures_controller_spec.rb
248
+ - spec/controllers/api/v2/nested/resources_controller_spec.rb
249
+ - spec/controllers/apipies_controller_spec.rb
250
+ - spec/controllers/concerns_controller_spec.rb
251
+ - spec/controllers/extended_controller_spec.rb
252
+ - spec/controllers/users_controller_spec.rb
253
+ - spec/dummy/Rakefile
254
+ - spec/dummy/app/controllers/api/base_controller.rb
255
+ - spec/dummy/app/controllers/api/v1/architectures_controller.rb
256
+ - spec/dummy/app/controllers/api/v1/base_controller.rb
257
+ - spec/dummy/app/controllers/api/v2/architectures_controller.rb
258
+ - spec/dummy/app/controllers/api/v2/base_controller.rb
259
+ - spec/dummy/app/controllers/api/v2/nested/architectures_controller.rb
260
+ - spec/dummy/app/controllers/api/v2/nested/resources_controller.rb
261
+ - spec/dummy/app/controllers/application_controller.rb
262
+ - spec/dummy/app/controllers/concerns/extending_concern.rb
263
+ - spec/dummy/app/controllers/concerns/sample_controller.rb
264
+ - spec/dummy/app/controllers/concerns_controller.rb
265
+ - spec/dummy/app/controllers/extended_controller.rb
266
+ - spec/dummy/app/controllers/files_controller.rb
267
+ - spec/dummy/app/controllers/overridden_concerns_controller.rb
268
+ - spec/dummy/app/controllers/pets_controller.rb
269
+ - spec/dummy/app/controllers/pets_using_auto_views_controller.rb
270
+ - spec/dummy/app/controllers/pets_using_self_describing_classes_controller.rb
271
+ - spec/dummy/app/controllers/tagged_cats_controller.rb
272
+ - spec/dummy/app/controllers/tagged_dogs_controller.rb
273
+ - spec/dummy/app/controllers/twitter_example_controller.rb
274
+ - spec/dummy/app/controllers/users_controller.rb
275
+ - spec/dummy/app/views/layouts/application.html.erb
276
+ - spec/dummy/config.ru
277
+ - spec/dummy/config/application.rb
278
+ - spec/dummy/config/boot.rb
279
+ - spec/dummy/config/database.yml
280
+ - spec/dummy/config/environment.rb
281
+ - spec/dummy/config/environments/development.rb
282
+ - spec/dummy/config/environments/production.rb
283
+ - spec/dummy/config/environments/test.rb
284
+ - spec/dummy/config/initializers/apipie.rb
285
+ - spec/dummy/config/initializers/backtrace_silencers.rb
286
+ - spec/dummy/config/initializers/inflections.rb
287
+ - spec/dummy/config/initializers/mime_types.rb
288
+ - spec/dummy/config/initializers/secret_token.rb
289
+ - spec/dummy/config/initializers/session_store.rb
290
+ - spec/dummy/config/locales/en.yml
291
+ - spec/dummy/config/routes.rb
292
+ - spec/dummy/db/.gitkeep
293
+ - spec/dummy/doc/apipie_examples.json
294
+ - spec/dummy/doc/users/desc_from_file.md
295
+ - spec/dummy/public/404.html
296
+ - spec/dummy/public/422.html
297
+ - spec/dummy/public/500.html
298
+ - spec/dummy/public/favicon.ico
299
+ - spec/dummy/public/stylesheets/.gitkeep
300
+ - spec/dummy/script/rails
301
+ - spec/lib/application_spec.rb
302
+ - spec/lib/extractor/extractor_spec.rb
303
+ - spec/lib/extractor/middleware_spec.rb
304
+ - spec/lib/extractor/writer_spec.rb
305
+ - spec/lib/file_handler_spec.rb
306
+ - spec/lib/method_description_spec.rb
307
+ - spec/lib/param_description_spec.rb
308
+ - spec/lib/param_group_spec.rb
309
+ - spec/lib/rake_spec.rb
310
+ - spec/lib/resource_description_spec.rb
311
+ - spec/lib/swagger/openapi_2_0_schema.json
312
+ - spec/lib/swagger/rake_swagger_spec.rb
313
+ - spec/lib/swagger/response_validation_spec.rb
314
+ - spec/lib/swagger/swagger_dsl_spec.rb
315
+ - spec/lib/validator_spec.rb
316
+ - spec/lib/validators/array_validator_spec.rb
317
+ - spec/spec_helper.rb
318
+ - spec/support/rake.rb
319
+ homepage: https://github.com/saikiranmothe/apipierails3
320
+ licenses: []
321
+ metadata: {}
322
+ post_install_message:
323
+ rdoc_options: []
324
+ require_paths:
325
+ - lib
326
+ required_ruby_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ! '>='
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - ! '>='
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ requirements: []
337
+ rubyforge_project:
338
+ rubygems_version: 2.7.7
339
+ signing_key:
340
+ specification_version: 4
341
+ summary: Rails REST API documentation tool
342
+ test_files:
343
+ - spec/controllers/api/v1/architectures_controller_spec.rb
344
+ - spec/controllers/api/v2/architectures_controller_spec.rb
345
+ - spec/controllers/api/v2/nested/resources_controller_spec.rb
346
+ - spec/controllers/apipies_controller_spec.rb
347
+ - spec/controllers/concerns_controller_spec.rb
348
+ - spec/controllers/extended_controller_spec.rb
349
+ - spec/controllers/users_controller_spec.rb
350
+ - spec/dummy/Rakefile
351
+ - spec/dummy/app/controllers/api/base_controller.rb
352
+ - spec/dummy/app/controllers/api/v1/architectures_controller.rb
353
+ - spec/dummy/app/controllers/api/v1/base_controller.rb
354
+ - spec/dummy/app/controllers/api/v2/architectures_controller.rb
355
+ - spec/dummy/app/controllers/api/v2/base_controller.rb
356
+ - spec/dummy/app/controllers/api/v2/nested/architectures_controller.rb
357
+ - spec/dummy/app/controllers/api/v2/nested/resources_controller.rb
358
+ - spec/dummy/app/controllers/application_controller.rb
359
+ - spec/dummy/app/controllers/concerns/extending_concern.rb
360
+ - spec/dummy/app/controllers/concerns/sample_controller.rb
361
+ - spec/dummy/app/controllers/concerns_controller.rb
362
+ - spec/dummy/app/controllers/extended_controller.rb
363
+ - spec/dummy/app/controllers/files_controller.rb
364
+ - spec/dummy/app/controllers/overridden_concerns_controller.rb
365
+ - spec/dummy/app/controllers/pets_controller.rb
366
+ - spec/dummy/app/controllers/pets_using_auto_views_controller.rb
367
+ - spec/dummy/app/controllers/pets_using_self_describing_classes_controller.rb
368
+ - spec/dummy/app/controllers/tagged_cats_controller.rb
369
+ - spec/dummy/app/controllers/tagged_dogs_controller.rb
370
+ - spec/dummy/app/controllers/twitter_example_controller.rb
371
+ - spec/dummy/app/controllers/users_controller.rb
372
+ - spec/dummy/app/views/layouts/application.html.erb
373
+ - spec/dummy/config.ru
374
+ - spec/dummy/config/application.rb
375
+ - spec/dummy/config/boot.rb
376
+ - spec/dummy/config/database.yml
377
+ - spec/dummy/config/environment.rb
378
+ - spec/dummy/config/environments/development.rb
379
+ - spec/dummy/config/environments/production.rb
380
+ - spec/dummy/config/environments/test.rb
381
+ - spec/dummy/config/initializers/apipie.rb
382
+ - spec/dummy/config/initializers/backtrace_silencers.rb
383
+ - spec/dummy/config/initializers/inflections.rb
384
+ - spec/dummy/config/initializers/mime_types.rb
385
+ - spec/dummy/config/initializers/secret_token.rb
386
+ - spec/dummy/config/initializers/session_store.rb
387
+ - spec/dummy/config/locales/en.yml
388
+ - spec/dummy/config/routes.rb
389
+ - spec/dummy/db/.gitkeep
390
+ - spec/dummy/doc/apipie_examples.json
391
+ - spec/dummy/doc/users/desc_from_file.md
392
+ - spec/dummy/public/404.html
393
+ - spec/dummy/public/422.html
394
+ - spec/dummy/public/500.html
395
+ - spec/dummy/public/favicon.ico
396
+ - spec/dummy/public/stylesheets/.gitkeep
397
+ - spec/dummy/script/rails
398
+ - spec/lib/application_spec.rb
399
+ - spec/lib/extractor/extractor_spec.rb
400
+ - spec/lib/extractor/middleware_spec.rb
401
+ - spec/lib/extractor/writer_spec.rb
402
+ - spec/lib/file_handler_spec.rb
403
+ - spec/lib/method_description_spec.rb
404
+ - spec/lib/param_description_spec.rb
405
+ - spec/lib/param_group_spec.rb
406
+ - spec/lib/rake_spec.rb
407
+ - spec/lib/resource_description_spec.rb
408
+ - spec/lib/swagger/openapi_2_0_schema.json
409
+ - spec/lib/swagger/rake_swagger_spec.rb
410
+ - spec/lib/swagger/response_validation_spec.rb
411
+ - spec/lib/swagger/swagger_dsl_spec.rb
412
+ - spec/lib/validator_spec.rb
413
+ - spec/lib/validators/array_validator_spec.rb
414
+ - spec/spec_helper.rb
415
+ - spec/support/rake.rb