Sha256: 1403f4abc11b30575b2ebbd5092d45ceacdce7fb05a4a3ea8f8febb8ccfbf7bc

Contents?: true

Size: 978 Bytes

Versions: 13

Compression:

Stored size: 978 Bytes

Contents

event :cache_expired_for_new_set, :store, on: :create do
  Card.follow_caches_expired
end

def list_direct_followers?
  true
end

def follow_label
  if (klass = subclass_for_set)
    klass.short_label name.left_name
  else
    ""
  end
end

def follow_rule_name user=nil
  Card::Name[[name, user, :follow].compact]
end

def followed_by? user_id=nil
  all_members_followed_by? user_id
end

def follow_set_card
  self
end

def all_members_followed?
  all_members_followed_by? Auth.current_id
end

def all_members_followed_by? user_id=nil
  return false unless prototype.followed_by?(user_id)
  directly_followed_by?(user_id) || broader_set_followed_by?(user_id)
end

def broader_set_followed_by? user_id
  broader_sets.find do |set_name|
    Card.fetch(set_name)&.directly_followed_by? user_id
  end
end

def directly_followed?
  directly_followed_by? Auth.current_id
end

def directly_followed_by? user_id=nil
  return true if user_id && follow_rule?(user_id)
  follow_rule?
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
card-1.96.8 mod/follow/set/type/set.rb
card-1.96.7 mod/follow/set/type/set.rb
card-1.96.6 mod/follow/set/type/set.rb
card-1.96.5 mod/follow/set/type/set.rb
card-1.96.4 mod/follow/set/type/set.rb
card-1.96.3 mod/follow/set/type/set.rb
card-1.96.2 mod/follow/set/type/set.rb
card-1.96.1 mod/follow/set/type/set.rb
card-1.96.0 mod/follow/set/type/set.rb
card-1.95.3 mod/follow/set/type/set.rb
card-1.95.2 mod/follow/set/type/set.rb
card-1.95.1 mod/follow/set/type/set.rb
card-1.95.0 mod/follow/set/type/set.rb