class ActiveGraph::Railtie
Public Instance Methods
empty_config()
click to toggle source
# File lib/active_graph/railtie.rb 9 def empty_config 10 ActiveSupport::OrderedOptions.new.tap do |cfg| 11 cfg.driver = ActiveSupport::OrderedOptions.new 12 end 13 end
final_driver_config!(config)
click to toggle source
# File lib/active_graph/railtie.rb 78 def final_driver_config!(config) 79 { url: ENV['NEO4J_URL'] }.compact.merge(config[:driver]).merge(yaml_config_data) 80 end
register_neo4j_cypher_logging()
click to toggle source
# File lib/active_graph/railtie.rb 94 def register_neo4j_cypher_logging 95 return if @neo4j_cypher_logging_registered 96 97 ActiveGraph::Core::Query.pretty_cypher = ActiveGraph::Config[:pretty_logged_cypher_queries] 98 99 logger_proc = ->(message) do 100 (ActiveGraph::Config[:logger] ||= Rails.logger).debug message 101 end 102 ActiveGraph::Base.subscribe_to_query(&logger_proc) 103 ActiveGraph::Base.subscribe_to_request(&logger_proc) 104 105 @neo4j_cypher_logging_registered = true 106 end
setup!(config = empty_config)
click to toggle source
# File lib/active_graph/railtie.rb 62 def setup!(config = empty_config) 63 config = final_driver_config!(config) 64 scheme = config.delete(:scheme) || 'bolt' 65 host = config.delete(:host) || 'localhost' 66 port = config.delete(:port) || 7687 67 url = config.delete(:url) || URI::Generic.build( scheme: scheme, host: host, port: port ).to_s 68 username = config.delete(:username) 69 password = config.delete(:password) 70 auth_token = config.delete(:auth_token) 71 auth_token ||= username ? Neo4j::Driver::AuthTokens.basic(username, password) : Neo4j::Driver::AuthTokens.none 72 register_neo4j_cypher_logging 73 74 method = url.is_a?(Enumerable) ? :routing_driver : :driver 75 Neo4j::Driver::GraphDatabase.send(method, url, auth_token, config) 76 end
yaml_config_data()
click to toggle source
# File lib/active_graph/railtie.rb 82 def yaml_config_data 83 @yaml_config_data ||= 84 yaml_path ? YAML.load(ERB.new(yaml_path.read).result)[Rails.env].transform_keys!(&:to_sym) : {} 85 end
yaml_path()
click to toggle source
# File lib/active_graph/railtie.rb 87 def yaml_path 88 return unless defined?(Rails) 89 @yaml_path ||= %w(config/neo4j.yml config/neo4j.yaml).map do |path| 90 Rails.root.join(path) 91 end.detect(&:exist?) 92 end