Class: YARD::Serializers::YardocSerializer
- Inherits:
-
FileSystemSerializer
- Object
- Base
- FileSystemSerializer
- YARD::Serializers::YardocSerializer
- Defined in:
- lib/yard/serializers/yardoc_serializer.rb
Instance Method Summary collapse
- #checksums_path ⇒ Object
- #deserialize(path, is_path = false) ⇒ Object
-
#initialize(yfile) ⇒ YardocSerializer
constructor
A new instance of YardocSerializer.
- #object_types_path ⇒ Object
- #objects_path ⇒ Object
- #proxy_types_path ⇒ Object
- #serialize(object) ⇒ Object
- #serialized_path(object) ⇒ Object
Constructor Details
#initialize(yfile) ⇒ YardocSerializer
Returns 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
#checksums_path ⇒ Object
36 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 36 def checksums_path; File.join(basepath, 'checksums') end |
#deserialize(path, is_path = false) ⇒ Object
72 73 74 75 76 77 78 79 80 81 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 72 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_types_path ⇒ Object
37 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 37 def object_types_path; File.join(basepath, 'object_types') end |
#objects_path ⇒ Object
34 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 34 def objects_path; File.join(basepath, 'objects') end |
#proxy_types_path ⇒ Object
35 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 35 def proxy_types_path; File.join(basepath, 'proxy_types') end |
#serialize(object) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 64 def serialize(object) if Hash === object super(object[:root], dump(object)) if object[:root] else super(object, dump(object)) end end |
#serialized_path(object) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/yard/serializers/yardoc_serializer.rb', line 39 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 |