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