rails_api_documentation 0.2.2 → 0.2.3

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -0
  3. data/app/assets/javascripts/table.js.coffee +8 -3
  4. data/app/assets/stylesheets/rails_api_doc/application.css +1 -0
  5. data/app/assets/stylesheets/rails_api_doc/default.sass +31 -0
  6. data/app/assets/stylesheets/rails_api_doc/side_menu.sass +12 -23
  7. data/app/assets/stylesheets/rails_api_doc/table.sass +104 -84
  8. data/app/controllers/rails_api_doc/api_docs_controller.rb +19 -18
  9. data/app/models/rails_api_doc/api_datum.rb +8 -0
  10. data/app/views/layouts/rails_api_doc/application.slim +10 -9
  11. data/app/views/rails_api_doc/api_docs/_request_api_table.slim +4 -3
  12. data/app/views/rails_api_doc/api_docs/_response_api_table.slim +13 -6
  13. data/app/views/rails_api_doc/api_docs/index.slim +15 -20
  14. data/app/views/shared/_param_inputs.slim +8 -0
  15. data/app/views/shared/_side_menu.slim +9 -0
  16. data/app/views/shared/_table.slim +37 -17
  17. data/lib/generators/rails_api_doc/install_generator.rb +23 -0
  18. data/lib/generators/rails_api_doc/templates/api_datum_migration.rb +15 -0
  19. data/lib/rails_api_doc/config/validate_ary_object.rb +1 -1
  20. data/lib/rails_api_doc/config/validate_enum.rb +1 -1
  21. data/lib/rails_api_doc/config/validate_type.rb +1 -1
  22. data/lib/rails_api_doc/config/validator.rb +0 -4
  23. data/lib/rails_api_doc/config.rb +0 -2
  24. data/lib/rails_api_doc/controller/request/dsl.rb +60 -0
  25. data/lib/rails_api_doc/controller/request/headers.rb +56 -0
  26. data/lib/rails_api_doc/controller/request/param.rb +81 -0
  27. data/lib/rails_api_doc/controller/{parameter → request}/repository.rb +3 -1
  28. data/lib/rails_api_doc/controller/{response_factory.rb → response/factory.rb} +2 -2
  29. data/lib/rails_api_doc/controller/response/headers.rb +30 -0
  30. data/lib/rails_api_doc/controller/response/param.rb +14 -0
  31. data/lib/rails_api_doc/controller/response/rabl.rb +3 -1
  32. data/lib/rails_api_doc/controller/response/rabl_compiler.rb +4 -13
  33. data/lib/rails_api_doc/controller/strong_params/dsl.rb +17 -0
  34. data/lib/rails_api_doc/controller/strong_params/permitted_params.rb +88 -0
  35. data/lib/rails_api_doc/engine.rb +0 -12
  36. data/lib/rails_api_doc/{controller → model}/attribute_parser.rb +1 -1
  37. data/lib/rails_api_doc/railtie.rb +5 -2
  38. data/lib/rails_api_doc/version.rb +1 -1
  39. data/lib/rails_api_doc.rb +48 -1
  40. metadata +18 -16
  41. data/app/views/rails_api_doc/api_docs/_edit_field.slim +0 -9
  42. data/app/views/rails_api_doc/api_docs/_side_menu.slim +0 -9
  43. data/app/views/rails_api_doc/api_docs/_title.slim +0 -4
  44. data/app/views/rails_api_doc/api_docs/edit.js.erb +0 -0
  45. data/app/views/rails_api_doc/api_docs/example.html.erb +0 -32
  46. data/app/views/rails_api_doc/api_docs/new.js.erb +0 -0
  47. data/app/views/shared/_response_table.slim +0 -30
  48. data/lib/rails_api_doc/controller/parameter/repository/param.rb +0 -68
  49. data/lib/rails_api_doc/controller/parameter.rb +0 -54
  50. data/lib/rails_api_doc/controller/strong_params.rb +0 -71
  51. data/lib/rails_api_doc/controller.rb +0 -6
