diff --git a/app/assets/images/office.jpg b/app/assets/images/office.jpg new file mode 100644 index 0000000..a95af8f Binary files /dev/null and b/app/assets/images/office.jpg differ diff --git a/app/decorators/application_decorator.rb b/app/decorators/application_decorator.rb index 1cfb359..c6b4842 100644 --- a/app/decorators/application_decorator.rb +++ b/app/decorators/application_decorator.rb @@ -1,9 +1,19 @@ class ApplicationDecorator < Draper::Decorator - def formatted_columns - self.class.column_names.reject { |e| invisible_columns.include? e }.map { |c| [c.gsub("_", " ").capitalize, self.send(c).to_s] }.to_h + + def visible_columns + attributes.keys.select { |e| visible_column_list.include? e } + end + + def enabled_columns + attributes.keys.select { |e| enabled_column_list.include? e } end - def invisible_columns + def visible_column_list raise NotImplementedError end + + def enabled_column_list + raise NotImplementedError + end + end diff --git a/app/decorators/user_decorator.rb b/app/decorators/user_decorator.rb index 81c2b2e..038c5d2 100644 --- a/app/decorators/user_decorator.rb +++ b/app/decorators/user_decorator.rb @@ -1,7 +1,15 @@ class UserDecorator < ApplicationDecorator delegate_all - def invisible_columns - ["password_digest", "name", "remember_digest"] + def visible_column_list + ["id"] + end + + def enabled_column_list + ["email", "password"] + end + + def posted_months + self.posts.order(created_at: :asc).map { |p| p.created_at.strftime('%B') } end end diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index f6e92a1..1ab80b5 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -3,13 +3,12 @@ <% end %>
Here is some more information about this product that is only revealed once clicked on.
+