Class: OpenApiAnnotator::Config

Inherits:
Struct
  • Object
show all
Defined in:
lib/open_api_annotator/config.rb

Defined Under Namespace

Classes: InvalidError

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#application_controller_class_nameObject

Returns the value of attribute application_controller_class_name

Returns:

  • (Object)

    the current value of application_controller_class_name



2
3
4
# File 'lib/open_api_annotator/config.rb', line 2

def application_controller_class_name
  @application_controller_class_name
end

#application_serializer_class_nameObject

Returns the value of attribute application_serializer_class_name

Returns:

  • (Object)

    the current value of application_serializer_class_name



2
3
4
# File 'lib/open_api_annotator/config.rb', line 2

def application_serializer_class_name
  @application_serializer_class_name
end

#destination_pathObject

Returns the value of attribute destination_path

Returns:

  • (Object)

    the current value of destination_path



2
3
4
# File 'lib/open_api_annotator/config.rb', line 2

def destination_path
  @destination_path
end

#infoObject

Returns the value of attribute info

Returns:

  • (Object)

    the current value of info



2
3
4
# File 'lib/open_api_annotator/config.rb', line 2

def info
  @info
end

#path_regexpObject

Returns the value of attribute path_regexp

Returns:

  • (Object)

    the current value of path_regexp



2
3
4
# File 'lib/open_api_annotator/config.rb', line 2

def path_regexp
  @path_regexp
end

Instance Method Details

#application_controller_classObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/open_api_annotator/config.rb', line 28

def application_controller_class
  if application_controller_class_name
    application_controller_class_name.constantize
  else
    unless defined?(ApplicationController)
      raise "        Expected to define ApplicationController or set custom class like:\n\n        ```\n        OpenApiAnnotator.configure do |config|\n          config.application_controller_class = BaseSerializer\n        end\n        ```\n      EOL\n    end\n    ApplicationController\n  end\nend\n"

#application_serializer_classObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/open_api_annotator/config.rb', line 9

def application_serializer_class
  if application_serializer_class_name
    application_serializer_class_name.constantize
  else
    unless defined?(ApplicationSerializer)
      raise "        Expected to define ApplicationSerializer or set custom class like:\n\n        ```\n        OpenApiAnnotator.configure do |config|\n          config.application_serializer_class = BaseSerializer\n        end\n        ```\n      EOL\n    end\n    ApplicationSerializer\n  end\nend\n"

#validate!Object



47
48
49
50
51
52
53
# File 'lib/open_api_annotator/config.rb', line 47

def validate!
  validate_info!
  validate_destination_path!
  validate_path_regexp!
  validate_application_controller_class_name!
  validate_application_serializer_class_name!
end

#validate_application_controller_class_name!Object



94
95
96
# File 'lib/open_api_annotator/config.rb', line 94

def validate_application_controller_class_name!
  # Do nothing
end

#validate_application_serializer_class_name!Object



90
91
92
# File 'lib/open_api_annotator/config.rb', line 90

def validate_application_serializer_class_name!
  # Do nothing
end

#validate_destination_path!Object



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/open_api_annotator/config.rb', line 72

def validate_destination_path!
  unless destination_path
    raise InvalidError, "      You have to set `config.destination_path` like:\n\n      ```\n      OpenApiAnnotator.configure do |config|\n        config.destination_path = Rails.root.join(\"api_spec.yml\")\n      end\n      ```\n    EOL\n  end\nend\n"

#validate_info!Object



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/open_api_annotator/config.rb', line 55

def validate_info!
  unless info
    raise InvalidError, "      You have to set `OpenApi::Info` to `config.info` like:\n\n      ```\n      OpenApiAnnotator.configure do |config|\n        config.info = OpenApi::Info.new(title: \"Book API\", version: \"1\")\n      end\n      ```\n\n      You can see the detail of `OpenApi::Info` in\n      https://www.rubydoc.info/gems/open_api/OpenApi/Info\n    EOL\n  end\nend\n"

#validate_path_regexp!Object



86
87
88
# File 'lib/open_api_annotator/config.rb', line 86

def validate_path_regexp!
  # Do nothing
end