@@ -3,7 +3,7 @@
3
3
  class RailsApiDoc::Config::ValidateAryObject
4
4
 
5
5
  #
6
- # @api_param_data - RailsApiDoc::Controller::Parameter::Repository::Param
6
+ # @api_param_data - RailsApiDoc::Controller::Request::Param
7
7
  # @controller_param - ActionController::Parameter
8
8
  #
9
9
  # check validation of current type by given data
@@ -4,7 +4,7 @@
4
4
  class RailsApiDoc::Config::ValidateEnum
5
5
 
6
6
  #
7
- # @api_param_data - RailsApiDoc::Controller::Parameter::Repository::Param
7
+ # @api_param_data - RailsApiDoc::Controller::Ruquest::Param
8
8
  # @controller_param - ActionController::Parameter
9
9
  #
10
10
  # check validation of current type by given data
@@ -4,7 +4,7 @@
4
4
  class RailsApiDoc::Config::ValidateType
5
5
 
6
6
  #
7
- # @api_param_data - RailsApiDoc::Controller::Parameter::Repository::Param
7
+ # @api_param_data - RailsApiDoc::Controller::Request::Param
8
8
  # @controller_param - ActionController::Parameter
9
9
  #
10
10
  # check validation of current type by given data
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
- require_relative 'validate_ary_object'
4
- require_relative 'validate_enum'
5
- require_relative 'validate_type'
6
-
7
3
  class RailsApiDoc::Config::Validator
8
4
 
9
5
  class << self
@@ -14,5 +14,3 @@ class RailsApiDoc::Config
14
14
  end
15
15
 
16
16
  end
