class Fictium::Configuration
Constants
- DEFAULT_IGNORED_HEADERS
- DEFAULT_IGNORED_HEADERS_GROUPS
- VOWEL
Attributes
api_blueprint[R]
default_action_descriptors[RW]
default_person[RW]
default_response_content_type[RW]
default_subject[RW]
export_path[RW]
exporters[RW]
fixture_path[RW]
ignored_header_groups[RW]
ignored_header_values[RW]
info[R]
postman[R]
pretty_print[RW]
summary_format[RW]
unknown_action_descriptor[RW]
Public Class Methods
new()
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 21 def initialize @info = Fictium::Configuration::Info.new @api_blueprint = Fictium::Configuration::ApiBlueprint.new @postman = Fictium::Configuration::Postman.new @exporters = [Fictium::OpenApi::V3Exporter.new] @summary_format = method(:default_summary_format) @pretty_print = true setup_descriptors setup_strings @ignored_header_values = DEFAULT_IGNORED_HEADERS.dup @ignored_header_groups = DEFAULT_IGNORED_HEADERS_GROUPS.dup end
Private Instance Methods
conjugate(name)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 88 def conjugate(name) ::Verbs::Conjugator.conjugate name, subject: default_subject, tense: :present, person: default_person end
default_summary_for_create(action)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 73 def default_summary_for_create(action) name = action.resource.name "Create a new #{name}." end
default_summary_for_destroy(action)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 83 def default_summary_for_destroy(action) name = action.resource.name "Destroy #{get_preposition(name)} #{name}." end
default_summary_for_index(action)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 64 def default_summary_for_index(action) "List all available #{action.resource.name.pluralize}" end
default_summary_for_show(action)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 68 def default_summary_for_show(action) name = action.resource.name "Show details of #{get_preposition(name)} #{name}." end
default_summary_for_update(action)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 78 def default_summary_for_update(action) name = action.resource.name "Update #{get_preposition(name)} #{name}." end
default_summary_format(resources)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 55 def default_summary_format(resources) "Handles API #{resources}." end
default_unknown_action_descriptor(action, action_name)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 59 def default_unknown_action_descriptor(action, action_name) name = action_name.humanize "#{conjugate(name)} #{get_preposition(name)} #{action.resource.name}." end
get_preposition(resource_name)
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 94 def get_preposition(resource_name) resource_name.start_with?(VOWEL) ? 'an' : 'a' end
setup_descriptors()
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 37 def setup_descriptors @default_action_descriptors = { default_summary_for_index: method(:default_summary_for_index), default_summary_for_show: method(:default_summary_for_show), default_summary_for_create: method(:default_summary_for_create), default_summary_for_update: method(:default_summary_for_update), default_summary_for_destroy: method(:default_summary_for_destroy) } @unknown_action_descriptor = method(:default_unknown_action_descriptor) end
setup_strings()
click to toggle source
# File lib/fictium/configurations/configuration.rb, line 48 def setup_strings @default_subject = nil @export_path = 'doc' @default_response_content_type = 'text/plain' @default_person = :second end