Class: Architect4r::Server
- Inherits:
-
Object
- Object
- Architect4r::Server
- Defined in:
- lib/architect4r/server.rb
Instance Method Summary collapse
- #configuration ⇒ Object
-
#convert_if_possible(object_hash) ⇒ Object
Build a node or relationship from the hash neo4j returns.
- #delete ⇒ Object
-
#get(url, options = {}) ⇒ Object
Basic rest actions.
-
#initialize(config = nil) ⇒ Server
constructor
A new instance of Server.
- #node_url(url_or_id) ⇒ Object
- #post(url, params = {}) ⇒ Object
- #put(url, params = {}) ⇒ Object
- #relationship_url(url_or_id) ⇒ Object
Methods included from Core::RelationshipMethods
#create_relationship, #delete_relationship, #get_node_relationships, #get_relationship, #get_relationship_types, #update_relationship
Methods included from Core::NodeMethods
#create_node, #delete_node, #get_node, #node_id, #root, #update_node
Methods included from Core::CypherMethods
#cypher_query, #execute_cypher, #interpolate_node_model_root_references, #transform_cypher_result_to_hash
Constructor Details
#initialize(config = nil) ⇒ Server
Returns a new instance of Server.
12 13 14 |
# File 'lib/architect4r/server.rb', line 12 def initialize(config=nil) @server_config = config end |
Instance Method Details
#configuration ⇒ Object
16 17 18 |
# File 'lib/architect4r/server.rb', line 16 def configuration @configuration ||= Core::Configuration.new(@server_config) end |
#convert_if_possible(object_hash) ⇒ Object
Build a node or relationship from the hash neo4j returns.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/architect4r/server.rb', line 63 def convert_if_possible(object_hash) if klass = object_hash.is_a?(Hash) && object_hash['data'] if model_string = object_hash['data']['architect4r_type'] data = begin eval("#{model_string}.send(:build_from_database, object_hash)") rescue => ex data end elsif object_hash['self'].match(/node\/\d+$/i) data = GenericNode.send(:build_from_database, object_hash) end else data = object_hash end data end |
#delete ⇒ Object
37 38 39 40 |
# File 'lib/architect4r/server.rb', line 37 def delete response = Typhoeus::Request.delete(prepend_base_url(url), :params => params) response.success? ? JSON.parse(response.body) : nil end |
#get(url, options = {}) ⇒ Object
Basic rest actions
22 23 24 25 |
# File 'lib/architect4r/server.rb', line 22 def get(url, = {}) response = Typhoeus::Request.get(prepend_base_url(url), :headers => { 'Accept' => 'application/json' }) response.success? ? JSON.parse(response.body) : nil end |
#node_url(url_or_id) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/architect4r/server.rb', line 42 def node_url(url_or_id) if url_or_id.is_a?(Hash) url_or_id['self'].to_s elsif url_or_id.to_s != '0' and url_or_id.to_i == 0 url_or_id.to_s else prepend_base_url("/node/#{url_or_id.to_i}") end end |
#post(url, params = {}) ⇒ Object
27 28 29 30 |
# File 'lib/architect4r/server.rb', line 27 def post(url, params = {}) response = Typhoeus::Request.post(prepend_base_url(url), :params => params) response.success? ? JSON.parse(response.body) : nil end |
#put(url, params = {}) ⇒ Object
32 33 34 35 |
# File 'lib/architect4r/server.rb', line 32 def put(url, params = {}) response = Typhoeus::Request.put(prepend_base_url(url), :params => params) response.success? ? JSON.parse(response.body) : nil end |
#relationship_url(url_or_id) ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'lib/architect4r/server.rb', line 52 def relationship_url(url_or_id) if url_or_id.is_a?(Hash) url_or_id['self'].to_s elsif url_or_id.to_s != '0' and url_or_id.to_i == 0 url_or_id.to_s else prepend_base_url("/relationship/#{url_or_id.to_i}") end end |