17
-
18
- require_relative 'config/validator'
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+ # author: Vadim Shaveiko <@vshaveyko>
3
+ module RailsApiDoc
4
+ module Controller
5
+ module Request
6
+ module DSL
7
+
8
+ VALID_KEYS = [:type, :required, :enum, :model, :desc, :value].freeze #:nodoc:
9
+
10
+ # Use parameter in controller to define REQUEST parameter.
11
+ # Adds it to repository: RailsApiDoc::Controller::Request::Repository
12
+ def parameter(name, options = {}, &block)
13
+ raise ArgumentError, 'Parameter already defined.' if repo.key?(name)
14
+
15
+ validate_options(options, block_given?)
16
+
17
+ define_parameter(name, options, &block)
18
+ end
19
+
20
+ private
21
+
22
+ def validate_options(options, block_given)
23
+ options.assert_valid_keys(VALID_KEYS)
24
+
25
+ RailsApiDoc::Controller::Request::Param.valid_type?(options[:type])
26
+ end
27
+
28
+ # default repo can be reassigned to deal with nested parameters
29
+ # see nested_parameter
30
+ def repo
31
+ @repo || RailsApiDoc::Controller::Request::Repository[self]
32
+ end
33
+
34
+ # adjust parameter values depending on parameter type
35
+ # 1. if nested - add nested values to parameter_data on :nested key
36
+ # 2. if enum - transform all values to_s
37
+ # bcs all incoming controller parameters will be strings and there can be errors
38
+ def define_parameter(name, parameter_data, &block)
39
+ if RailsApiDoc::Controller::Request::Param.valid_nested?(parameter_data[:type], block_given?)
40
+ parameter_data = nested_parameter(parameter_data, &block)
41
+ elsif RailsApiDoc::Controller::Request::Param.valid_enum?(parameter_data[:type], parameter_data[:enum])
42
+ parameter_data[:enum].map!(:to_s)
43
+ end
44
+
45
+ repo[name] = RailsApiDoc::Controller::Request::Param.new(name, parameter_data)
46
+ end
47
+
48
+ def nested_parameter(parameter_data)
49
+ _backup_repo = @repo
50
+ @repo = {}
51
+ yield
52
+ parameter_data.merge(nested: @repo)
53
+ ensure
54
+ @repo = _backup_repo
55
+ end
56
+
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,56 @@
1
+ # :nodoc:
2
+ module RailsApiDoc
3
+ module Controller
4
+ module Request
5
+ module Headers
6
+
7
+ def headers
8
+ REQUEST_HEADERS
9
+ end
10
+
11
+ REQUEST_HEADERS = {
12
+ 'Parameter' => {
13
+ value: -> (row_name, row_values) {
14
+ title = row_name.to_s
15
+ title += '*' if row_values.required?
16
+ title
17
+ },
18
+ fill_type: :input,
19
+ param: :name
20
+ },
21
+ 'Type' => {
22
+ value: -> (row_name, row_values) {
23
+ if row_values.nested?
24
+ (row_values.model || row_values.type).to_s + "(Nested)"
25
+ else
26
+ row_values.type
27
+ end
28
+ },
29
+ fill_type: :select,
30
+ param: :type,
31
+ values: RailsApiDoc::Controller::Request::Param::ACCEPTED_TYPES
32
+ },
33
+ 'Special' => {
34
+ value: -> (row_name, row_values) {
35
+ case
36
+ when row_values.enum?
37
+ row_values[:enum]
38
+ when row_values.model?
39
+ row_values[:model]
40
+ end
41
+ },
42
+ fill_type: :input,
43
+ param: :special
44
+ },
45
+ 'Desc' => {
46
+ value: -> (row_name, row_values) {
47
+ 'TODO: description' # if row_values[:desc]
48
+ },
49
+ fill_type: :input,
50
+ param: :desc
51
+ }
52
+ }
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+ # author: Vadim Shaveiko <@vshaveyko>
3
+ module RailsApiDoc
4
+ module Controller
5
+ module Request
6
+ class Param
7
+
8
+ NESTED_TYPES = [:ary_object, :object, :model, Object].freeze
9
+
10
+ STRAIGHT_TYPES = [:bool, :string, :integer, :array, :datetime, :enum, String, Object, Integer, Array, DateTime].freeze
11
+
12
+ ACCEPTED_TYPES = (NESTED_TYPES + STRAIGHT_TYPES).freeze
13
+
14
+ #
15
+ # @type - type to check
16
+ #
17
+ def self.accepted_nested_type?(type)
18
+ type.in?(NESTED_TYPES)
19
+ end
20
+
21
+ def self.valid_type?(type)
22
+ return if type.nil? || type.in?(ACCEPTED_TYPES)
23
+ raise ArgumentError, "Wrong type: #{type}. " \
24
+ "Correct types are: #{ACCEPTED_TYPES}."
25
+ end
26
+
27
+ def self.valid_enum?(type, enum)
28
+ return false unless type == :enum
29
+ return if enum.is_a?(Array)
30
+ raise ArgumentError, 'Enum must be an array.'
31
+ end
32
+
33
+ def self.valid_nested?(type, block_given)
34
+ return false unless accepted_nested_type?(type)
35
+ return true if block_given
36
+ raise ArgumentError, 'Empty object passed.'
37
+ end
38
+
39
+ def initialize(name, store)
40
+ @name = name
41
+ @store = store
42
+ end
43
+
44
+ def nested?
45
+ self.class.accepted_nested_type?(@store[:type])
46
+ end
47
+
48
+ def required?
49
+ @store[:required]
50
+ end
51
+
52
+ def method_missing(name, *args)
53
+ #
54
+ # define methods responding to each type with '?'
55
+ # ex: ary_object? array? string?
56
+ #
57
+ if name[-1] == '?'
58
+ type_name = name[0...-1]
59
+
60
+ return @store[:type] == type_name.to_sym
61
+ end
62
+
63
+ if @store.key?(name)
64
+ return @store[name]
65
+ end
66
+
67
+ if respond_to_missing?(name)
68
+ return @store.public_send(name, *args)
69
+ end
70
+
71
+ super
72
+ end
73
+
74
+ def respond_to_missing?(name, *)
75
+ @store.respond_to?(name) || @store.key?(name)
76
+ end
77
+
78
+ end
79
+ end
80
+ end
81
+ end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  # :nodoc:
4
- class RailsApiDoc::Controller::Parameter::Repository
4
+ class RailsApiDoc::Controller::Request::Repository
5
+
6
+ extend RailsApiDoc::Controller::Request::Headers
5
7
 
