Sha256: f0a1dff6c9dcddee3fab998dbf76442a8869a8d89690b1424c499a888c2b8a1d
Contents?: true
Size: 1.02 KB
Versions: 37
Compression:
Stored size: 1.02 KB
Contents
class ProviderGateway < ActiveRecord::Base # # RELATIONS # belongs_to :provider, :counter_cache => true belongs_to :gateway scope :enabled, includes(:gateway).where(:gateways => {:enabled => true}) # # MODIFICATIONS # serialize :fields_mapping # # METHODS # def human_fields_mapping=(value) self.fields_mapping = value.gsub("\r", '').split("\n").map{|x| x.split('=')} self.fields_mapping = Hash[*self.fields_mapping.select{|x| x.length > 1}.flatten] end def human_fields_mapping return '' if self.fields_mapping.blank? self.fields_mapping.collect{|k,v| "#{k}=#{v}"}.join("\n") end def map(account, raw_fields) fields = {} if !account.blank? && !account_mapping.blank? fields[account_mapping] = account end unless raw_fields.blank? unless fields_mapping.blank? fields_mapping.each do |k, v| fields[v] = raw_fields[k] unless raw_fields[k].blank? end else fields.merge!(raw_fields) end end fields end end
Version data entries
37 entries across 37 versions & 1 rubygems