Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ gem "sinatra-activerecord"
gem "sqlite3"
gem "pry"
gem "require_all"
gem "rake"
gem "activerecord"
72 changes: 37 additions & 35 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,56 +1,58 @@
GEM
remote: https://rubygems.org/
specs:
activemodel (6.0.3.1)
activesupport (= 6.0.3.1)
activerecord (6.0.3.1)
activemodel (= 6.0.3.1)
activesupport (= 6.0.3.1)
activesupport (6.0.3.1)
activemodel (6.1.1)
activesupport (= 6.1.1)
activerecord (6.1.1)
activemodel (= 6.1.1)
activesupport (= 6.1.1)
activesupport (6.1.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
coderay (1.1.1)
concurrent-ruby (1.1.6)
i18n (1.8.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
coderay (1.1.3)
concurrent-ruby (1.1.8)
i18n (1.8.7)
concurrent-ruby (~> 1.0)
method_source (0.8.2)
minitest (5.14.1)
mustermann (1.0.3)
pry (0.10.4)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
method_source (1.0.0)
minitest (5.14.3)
mustermann (1.1.1)
ruby2_keywords (~> 0.0.1)
pry (0.13.1)
coderay (~> 1.1)
method_source (~> 1.0)
rack (2.2.3)
rack-protection (2.0.7)
rack-protection (2.1.0)
rack
require_all (1.3.3)
sinatra (2.0.7)
rake (13.0.3)
require_all (3.0.0)
ruby2_keywords (0.0.4)
sinatra (2.1.0)
mustermann (~> 1.0)
rack (~> 2.0)
rack-protection (= 2.0.7)
rack (~> 2.2)
rack-protection (= 2.1.0)
tilt (~> 2.0)
sinatra-activerecord (2.0.12)
activerecord (>= 3.2)
sinatra-activerecord (2.0.22)
activerecord (>= 4.1)
sinatra (>= 1.0)
slop (3.6.0)
sqlite3 (1.3.13)
thread_safe (0.3.6)
sqlite3 (1.4.2)
tilt (2.0.10)
tzinfo (1.2.7)
thread_safe (~> 0.1)
zeitwerk (2.3.0)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
zeitwerk (2.4.2)

PLATFORMS
ruby
x86_64-darwin-20

DEPENDENCIES
activerecord
pry
rake
require_all
sinatra-activerecord
sqlite3

BUNDLED WITH
1.14.6
2.2.6
3 changes: 3 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
require_relative 'config/environment'
require 'sinatra/activerecord/rake'

#DatabaseTasks.db_dir = 'db'
#DatabaseTasks.migrations_paths = ['db/migrate']

desc 'starts a console'
task :console do
ActiveRecord::Base.logger = Logger.new(STDOUT)
Expand Down
3 changes: 3 additions & 0 deletions bin/run.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@



binding.pry
puts "HELLO WORLD"


3 changes: 3 additions & 0 deletions config/environment.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@

ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: 'db/development.db')
require_all 'lib'



9 changes: 9 additions & 0 deletions db/migrate/01_create_employees_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class CreateEmployeesTable < ActiveRecord::Migration[5.1]
def change
create_table :employees do |t|
t.string :name
t.integer :employer_id, :foreign_key => true
t.integer :project_id, :foreign_key => true
end
end
end
7 changes: 7 additions & 0 deletions db/migrate/02_create_skills_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class CreateSkillsTable < ActiveRecord::Migration[5.1]
def change
create_table :skills do |t|
t.string :name
end
end
end
7 changes: 7 additions & 0 deletions db/migrate/03_create_projects_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class CreateProjectsTable < ActiveRecord::Migration[5.1]
def change
create_table :projects do |t|
t.string :name
end
end
end
9 changes: 9 additions & 0 deletions db/migrate/04_create_projectskills_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class CreateProjectskillsTable < ActiveRecord::Migration[5.1]
def change
create_table :projectskills do |t|
t.integer :project_id, :foreign_key => true
t.integer :skill_id, :foreign_key => true
t.integer :competency_requirement
end
end
end
9 changes: 9 additions & 0 deletions db/migrate/05_create_employeeskills_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class CreateEmployeeskillsTable < ActiveRecord::Migration[5.1]
def change
create_table :employeeskills do |t|
t.integer :employee_id, :foreign_key => true
t.integer :skill_id, :foreign_key => true
t.integer :competency
end
end
end
7 changes: 7 additions & 0 deletions db/migrate/06_create_employers_table.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class CreateEmployersTable < ActiveRecord::Migration[5.1]
def change
create_table :employers do |t|
t.string :name
end
end
end
9 changes: 9 additions & 0 deletions db/migrate/07_create_employee_projects.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class CreateEmployeeProjects < ActiveRecord::Migration[6.1]
def change
create_table :employee_projects do |t|
t.integer :employee_id, :foreign_key => true
t.integer :project_id, :foreign_key => true
t.string :status
end
end
end
51 changes: 51 additions & 0 deletions db/schema.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# This file is the source Rails uses to define your schema when running `bin/rails
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 7) do