6
8
  @repo = Hash.new { |hsh, key| hsh[key] = Hash.new { |hsh, key| hsh[key] = Param.new(key) } }
7
9
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  # :nodoc:
4
- class RailsApiDoc::Controller::Response
4
+ class RailsApiDoc::Controller::Response::Factory
5
5
 
6
6
  class << self
7
7
 
@@ -11,7 +11,7 @@ class RailsApiDoc::Controller::Response
11
11
  end
12
12
 
13
13
  def controllers
14
- RailsApiDoc::Controller::Parameter::Repository.registered_controllers
14
+ RailsApiDoc::Controller::Request::Repository.registered_controllers
15
15
  end
16
16
 
17
17
  end
@@ -0,0 +1,30 @@
1
+ # :nodoc:
2
+ module RailsApiDoc::Controller::Response::Headers
3
+
4
+ RESPONSE_HEADERS = {
5
+ 'Parameter' => {
6
+ value: -> (row_name, row_values) { row_name },
7
+ fill_type: :input,
8
+ param: :name
9
+ },
10
+ 'Value' => {
11
+ value: -> (row_name, row_values) {
12
+ title = row_values.attr.to_s
13
+ title += '(NESTED)' if row_values.nested?
14
+ title
15
+ }
16
+ },
17
+ 'Desc' => {
18
+ value: -> (row_name, row_values) {
19
+ 'TODO: description' # if row_values[:desc]
20
+ },
21
+ fill_type: :input,
22
+ param: :desc
23
+ }
24
+ }
25
+
26
+ def headers
27
+ RESPONSE_HEADERS
28
+ end
29
+
30
+ end
@@ -0,0 +1,14 @@
1
+ # :nodoc:
2
+ module RailsApiDoc
3
+ module Controller
4
+ module Response
5
+ class Param < Struct.new(:name, :attr, :nested, :model, :desc)
6
+
7
+ def nested?
8
+ !nested.nil?
9
+ end
10
+
11
+ end
12
+ end
13
+ end
14
+ end
@@ -2,11 +2,13 @@
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  # :nodoc:
4
4
  # :nodoc:
5
- class RailsApiDoc::Controller::Response
5
+ module RailsApiDoc::Controller::Response
6
6
 
7
7
  # :nodoc:
8
8
  class Rabl
9
9
 
10
+ include RailsApiDoc::Controller::Response::Headers
11
+
10
12
  class << self
11
13
 
12
14
  attr_accessor :renderer
@@ -1,16 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  # :nodoc:
4
- # :nodoc:
5
- class RailsApiDoc::Controller::Response
6
-
7
- class Node < Struct.new(:name, :attr, :nested)
8
-
9
- def nested?
10
- !nested.nil?
11
- end
12
-
13
- end
4
+ module RailsApiDoc::Controller::Response
14
5
 
15
6
  # template struct
16
7
  class CompiledAttributes
@@ -36,7 +27,7 @@ class RailsApiDoc::Controller::Response
36
27
  n[:name] = "#{n[:name]}(#{n[:attr]})"
37
28
  end
38
29
 
39
- @nodes[n[:name]] = Node.new(n[:name], n[:attr], n[:nested])
30
+ @nodes[n[:name]] = RailsApiDoc::Controller::Response::Param.new(n[:name], n[:attr], n[:nested])
40
31
  end
41
32
 
42
33
  def extends(template)
@@ -50,9 +41,9 @@ class RailsApiDoc::Controller::Response
50
41
 
51
42
  def initialize(file_path, view_path: 'app/views')
52
43
  paths = Dir["#{view_path}/#{file_path}{.json,}.rabl"]
