class Subscription

Subscription. @class_description

A Subscription library implementation.

Subscription. @class_description

A Subscription library implementation.

Constants

PUBLISHABLE
SUBSCRIBABLE

Private constants.

VERSION

Public Class Methods

publishable() click to toggle source

self.publishable(). @description

Gets PUBLISHABLE.

@return [Set]

PUBLISHABLE's reference.
# File lib/subscription_impl.rb, line 27
def self.publishable()
  return PUBLISHABLE
end
publisher(published = nil) click to toggle source

self.publisher(published = nil). @description

Predicate. Verifies a published argument is a publishing type instance.

@param published [.]

Any publishing type instance.

@return [TrueClass, FalseClass]

True in the case published's class is a publisher. False otherwise.
# File lib/subscription_impl.rb, line 51
def self.publisher(published = nil)
  p_class = published.class()
  return (publishable().include?(p_class))
end
s_instance(subscriber = nil) click to toggle source

self.s_instance(subscriber = nil). @description

Predicate. Verifies an object is a subscribable type's instance.

@param subscriber [.]

Any subscribable instance.

@return [TrueClass, FalseClass]

True in the case subscriber is a subscribable type's instance. False
otherwise.
# File lib/subscription_impl.rb, line 39
def self.s_instance(subscriber = nil)
  subscriber_c = subscriber.class()
  return (subscribable().include?(subscriber_c))
end
subscribable() click to toggle source

self.subscribable(). @description

Gets SUBSCRIBABLE.

@return [Set]

SUBSCRIBABLE's reference.
# File lib/subscription_impl.rb, line 18
def self.subscribable()
  return SUBSCRIBABLE
end
update(subject = nil) click to toggle source

self.update(subject = nil). @description

Updates subscribers.

@param subject [.]

Any subscribable instance.

@return [NilClass]

nil.
# File lib/subscription_impl.rb, line 63
def self.update(subject = nil)

  k_s_i          = kind_subscription(subject)
  kind_singleton = k_s_i.instance()
  kind_singleton.update_subscribers(subject)
  return nil

end

Private Class Methods

kind_subscription(published = nil) click to toggle source

self.kind_subscription(publisher = nil). @description

Discerns the appropriate subscription identifier.

@param published [.]

Any subscribable type.

@return [Constant]

A subscription constant.

@raise [ArgumentError]

In the case the argument is not subscribable.
# File lib/subscription_impl.rb, line 81
def self.kind_subscription(published = nil)

  unless (publisher(published))
    raise(ArgumentError, "#{published} is not a subscribable instance.")
  else
    case
    when published.instance_of?(Node)
      return NodeSubscription
    end
  end

end