create_table "employee_projects", force: :cascade do |t|
t.integer "employee_id"
t.integer "project_id"
t.string "status"
end

create_table "employees", force: :cascade do |t|
t.string "name"
t.integer "employer_id"
t.integer "project_id"
end

create_table "employeeskills", force: :cascade do |t|
t.integer "employee_id"
t.integer "skill_id"
t.integer "competency"
end

create_table "employers", force: :cascade do |t|
t.string "name"
end

create_table "projects", force: :cascade do |t|
t.string "name"
end

create_table "projectskills", force: :cascade do |t|
t.integer "project_id"
t.integer "skill_id"
t.integer "competency_requirement"
end

create_table "skills", force: :cascade do |t|
t.string "name"
end

end
Empty file added db/seeds.rb
Empty file.
72 changes: 72 additions & 0 deletions lib/Employee.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
class Employee < ActiveRecord::Base

belongs_to :employer
belongs_to :project
has_many :skills
















end

# #name, id, project_id
# attr_accessor :id, :name, :employeer, :project_id
# @@all = []

# def initalize(id = nil, name, employeer)#, project_id = nil)
# @id=id
# @name = name
# @employeer = employeer
# #@project_id = project_id
# @@all << self
# end


# def self.all
# @@all
# end

#basic save method to add new record into database using sql. Note requires .update method
# def save
# if self.id
# self.update
# else
# sql = <<-SQL
# INSERT INTO employee (name, project_id, employeer_id)
# VALUES (?, ?, ?)
# SQL

# DB[:conn].execute(sql, self.name, self.project_id,employeer_id)
# @id = DB[:conn].execute("SELECT last_insert_rowid() FROM songs")[0][0]
# end
# end

# #create new instance method
# def self.create(name, employeer, project_id=Nil)
# employee = Employee.new(name, employeer.id)
# employee.save
# employee
# end

# def self.find_by_id(id)
# sql = "SELECT * FROM employee WHERE id = ?"
# result = DB[:conn].execute(sql, id)[0]
# Employee.new(result[0], result[1], result[2])
# end

# def update
# sql = "UPDATE employee SET name = ?, employeer_id = ?, project_id, WHERE id = ?"
# DB[:conn].execute(sql, self.name, self.employeer_id, self.project_id self.id)
# end
7 changes: 7 additions & 0 deletions lib/EmployeeProjects.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class EmployeeProjects < ActiveRecord::Base





end
34 changes: 34 additions & 0 deletions lib/EmployeeSkills.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
class EmployeeSkills < ActiveRecord::Base

belongs_to :skills
belongs_to :employees















end

# attr_accessor :id, :employee_id, :skill_id
# @@all =[]

# def initalize(id=nil, employee_id, skill_id)
# @id = id
# @employee_id = employee_id
# @skill_id = skill_id
# @@all << self
# end

# def self.all
# @@all
# end
24 changes: 24 additions & 0 deletions lib/Employer.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
class Employer < ActiveRecord::Base

has_many :employees



end



# attr_accessor :id, :name

# @@all = []

# def initalize (id=nil,name)
# @id=id
# @name = name
# @@all << self
# end


# def self.all
# @@all
# end
Loading