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

Version Path
smartkiosk-server-0.12.1 app/models/provider_gateway.rb
smartkiosk-server-0.12 app/models/provider_gateway.rb
smartkiosk-server-0.11.11 app/models/provider_gateway.rb
smartkiosk-server-0.11.10 app/models/provider_gateway.rb
smartkiosk-server-0.11.9 app/models/provider_gateway.rb
smartkiosk-server-0.11.8 app/models/provider_gateway.rb
smartkiosk-server-0.11.7 app/models/provider_gateway.rb
smartkiosk-server-0.11.6 app/models/provider_gateway.rb
smartkiosk-server-0.11.5 app/models/provider_gateway.rb
smartkiosk-server-0.11.4 app/models/provider_gateway.rb
smartkiosk-server-0.11.3 app/models/provider_gateway.rb
smartkiosk-server-0.11.2 app/models/provider_gateway.rb
smartkiosk-server-0.11.1 app/models/provider_gateway.rb
smartkiosk-server-0.11 app/models/provider_gateway.rb
smartkiosk-server-0.10.19 app/models/provider_gateway.rb
smartkiosk-server-0.10.18 app/models/provider_gateway.rb
smartkiosk-server-0.10.17 app/models/provider_gateway.rb
smartkiosk-server-0.10.16 app/models/provider_gateway.rb
smartkiosk-server-0.10.15 app/models/provider_gateway.rb
smartkiosk-server-0.10.14 app/models/provider_gateway.rb