rails_api_documentation 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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