Sha256: d06ad35dcf15cb4b21f24712007dc945d8a3eca0e195b124bc25562582570a19

Contents?: true

Size: 684 Bytes

Versions: 4

Compression:

Stored size: 684 Bytes

Contents

module IntegrationPal
  class Worker < ApplicationRecord
    include ActiveModel
    store :settings, coder: Hash
    attr_encrypted :settings, key: ENV['ENCRYPTION_KEY'], salt: ENV['SALT_KEY'], marshal: true

    validates :name, presence: true
    validates :access_id, presence: true
    validates :secret_key, presence: true
    validates :job_type, presence: true

    has_many :jobs

    before_create :generate_api_key
    def generate_api_key
      ApiAuth.generate_secret_key
    end

    after_initialize do |user|
      self.settings ||= {}
      self.secret_key ||= ApiAuth.generate_secret_key
    end

    def job_class
      self.job_type.constantize
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
integration_pal-0.1.3 app/models/integration_pal/worker.rb
integration_pal-0.1.2 app/models/integration_pal/worker.rb
integration_pal-0.1.1 app/models/integration_pal/worker.rb
integration_pal-0.1.0 app/models/integration_pal/worker.rb