53
- file_path = paths.find { |path| File.exist?(path) }
44
+ @file_path = paths.find { |path| File.exist?(path) }
54
45
 
55
- @source = _preserve_ivars File.read(file_path)
46
+ @source = _preserve_ivars File.read(@file_path)
56
47
  rescue
57
48
  end
58
49
 
@@ -0,0 +1,17 @@
1
+ # :nodoc:
2
+ module RailsApiDoc
3
+ module Controller
4
+ module ResourceParams
5
+ module DSL
6
+
7
+ include RailsApiDoc::Controller::ResourceParams::PermittedParams # implements params_to_permit
8
+
9
+ def resource_params
10
+ # accepted_params for permit
11
+ params.permit(params_to_permit)
12
+ end
13
+
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,88 @@
1
+ # author: Vadim Shaveiko <@vshaveyko>
2
+ # frozen_string_literal: true
3
+ module RailsApiDoc
4
+ module Controller
5
+ module ResourceParams
6
+ module PermittedParams
7
+
8
+ private
9
+
10
+ def params_to_permit
11
+ _next_nesting_level(params, param_data: _permitted_params)
12
+ end
13
+
14
+ def _permitted_params
15
+ ::RailsApiDoc::Controller::Request::Repository[self.class]
16
+ end
17
+
18
+ #
19
+ # iterate recursively
20
+ # level_accepted_params initted as [{}] bcs params permit accepts
21
+ # aray with hash as a last arguments for describing nesting levels
22
+ #
23
+ def _next_nesting_level(controller_param, param_data:, current_accepted_params: nil, param_name: nil)
24
+ level_accepted_params = [{}]
25
+
26
+ if param_name && current_accepted_params # no param name and current_accepted_params on first iteration
27
+ current_accepted_params.last[param_name] = level_accepted_params
28
+ end
29
+
30
+ loop_params(controller_param, param_data, level_accepted_params)
31
+
32
+ level_accepted_params
33
+ end
34
+
35
+
36
+ #
37
+ # loop through current level of params and add to permit level if all requirements are met
38
+ #
39
+ # requirements are: 1) if required is set - param must be present and not empty => or error is raised
40
+ # 2) if enum is set - param must equal predefined value => see Config::ValidateEnum
41
+ # 3) if ary_object => see Config::ValidateAryObject
42
+ # 3) if config.check_params_type is set - param must be of required type
43
+ #
44
+ # @accepted_params = [{}] - array with last member hash for nesting
45
+ # @params - current nesting level params
46
+ # @level_permitted_params - data for params permission
47
+ #
48
+ def loop_params(params, level_permitted_params, accepted_params)
49
+ level_permitted_params.each do |param_name, api_param_data|
50
+ controller_param = params[param_name]
51
+
52
+ _check_required(param_name, controller_param, api_param_data) # raise if required and no value
53
+
54
+ # no value present && not required => skip
55
+ next unless controller_param
56
+
57
+ # value present but not valid for this type => skip
58
+ next unless RailsApiDoc::Config::Validator.valid_param?(controller_param, api_param_data)
59
+
60
+ if api_param_data.ary_object? # controller_param value should be array of objects
61
+ controller_param.each do |single_controller_param|
62
+ _next_nesting_level(single_controller_param,
63
+ param_data: api_param_data.nested,
64
+ current_accepted_params: accepted_params,
65
+ param_name: param_name)
66
+
67
+ end
68
+ elsif api_param_data.nested? # value should be nested object
69
+ _next_nesting_level(controller_param,
70
+ param_data: api_param_data.nested,
71
+ current_accepted_params: accepted_params,
72
+ param_name: param_name)
73
+
74
+ else # all other options
75
+ accepted_params.unshift(param_name)
76
+ end
77
+ end
78
+ end
79
+
80
+ def _check_required(param_name, param_data, param_config)
81
+ return unless param_config.required? && param_data.blank?
82
+ raise RailsApiDoc::Exception::ParamRequired, param_name
83
+ end
84
+
85
+ end
86
+ end
87
+ end
88
+ end
@@ -4,18 +4,6 @@ require 'jquery-rails' # needed for require in javascript
4
4
 
