63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/trailblazer/operation/worker.rb', line 63
def file_marshaller_representer
@file_marshaller_representer ||= contract_class.schema.apply do |dfn|
dfn.delete!(:prepare)
dfn.merge!(
:getter => lambda { |*| self[dfn.name.to_sym] },
:setter => lambda { |fragment, *| self[dfn.name.to_s] = fragment }
)
dfn.merge!(:class => Hash) and next if dfn[:form] next unless dfn[:file]
dfn.merge!(
:serialize => lambda { |file, *| Trailblazer::Operation::UploadedFile.new(file, :tmp_dir => "/tmp/uploads").to_hash },
:deserialize => lambda { |object, hash, *| Trailblazer::Operation::UploadedFile.from_hash(hash) },
:class => Hash
)
end
end
|