Commit 11ade7cf by nnnghia98

setting file csv path

parent b0557443
...@@ -21,6 +21,6 @@ class City < ApplicationRecord ...@@ -21,6 +21,6 @@ class City < ApplicationRecord
scope :inter_cities, -> {where region: "#"} scope :inter_cities, -> {where region: "#"}
def job_count def job_count
jobs.count @job_count ||=jobs.count
end end
end end
require "csv" require "csv"
class Import class Import
def initialize(params = {})
end
def import def import
cities = [] cities = []
companies = [] companies = []
...@@ -10,7 +14,9 @@ class Import ...@@ -10,7 +14,9 @@ class Import
company_columns = [:name, :email, :address, :code] company_columns = [:name, :email, :address, :code]
industry_columns = [:name] industry_columns = [:name]
CSV.foreach(Rails.root.join("lib", "jobss.csv"), headers: true) do |row| file_path = Settings.csv.file_path
CSV.foreach(Rails.root.join("lib", file_path), headers: true) do |row|
cities << {name: row["company province"], region: "Việt Nam"} cities << {name: row["company province"], region: "Việt Nam"}
companies << {name: row["company name"], email: row["contact email"], companies << {name: row["company name"], email: row["contact email"],
address: row["company address"], code: row["company id"]} address: row["company address"], code: row["company id"]}
......
...@@ -7,7 +7,9 @@ class JobsImport ...@@ -7,7 +7,9 @@ class JobsImport
:requirement, :category, :company_id] :requirement, :category, :company_id]
join_jobs = [] join_jobs = []
CSV.foreach(Rails.root.join("lib", "jobss.csv"), headers: true) do |row| file_path = Settings.csv.file_path
CSV.foreach(Rails.root.join("lib", file_path), headers: true) do |row|
job_csv = JobCsv.new(row) job_csv = JobCsv.new(row)
jobs << job_csv.csv_attributes jobs << job_csv.csv_attributes
join_jobs << [row["company province"], row["category"], job_csv.title, job_csv.company_id] join_jobs << [row["company province"], row["category"], job_csv.title, job_csv.company_id]
...@@ -22,7 +24,5 @@ class JobsImport ...@@ -22,7 +24,5 @@ class JobsImport
industry = Industry.find_by(name: industry_name) industry = Industry.find_by(name: industry_name)
job.industry_jobs.create(industry_id: industry.id) job.industry_jobs.create(industry_id: industry.id)
end end
puts "See import.log for more details."
end end
end end
job: job:
per_page: 5 per_page: 5
csv:
file_path: "jobss.csv"
...@@ -5,6 +5,6 @@ namespace :task do ...@@ -5,6 +5,6 @@ namespace :task do
JobsImport.new.import_job JobsImport.new.import_job
import = ActiveSupport::Logger.new("log/import.log") import = ActiveSupport::Logger.new("log/import.log")
import.debug "Cities, industries, companies, jobs imported: #{Time.current}" import.info "Cities, industries, companies, jobs imported: #{Time.current}"
end end
end end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment