Sha256: e14a92fff86c060d4d61813ebd1aca0cbd12197e85e8ab828964e21256d7699d

Contents?: true

Size: 679 Bytes

Versions: 10

Compression:

Stored size: 679 Bytes

Contents

module LadyJosephine
  module Concerns
    module Pingable
      extend ActiveSupport::Concern

      PING_TIMESPAN = 30.seconds

      included do
        belongs_to :ping_user, class_name: 'User'

        def ping(user, force_update = false)
          if lady_josephine_ping_user.nil? ||
             lady_josephine_ping_user == user ||
             (lady_josephine_ping_date && lady_josephine_ping_date < Time.current - PING_TIMESPAN) ||
             force_update
            self.lady_josephine_ping_date = Time.current
            self.lady_josephine_ping_user = user
            true
          else
            false
          end
        end

      end

    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
lady_josephine-0.7.0 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.6.3 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.6.2 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.6.1 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.6.0 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.5.0 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.0.4 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.0.3 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.0.2 app/models/lady_josephine/concerns/pingable.rb
lady_josephine-0.0.1 app/models/lady_josephine/concerns/pingable.rb