Class: YARD::Serializers::YardocSerializer
- Inherits:
-
FileSystemSerializer
- Object
- Base
- FileSystemSerializer
- YARD::Serializers::YardocSerializer
- Defined in:
- lib/yard/serializers/yardoc_serializer.rb
Instance Attribute Summary
Attributes inherited from FileSystemSerializer
Attributes inherited from Base
Instance Method Summary (collapse)
- - (Object) checksums_path
- - (Object) deserialize(path, is_path = false)
-
- (YardocSerializer) initialize(yfile)
constructor
A new instance of YardocSerializer.
- - (Object) objects_path
- - (Object) proxy_types_path
- - (Object) serialize(object)
- - (Object) serialized_path(object)
Methods inherited from FileSystemSerializer
Methods inherited from Base
#after_serialize, #before_serialize, #exists?
Constructor Details
- (YardocSerializer) initialize(yfile)
A new instance of YardocSerializer
30 31 32 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 30 def initialize(yfile) super(:basepath => yfile, :extension => 'dat') end |
Instance Method Details
- (Object) checksums_path
36 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 36 def checksums_path; File.join(basepath, 'checksums') end |
- (Object) deserialize(path, is_path = false)
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 71 def deserialize(path, is_path = false) path = File.join(basepath, serialized_path(path)) unless is_path if File.file?(path) log.debug "Deserializing #{path}..." Marshal.load(File.read_binary(path)) else log.debug "Could not find #{path}" nil end end |
- (Object) objects_path
34 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 34 def objects_path; File.join(basepath, 'objects') end |
- (Object) proxy_types_path
35 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 35 def proxy_types_path; File.join(basepath, 'proxy_types') end |
- (Object) serialize(object)
63 64 65 66 67 68 69 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 63 def serialize(object) if Hash === object super(object[:root], dump(object)) if object[:root] else super(object, dump(object)) end end |
- (Object) serialized_path(object)
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 38 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 |