diff --git a/Gemfile b/Gemfile index f145522..d01c681 100644 --- a/Gemfile +++ b/Gemfile @@ -11,6 +11,8 @@ group :development do gem 'dm-sqlite-adapter' gem 'dotenv' gem 'rerun' + gem 'better_errors' + gem 'binding_of_caller' end group :production do diff --git a/Gemfile.lock b/Gemfile.lock index ba38a6e..dfb770c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -5,8 +5,15 @@ GEM bcrypt (3.1.9) bcrypt-ruby (3.1.5) bcrypt (>= 3.1.3) + better_errors (2.0.0) + coderay (>= 1.0.0) + erubis (>= 2.6.6) + rack (>= 0.9.0) + binding_of_caller (0.7.2) + debug_inspector (>= 0.0.1) celluloid (0.16.0) timers (~> 4.0.0) + coderay (1.1.0) data_mapper (1.2.0) dm-aggregates (~> 1.2.0) dm-constraints (~> 1.2.0) @@ -19,6 +26,7 @@ GEM dm-validations (~> 1.2.0) data_objects (0.10.14) addressable (~> 2.1) + debug_inspector (0.0.2) dm-aggregates (1.2.0) dm-core (~> 1.2.0) dm-constraints (1.2.0) @@ -61,6 +69,7 @@ GEM do_sqlite3 (0.10.14) data_objects (= 0.10.14) dotenv (1.0.2) + erubis (2.7.0) faker (1.4.3) i18n (~> 0.5) fastercsv (1.5.5) @@ -99,6 +108,8 @@ PLATFORMS ruby DEPENDENCIES + better_errors + binding_of_caller data_mapper dm-postgres-adapter dm-sqlite-adapter diff --git a/linkedout.rb b/linkedout.rb index 101008e..a791d0c 100644 --- a/linkedout.rb +++ b/linkedout.rb @@ -1,8 +1,14 @@ require 'sinatra' +require 'better_errors' require_relative 'config/dotenv' require_relative 'models' +configure :development do + use BetterErrors::Middleware + BetterErrors.application_root = File.expand_path('..', __FILE__) +end + helpers do def default_user @default_user ||= User.last @@ -15,3 +21,40 @@ def default_user erb :'resumes/show' end + +get "/resumes/edit" do + @jobs = default_user.jobs + @skills = default_user.skills + + erb :'resumes/edit' +end + +put "/users/edit" do + user_attrs = params[:user] + + default_user.update(user_attrs) + + redirect "/" +end + +put "/jobs/edit" do + job_attrs = params[:job] + + job_id = job_attrs.delete("id") + + job = Job.get(job_id) + job.update(job_attrs) + + redirect "/" +end + +put "/skills/edit" do + skill_attrs = params[:skill] + + skill_id = skill_attrs.delete("id") + + skill = Skill.get(skill_id) + skill.update(skill_attrs) + + redirect "/" +end diff --git a/views/resumes/edit.erb b/views/resumes/edit.erb new file mode 100644 index 0000000..be2f667 --- /dev/null +++ b/views/resumes/edit.erb @@ -0,0 +1,76 @@ +
+

Edit My Résumé

+ +
+
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + +
+
+ +
+

Jobs

+ +
+ +
+

Skills

+ +
+
diff --git a/views/resumes/show.erb b/views/resumes/show.erb index f43535f..6cb3a62 100644 --- a/views/resumes/show.erb +++ b/views/resumes/show.erb @@ -1,5 +1,6 @@

My Résumé

+ Edit

<%= default_user.name %>

@@ -10,8 +11,6 @@

<%= default_user.bio %>

- -