Sha256: ba9925cee0952f0f59a6eac06ac506688ea55822f29091ec16e66eae5e270052

Contents?: true

Size: 1.15 KB

Versions: 14

Compression:

Stored size: 1.15 KB

Contents

require "sshkit"

module EveApp
  module SDE
    class DataImporter < SSHKit::Backend::Local
      include Downloader
      include Normalizer

      def initialize
        super
        execute :mkdir, '-p', SDE.config.tmp_path
      end

      private

      def db_config
        ActiveRecord::Base.connection_config
      end

      def sql(sql)
        log "[SQL] #{sql}"
        db.execute(sql)
      end

      def db
        ActiveRecord::Base.connection
      end

      def table_list
        @_table_list ||= begin
          whitelist = Array[SDE.config.table_whitelist].flatten.compact.map(&:to_s)
          tables = SDE.table_info
          tables.transform_values!(&:symbolize_keys)
          tables.select! { |(name,_)| whitelist.include?(name) } if whitelist.any?

          Hash[tables.map { |(name,info)| [name, { name: normalize_table_name(name) }.merge(info)] }]
        end
      end

      def table_names
        Hash[table_list.map { |(on,info)| [on, info[:name]] }]
      end

      def normalize_table_name(name)
        (SDE.config.table_prefix.to_s + name.gsub(/^#{SDE::PREFIXES.join('|')}/, '')).pluralize.underscore
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
eve_app-0.1.32 lib/eve_app/sde/data_importer.rb
eve_app-0.1.31 lib/eve_app/sde/data_importer.rb
eve_app-0.1.29 lib/eve_app/sde/data_importer.rb
eve_app-0.1.27 lib/eve_app/sde/data_importer.rb
eve_app-0.1.22 lib/eve_app/sde/data_importer.rb
eve_app-0.1.21 lib/eve_app/sde/data_importer.rb
eve_app-0.1.20 lib/eve_app/sde/data_importer.rb
eve_app-0.1.19 lib/eve_app/sde/data_importer.rb
eve_app-0.1.18 lib/eve_app/sde/data_importer.rb
eve_app-0.1.17 lib/eve_app/sde/data_importer.rb
eve_app-0.1.16 lib/eve_app/sde/data_importer.rb
eve_app-0.1.14 lib/eve_app/sde/data_importer.rb
eve_app-0.1.13 lib/eve_app/sde/data_importer.rb
eve_app-0.1.12 lib/eve_app/sde/data_importer.rb