Sha256: be68e6ea8ddb402d159c463dbbf89572b043a6b0b23acfeb84d0583aaed5dd23

Contents?: true

Size: 575 Bytes

Versions: 197

Compression:

Stored size: 575 Bytes

Contents

module CurrentAttributes::Base
  extend ActiveSupport::Concern

  included do
    attribute :user, :team, :membership, :ability, :context

    resets do
      Time.zone = nil
    end
  end

  def user=(user)
    super

    if user
      Time.zone = user.time_zone
      self.ability = Ability.new(user)
    else
      Time.zone = nil
      self.ability = nil
    end

    update_membership
  end

  def team=(team)
    super
    update_membership
  end

  def update_membership
    self.membership = if user && team
      user.memberships.where(team: team)
    end
  end
end

Version data entries

197 entries across 197 versions & 1 rubygems

Version Path
bullet_train-1.0.66 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.65 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.64 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.63 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.62 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.61 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.60 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.59 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.58 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.57 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.56 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.53 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.52 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.51 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.50 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.49 app/models/concerns/current_attributes/base.rb
bullet_train-1.0.48 app/models/concerns/current_attributes/base.rb