Method: YARD::Serializers::YardocSerializer#serialized_path

Defined in:
lib/yard/serializers/yardoc_serializer.rb

#serialized_path(object) ⇒ Object


40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/yard/serializers/yardoc_serializer.rb', line 40

def serialized_path(object)
  path = case object
  when String, Symbol
    object = object.to_s
    if object =~ /#/
      object += '_i'
    elsif object =~ /\./
      object += '_c'
    end
    object.split(/::|\.|#/).map do |p|
      p.gsub(/[^\w\.-]/) do |x|
        encoded = '_'

        x.each_byte { |b| encoded << ("%X" % b) }
        encoded
      end
    end.join('/') + '.' + extension
  when YARD::CodeObjects::RootObject
    'root.dat'
  else
    super(object)
  end
  File.join('objects', path)
end