5
5
  require_relative 'railtie'
6
6
 
7
- require_relative 'exception/param_required'
8
-
9
- require_relative 'controller'
10
- require_relative 'controller/strong_params'
11
- require_relative 'controller/attribute_parser'
12
-
13
- require_relative 'controller/parameter'
14
- require_relative 'controller/parameter/repository'
15
- require_relative 'controller/parameter/repository/param'
16
-
17
- require_relative 'controller/response_factory'
18
-
19
7
  # add rabl support
20
8
  begin
21
9
  require 'rabl'
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  # :nodoc:
4
- class RailsApiDoc::Controller::AttributeParser
4
+ class RailsApiDoc::Model::AttributeParser
5
5
 
6
6
  # TODO : Change to I18n. Added on: 08.10.16. Added by: <@vshaveyko>
7
7
  WRONG_NAME_ERROR_STRING = 'Name should consist only of letters\ciphers\underscores'
@@ -2,8 +2,11 @@ module RailsApiDoc
2
2
  class Railtie < Rails::Railtie
3
3
  initializer 'api_doc.controller_additions' do
4
4
  ActiveSupport.on_load :action_controller do
5
- include RailsApiDoc::Controller::StrongParams
6
- extend RailsApiDoc::Controller::Parameter
5
+
6
+ include RailsApiDoc::Controller::ResourceParams::DSL
7
+
8
+ extend RailsApiDoc::Controller::Request::DSL
9
+
7
10
  end
8
11
  end
9
12
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  # author: Vadim Shaveiko <@vshaveyko>
3
3
  module RailsApiDoc
4
- VERSION = '0.2.2'
4
+ VERSION = '0.2.3'
5
5
  end
data/lib/rails_api_doc.rb CHANGED
@@ -1,9 +1,56 @@
1
1
  # author: Vadim Shaveiko <@vshaveyko>
2
2
  # frozen_string_literal: true
3
- require 'rails_api_doc/config'
4
3
 
5
4
  module RailsApiDoc
6
5
 
6
+ module Controller
7
+ module Response
8
+ _dir = 'rails_api_doc/controller/response/'
9
+
10
+ autoload :Factory, _dir + 'factory'
11
+ autoload :Headers, _dir + 'headers'
12
+ autoload :Param, _dir + 'param'
13
+ end
14
+
15
+ module Request
16
+ _dir = 'rails_api_doc/controller/request/'
17
+
18
+ autoload :DSL, _dir + 'dsl'
19
+ autoload :Param, _dir + 'param'
20
+ autoload :Headers, _dir + 'headers'
21
+ autoload :Repository, _dir + 'repository'
22
+ end
23
+
24
+ module ResourceParams
25
+ _dir = 'rails_api_doc/controller/strong_params/'
26
+
27
+ autoload :DSL, _dir + 'dsl'
28
+ autoload :PermittedParams, _dir + 'permitted_params'
29
+ end
30
+ end
31
+
32
+ module Model
33
+ _dir = 'rails_api_doc/model/'
34
+
35
+ autoload :AttributeParser, _dir + 'attribute_parser'
36
+ end
37
+
38
+ require 'rails_api_doc/config'
39
+ class Config
40
+ _dir = 'rails_api_doc/config/'
41
+
42
+ autoload :Validator, _dir + 'validator'
43
+ autoload :ValidateEnum, _dir + 'validate_enum'
44
+ autoload :ValidateType, _dir + 'validate_type'
45
+ autoload :ValidateAryObject, _dir + 'validate_ary_object'
46
+ end
47
+
48
+ module Exception
49
+ _dir = 'rails_api_doc/exception/'
50
+
51
+ autoload :ParamRequired, _dir + 'param_required'
52
+ end
53
+
7
54
  class << self
8
55
 
