require '/Users/chris/projects/xoxo-rb/xoxo.rb' require 'pyrosoma/frame' class Pyrosoma class Frame module ToXoxo def to_xoxo hash = dup hash.each { |k, v| if v =~ /\A@/ hash[k] = {'url' => $', 'text' => $'} end } XOXO.dump hash end end module FromXoxo def from_xoxo(string) fields = {} xoxo = XOXO.load(string) case xoxo when Hash xoxo.each { |k, v| k = k.to_sym if v.kind_of?(Hash) && v["url"] v = "@#{v["url"]}" end fields[k] = v } else fields = {:content => xoxo} end new fields end end include ToXoxo extend FromXoxo end end