Class: GSGraph::Connection
- Inherits:
-
Collection
- Object
- Array
- Collection
- GSGraph::Connection
- Defined in:
- lib/gs_graph/connection.rb
Instance Attribute Summary collapse
-
#collection ⇒ Object
Returns the value of attribute collection.
-
#connection ⇒ Object
Returns the value of attribute connection.
-
#options ⇒ Object
Returns the value of attribute options.
-
#owner ⇒ Object
Returns the value of attribute owner.
Attributes inherited from Collection
#total_count, #unread_count, #updated_time
Instance Method Summary collapse
-
#initialize(owner, connection, options = {}) ⇒ Connection
constructor
A new instance of Connection.
- #next(_options_ = {}) ⇒ Object
- #previous(_options_ = {}) ⇒ Object
Constructor Details
#initialize(owner, connection, options = {}) ⇒ Connection
Returns a new instance of Connection.
6 7 8 9 10 11 12 |
# File 'lib/gs_graph/connection.rb', line 6 def initialize(owner, connection, = {}) @owner = owner @options = @connection = connection @collection = .delete(:collection) || Collection.new replace collection end |
Instance Attribute Details
#collection ⇒ Object
Returns the value of attribute collection.
3 4 5 |
# File 'lib/gs_graph/connection.rb', line 3 def collection @collection end |
#connection ⇒ Object
Returns the value of attribute connection.
3 4 5 |
# File 'lib/gs_graph/connection.rb', line 3 def connection @connection end |
#options ⇒ Object
Returns the value of attribute options.
3 4 5 |
# File 'lib/gs_graph/connection.rb', line 3 def @options end |
#owner ⇒ Object
Returns the value of attribute owner.
3 4 5 |
# File 'lib/gs_graph/connection.rb', line 3 def owner @owner end |
Instance Method Details
#next(_options_ = {}) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/gs_graph/connection.rb', line 14 def next( = {}) if self.collection.next.present? connection_method = if self.owner.respond_to?(self.connection) self.connection else self.owner.public_methods.detect do |method| method.to_s.gsub('_', '') == self.connection.to_s end end self.owner.send(connection_method, self..merge().merge(self.collection.next)) else self.class.new(self.owner, self.connection) end end |
#previous(_options_ = {}) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/gs_graph/connection.rb', line 29 def previous( = {}) if self.collection.previous.present? self.owner.send(self.connection, self..merge().merge(self.collection.previous)) else self.class.new(self.owner, self.connection) end end |