module AdtekioAdnetworks::BaseImporter

Public Class Methods

define_required_credentials() { || ... } click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 29
def self.define_required_credentials(&block)
  @reqcreds = yield
  self.class_eval do
    def self.required_credentials
      @reqcreds
    end
  end
end
included(klz) click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 16
def self.included(klz)
  klz.class_eval do
    def self.networks
      @networks
    end

    def self.register(importer_klz)
      (@networks ||= {})[importer_klz.new.network] = importer_klz
    end

    def self.included(importer_klz)
      register(importer_klz)
      importer_klz.class_eval do
        def self.define_required_credentials(&block)
          @reqcreds = yield
          self.class_eval do
            def self.required_credentials
              @reqcreds
            end
          end
        end
      end
    end
  end
end
networks() click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 18
def self.networks
  @networks
end
register(importer_klz) click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 22
def self.register(importer_klz)
  (@networks ||= {})[importer_klz.new.network] = importer_klz
end
required_credentials() click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 32
def self.required_credentials
  @reqcreds
end

Public Instance Methods

credentials() click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 47
def credentials
  @credentials ||= OpenStruct.new
end
credentials=(val) click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 51
def credentials=(val)
  @credentials = val.is_a?(Hash) ? OpenStruct.new(val) : val
end
network() click to toggle source
# File lib/adtekio_adnetworks/importers.rb, line 42
def network
  @network ||=
    self.class.name.to_s.sub(/^.+::([^:]+)$/,'\1').snakecase.to_sym
end