From 82c8c42aee8d774053198b4fa4d0e4abc7011a70 Mon Sep 17 00:00:00 2001 From: randx Date: Wed, 4 Apr 2012 02:49:58 +0300 Subject: [PATCH] Move all serialization to marshall --- app/models/event.rb | 11 ++++++++++- app/models/gitlab_serialize.rb | 23 ----------------------- app/models/merge_request.rb | 8 ++++++++ 3 files changed, 18 insertions(+), 24 deletions(-) delete mode 100644 app/models/gitlab_serialize.rb diff --git a/app/models/event.rb b/app/models/event.rb index a71d598..b7748ce 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -14,7 +14,8 @@ class Event < ActiveRecord::Base belongs_to :project belongs_to :target, :polymorphic => true - serialize :data, GitlabSerialize.new + # For Hash only + serialize :data scope :recent, order("created_at DESC") scope :code_push, where(:action => Pushed) @@ -104,6 +105,14 @@ class Event < ActiveRecord::Base delegate :name, :email, :to => :author, :prefix => true, :allow_nil => true delegate :title, :to => :issue, :prefix => true, :allow_nil => true delegate :title, :to => :merge_request, :prefix => true, :allow_nil => true + + def load obj + Marshal.load obj + end + + def dump obj + Marshal.dump obj + end end # == Schema Information # diff --git a/app/models/gitlab_serialize.rb b/app/models/gitlab_serialize.rb deleted file mode 100644 index efd63cc..0000000 --- a/app/models/gitlab_serialize.rb +++ /dev/null @@ -1,23 +0,0 @@ -class GitlabSerialize - # Called to deserialize data to ruby object. - def load(data) - hash = parse_data(data) - hash = HashWithIndifferentAccess.new(hash) if hash - hash - end - - def parse_data(data) - JSON.load(data) - rescue JSON::ParserError - begin - YAML.load(data) - rescue Psych::SyntaxError - nil - end - end - - # Called to convert from ruby object to serialized data. - def dump(obj) - JSON.dump(obj) - end -end diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index edf073d..6ee9b88 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -144,6 +144,14 @@ class MergeRequest < ActiveRecord::Base :author_id => user_id ) end + + def load obj + Marshal.load obj + end + + def dump obj + Marshal.dump obj + end end # == Schema Information # -- libgit2 0.21.2