/node_routes.rb (d0c06b59ee66ca2a428d516cbee4a234e1722a19) (1478 bytes) (mode 100644) (type blob)
#node_routes.rb
# NODE DETAILS
# NODE SEARCH
post('/node') do
node_id = params[:node_id]
if Storage.all_nodes.include?(node_id)
redirect '/node/'+node_id+'/'
else
redirect '/'
end
end
get '/node/:id/' do
id = params[:id]
return status 404 unless Storage.all_nodes.include?(id)
@title = 'Node Details'
@node = Storage.get_node(id)
erb :node_details
end
#NODE NEIGHBORHOOD AJAX ENDPOINT FOR DISPLAY VIA d3.js
#color notes by unified risk score value
get '/node/:id/neighbors.json' do
content_type :json
id = params[:id].to_s
node = Storage.get_node(id)
#build response for d3.js utilization
response = {}
response[:nodes] = []
response[:links] = []
color_code = node.scores.fetch(CONFIG.node_coloring_field,{}).fetch(:color_code, nil) || node.metrics.fetch(CONFIG.node_coloring_field,{}).fetch(:color_code, nil)
response[:nodes] << {:name => node.id, :color_code => color_code}
neighbors = node.neighbors[0..CONFIG.max_graph_neighbors]
neighbors.each_with_index do |node_id, i|
neighbor = Storage.get_node(node_id)
color_code = neighbor.scores.fetch(CONFIG.node_coloring_field,{}).fetch(:color_code, nil) || neighbor.metrics.fetch(CONFIG.node_coloring_field,{}).fetch(:color_code, nil)
response[:nodes] << {:name => neighbor.id, :color_code => color_code}
response[:links] << {:source => 0, :target => i+1}
end
return response.to_json
end
Mode |
Type |
Size |
Ref |
File |
100644 |
blob |
32 |
02d771bb174550ee73ca245d5452a371c7ff568e |
Gemfile |
100644 |
blob |
71 |
5a0b34f4c7ea7ff499826db4642432a1e5940c5d |
Gemfile.lock |
100644 |
blob |
79 |
04e9bf5219f1065f2d2f20519a988f41a274d7d9 |
README.md |
100644 |
blob |
494 |
9eca68213c93af98fde713132b619df2393bbd39 |
color_helper.rb |
100644 |
blob |
3308 |
dca71f919a34986ed60ac3716f1bfbfab3535464 |
config.rb |
100644 |
blob |
79 |
a0f1048216dced361915ebb3a955fb637a7d5261 |
index.rb |
100644 |
blob |
516 |
1a41081b6d3d16270f8dfd81376d618d0c75c8ce |
metric_routes.rb |
100644 |
blob |
1478 |
d0c06b59ee66ca2a428d516cbee4a234e1722a19 |
node_routes.rb |
040000 |
tree |
- |
1e469524090bb9e333f8dc410b41ecb1e2515d02 |
public |
100644 |
blob |
297 |
6ecd1cc330e5a4919db79dba4f90bdd3b73b63a3 |
run.rb |
100644 |
blob |
450 |
c0946e5e0b88e95fa7a705b1e0c18e031b9b6c2b |
score_routes.rb |
100644 |
blob |
423 |
f981916c8eceac7fc69aeb01c3f2128f7def40f5 |
statistics_routes.rb |
100644 |
blob |
5608 |
5939518153061fe23d7baefd876e15dad4df2594 |
storage.rb |
040000 |
tree |
- |
0416464f087e55e3106b4fadf848e9d905ff175f |
views |
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"
Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/coria/coria-backend
Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/coria/coria-backend
Clone this repository using git:
git clone git://git.rocketgit.com/user/coria/coria-backend
You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a
merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main