Class: GSGraph::Node

Inherits:
Object
  • Object
show all
Includes:
Comparison
Defined in:
lib/gs_graph/node.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Comparison

#==

Constructor Details

#initialize(identifier, attributes = {}) ⇒ Node

Returns a new instance of Node.



9
10
11
12
13
14
15
# File 'lib/gs_graph/node.rb', line 9

def initialize(identifier, attributes = {})
  @identifier         = identifier
  @endpoint           = File.join(GSGraph::graph_url, identifier.to_s)
  @access_token       = attributes[:access_token]
  @raw_attributes     = attributes
  @cached_collections = {}
end

Instance Attribute Details

#access_tokenObject

Returns the value of attribute access_token.



7
8
9
# File 'lib/gs_graph/node.rb', line 7

def access_token
  @access_token
end

#endpointObject

Returns the value of attribute endpoint.



7
8
9
# File 'lib/gs_graph/node.rb', line 7

def endpoint
  @endpoint
end

#identifierObject

Returns the value of attribute identifier.



7
8
9
# File 'lib/gs_graph/node.rb', line 7

def identifier
  @identifier
end

#raw_attributesObject

Returns the value of attribute raw_attributes.



7
8
9
# File 'lib/gs_graph/node.rb', line 7

def raw_attributes
  @raw_attributes
end

Class Method Details

.fetch(identifier, options = {}) ⇒ Object



24
25
26
# File 'lib/gs_graph/node.rb', line 24

def self.fetch(identifier, options = {})
  new(identifier).fetch(options)
end

Instance Method Details

#connection(connection, options = {}) ⇒ Object



28
29
30
31
32
33
34
35
36
# File 'lib/gs_graph/node.rb', line 28

def connection(connection, options = {})
  Connection.new(
    self,
    connection,
    options.merge(
      :collection => collection_for(connection, options)
    )
  )
end

#destroy(options = {}) ⇒ Object



42
43
44
# File 'lib/gs_graph/node.rb', line 42

def destroy(options = {})
  delete options
end

#fetch(options = {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/gs_graph/node.rb', line 17

def fetch(options = {})
  options[:access_token] ||= self.access_token if self.access_token
  _fetched_ = get options
  _fetched_[:access_token] ||= options[:access_token]
  self.class.new(_fetched_[:id], _fetched_)
end

#update(options = {}) ⇒ Object



38
39
40
# File 'lib/gs_graph/node.rb', line 38

def update(options = {})
  post options
end