Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

graphable

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphable

  • 0.1.0
  • Rubygems
  • Socket score

Version published
Maintainers
2
Created
Source

#Graphable

Graphable is a ruby gem which builds static graphs in Neo4j from a secondary, ActiveModel-ish data store.

How to use it:

Say you have some models:

#where ActiveMapper::Root is your ActiveModelly ORM of choice
class User < ActiveMapper::Root
  
  has_many :followers, :class => User
  
  property :name
  property :join_date

end

And you want to turn it into a graph periodically for cool reporting or something. Then you can do:

class User < ActiveMapper::Root
  include Graphable
  
  has_edge to: User, via: :followers, name: "followed_by"
  has_many :followers, :class => User
  
  indexes :name, :join_date

  property :name
  property :join_date
end

Which will take your SQL db and turn it into a lovely Neo4j Graph! (With indexes automatically on the :id field, and anything else you specify in the indexes call. Don't worry if you specify something twice, it won't double index!

Warning:

This is very organic, I extracted the concept from another project, rewrote it here in an afternoon, and here it is.

FAQs

Package last updated on 15 Aug 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc