class GrapeSwagger::DocMethods::DataType
Constants
- PRIMITIVE_MAPPINGS
Public Class Methods
call(value)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 7 def call(value) raw_data_type = value.is_a?(Hash) ? value[:type] : value raw_data_type ||= 'String' raw_data_type = parse_multi_type(raw_data_type) case raw_data_type.to_s when 'Boolean', 'Date', 'Integer', 'String', 'Float', 'JSON', 'Array' raw_data_type.to_s.downcase when 'Hash' 'object' when 'Rack::Multipart::UploadedFile', 'File' 'file' when 'Grape::API::Boolean' 'boolean' when 'BigDecimal' 'double' when 'DateTime', 'Time' 'dateTime' when 'Numeric' 'long' when 'Symbol' 'string' else parse_entity_name(raw_data_type) end end
collections()
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 90 def collections %w[csv ssv tsv pipes multi brackets] end
mapping(value)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 86 def mapping(value) PRIMITIVE_MAPPINGS[value] || 'string' end
parse_entity_name(model)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 50 def parse_entity_name(model) if model.respond_to?(:entity_name) model.entity_name elsif model.to_s.end_with?('::Entity', '::Entities') model.to_s.split('::')[0..-2].join('_') elsif model.to_s.start_with?('Entity::', 'Entities::', 'Representable::') model.to_s.split('::')[1..-1].join('_') else model.to_s.split('::').join('_') end end
parse_multi_type(raw_data_type)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 34 def parse_multi_type(raw_data_type) case raw_data_type when /\A\[.*\]\z/ type_as_string = raw_data_type.gsub(/[\[\s+\]]/, '').split(',').first begin Object.const_get(type_as_string) rescue NameError type_as_string end when Array raw_data_type.first else raw_data_type end end
primitive?(type)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 66 def primitive?(type) primitives.include?(type.to_s.downcase) end
primitives()
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 74 def primitives PRIMITIVE_MAPPINGS.keys.map(&:downcase) end
query_array_primitive?(type)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 78 def query_array_primitive?(type) query_array_primitives.include?(type.to_s.downcase) end
query_array_primitives()
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 82 def query_array_primitives primitives << 'string' end
request_primitive?(type)
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 62 def request_primitive?(type) request_primitives.include?(type.to_s.downcase) end
request_primitives()
click to toggle source
# File lib/grape-swagger/doc_methods/data_type.rb, line 70 def request_primitives primitives + %w[object string boolean file json array] end