Commit 809cb14
Changed files (5)
app
models
views
profiles
app/models/profile.rb
@@ -3,10 +3,6 @@ class Profile < ActiveRecord::Base
enum social_tolerance: { low: 0, medium: 1, high: 2 }
enum gender: { female: 0, male: 1, transgender: 2, other: nil }
- def time_zone
- @time_zone ||= ActiveSupport::TimeZone[read_attribute(:time_zone)]
- end
-
def to_param
user.username
end
app/models/user.rb
@@ -14,7 +14,10 @@ class User < ActiveRecord::Base
after_create :create_profile
before_validation :lowercase_account_fields
- delegate :time_zone, to: :profile
+
+ def time_zone
+ @time_zone ||= ActiveSupport::TimeZone[profile.read_attribute(:time_zone)]
+ end
def first_training_session
training_sessions.order(occurred_at: :asc).first
app/views/profiles/edit.html.erb
@@ -19,8 +19,7 @@
</fieldset>
<fieldset>
<legend><%= Profile.human_attribute_name(:time_zone) %></legend>
- <%= f.time_zone_select(:time_zone, @time_zones, model: ActiveSupport::TimeZone) %>
- <%= f.label(:time_zone) %>
+ <%= f.time_zone_select(:time_zone, @time_zones) %>
</fieldset>
<%= f.submit t(".save"), class: "button" %>
<% end %>
db/migrate/20160523142832_change_default_time_zone.rb
@@ -1,11 +0,0 @@
-class ChangeDefaultTimeZone < ActiveRecord::Migration
- def up
- change_column :profiles, :time_zone, :string, default: "Etc/UTC", null: false
- Profile.where(time_zone: "UTC").update_all(time_zone: "Etc/UTC")
- end
-
- def down
- change_column :profiles, :time_zone, :string, default: "UTC", null: false
- Profile.where(time_zone: "Etc/UTC").update_all(time_zone: "UTC")
- end
-end
db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20160523142832) do
+ActiveRecord::Schema.define(version: 20160521154610) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -67,12 +67,12 @@ ActiveRecord::Schema.define(version: 20160523142832) do
add_index "locations", ["locatable_id", "locatable_type"], name: "index_locations_on_locatable_id_and_locatable_type", using: :btree
create_table "profiles", id: :uuid, default: "uuid_generate_v4()", force: :cascade do |t|
- t.uuid "user_id", null: false
+ t.uuid "user_id", null: false
t.integer "gender"
t.integer "social_tolerance"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- t.string "time_zone", default: "Etc/UTC", null: false
+ t.datetime "created_at", null: false
+ t.datetime "updated_at", null: false
+ t.string "time_zone", default: "UTC", null: false
end
add_index "profiles", ["user_id"], name: "index_profiles_on_user_id", using: :btree