9
56
  def configure
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_api_documentation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - vs
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-11-26 00:00:00.000000000 Z
11
+ date: 2016-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -139,42 +139,44 @@ files:
139
139
  - app/assets/javascripts/rails_api_doc/application.js
140
140
  - app/assets/javascripts/table.js.coffee
141
141
  - app/assets/stylesheets/rails_api_doc/application.css
142
+ - app/assets/stylesheets/rails_api_doc/default.sass
142
143
  - app/assets/stylesheets/rails_api_doc/side_menu.sass
143
144
  - app/assets/stylesheets/rails_api_doc/table.sass
144
145
  - app/controllers/rails_api_doc/api_docs_controller.rb
145
146
  - app/controllers/rails_api_doc/application_controller.rb
146
147
  - app/helpers/rails_api_doc/application_helper.rb
148
+ - app/models/rails_api_doc/api_datum.rb
147
149
  - app/models/rails_api_doc/application_record.rb
148
150
  - app/views/layouts/rails_api_doc/application.slim
149
- - app/views/rails_api_doc/api_docs/_edit_field.slim
150
151
  - app/views/rails_api_doc/api_docs/_request_api_table.slim
151
152
  - app/views/rails_api_doc/api_docs/_response_api_table.slim
152
- - app/views/rails_api_doc/api_docs/_side_menu.slim
153
- - app/views/rails_api_doc/api_docs/_title.slim
154
- - app/views/rails_api_doc/api_docs/edit.js.erb
155
- - app/views/rails_api_doc/api_docs/example.html.erb
156
153
  - app/views/rails_api_doc/api_docs/index.slim
157
- - app/views/rails_api_doc/api_docs/new.js.erb
158
- - app/views/shared/_response_table.slim
154
+ - app/views/shared/_param_inputs.slim
155
+ - app/views/shared/_side_menu.slim
159
156
  - app/views/shared/_table.slim
160
157
  - config/routes.rb
158
+ - lib/generators/rails_api_doc/install_generator.rb
159
+ - lib/generators/rails_api_doc/templates/api_datum_migration.rb
161
160
  - lib/rails_api_doc.rb
162
161
  - lib/rails_api_doc/config.rb
163
162
  - lib/rails_api_doc/config/validate_ary_object.rb
164
163
  - lib/rails_api_doc/config/validate_enum.rb
165
164
  - lib/rails_api_doc/config/validate_type.rb
166
165
  - lib/rails_api_doc/config/validator.rb
167
- - lib/rails_api_doc/controller.rb
168
- - lib/rails_api_doc/controller/attribute_parser.rb
169
- - lib/rails_api_doc/controller/parameter.rb
170
- - lib/rails_api_doc/controller/parameter/repository.rb
171
- - lib/rails_api_doc/controller/parameter/repository/param.rb
166
+ - lib/rails_api_doc/controller/request/dsl.rb
167
+ - lib/rails_api_doc/controller/request/headers.rb
168
+ - lib/rails_api_doc/controller/request/param.rb
169
+ - lib/rails_api_doc/controller/request/repository.rb
170
+ - lib/rails_api_doc/controller/response/factory.rb
171
+ - lib/rails_api_doc/controller/response/headers.rb
172
+ - lib/rails_api_doc/controller/response/param.rb
172
173
  - lib/rails_api_doc/controller/response/rabl.rb
173
174
  - lib/rails_api_doc/controller/response/rabl_compiler.rb
174
- - lib/rails_api_doc/controller/response_factory.rb
175
- - lib/rails_api_doc/controller/strong_params.rb
175
+ - lib/rails_api_doc/controller/strong_params/dsl.rb
176
+ - lib/rails_api_doc/controller/strong_params/permitted_params.rb
176
177
  - lib/rails_api_doc/engine.rb
177
178
  - lib/rails_api_doc/exception/param_required.rb
179
+ - lib/rails_api_doc/model/attribute_parser.rb
178
180
  - lib/rails_api_doc/railtie.rb
179
181
  - lib/rails_api_doc/version.rb
180
182
  homepage: https://github.com/vshaveyko/rails_api_doc