neo4j-rake_tasks 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a36e3c667d7f1b40f9526dd076b09dfa1aa6a6a2
4
+ data.tar.gz: da8d4c5c79274aebda5815c50bb939ad87c736c1
5
+ SHA512:
6
+ metadata.gz: a0ab371f9a010d47ac0605762e9a51213d537c3ee3753889e46b6e1aebcf1107ef148bfa0f207e18f8724e349ca7e51fce4604cf0a79ba135ed63d95065a5b18
7
+ data.tar.gz: 471d988bd3e75502292633428c7f517619b31a4f43d1f596c1e0f1cbc463d2cdba7066a8417005da023e1e1aece862305af39c4698cd36b5f9d4428f5cafc798
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group 'test' do
6
+ gem 'coveralls', require: false
7
+ gem 'simplecov-html', require: false
8
+ gem 'rake'
9
+ gem 'rspec'
10
+ gem 'rspec-its'
11
+ gem 'guard-rspec', require: false
12
+ end
@@ -0,0 +1,86 @@
1
+
2
+ Rake tasks for managing a Neo4j database with your Ruby project
3
+
4
+
5
+ Rake Tasks
6
+ ==========
7
+
8
+ The ``neo4j-rake_tasks`` gem (automatically included with the ``neo4j`` gem) includes some rake tasks which make it easy to install and manage a Neo4j server in the same directory as your Ruby project.
9
+
10
+ ## neo4j:install
11
+
12
+ ### Arguments
13
+
14
+ ``version`` and ``environment`` (environment default is `development`)
15
+
16
+ ### Example
17
+
18
+ ``rake neo4j:install[community-latest,development]``
19
+
20
+ ... or to get a specific version
21
+
22
+ ``rake neo4j:install[community-2.2.3,development]``
23
+
24
+ ### Description
25
+
26
+ Downloads and installs Neo4j into ``$PROJECT_DIR/db/neo4j/<environment>/``
27
+
28
+ ## neo4j:config
29
+
30
+ ### Arguments
31
+
32
+ ``environment`` and ``port``
33
+
34
+ ### Example
35
+
36
+ ``rake neo4j:config[development,7000]``
37
+
38
+ ### Description
39
+
40
+ Configure the port which Neo4j runs on. This affects the HTTP REST interface and the web console address.
41
+
42
+
43
+ ## neo4j:start
44
+
45
+ ### Arguments
46
+
47
+ ``environment``
48
+
49
+ ### Example
50
+
51
+ ``rake neo4j:start[development]``
52
+
53
+ ### Description
54
+
55
+ Start the Neo4j server
56
+
57
+
58
+ ## neo4j:start_no_wait
59
+
60
+ ### Arguments
61
+
62
+ ``environment``
63
+
64
+ ### Example
65
+
66
+ ``rake neo4j:start_no_wait[development]``
67
+
68
+ ### Description
69
+
70
+ Start the Neo4j server with the ``start-no-wait`` command
71
+
72
+ ## neo4j:stop
73
+
74
+ ### Arguments
75
+
76
+ ``environment``
77
+
78
+ ### Example
79
+
80
+ ``rake neo4j:stop[development]``
81
+
82
+ ### Description
83
+
84
+ Stop the Neo4j server
85
+
86
+
@@ -0,0 +1,5 @@
1
+
2
+ require 'neo4j/rake_tasks/starnix_server_manager'
3
+ require 'neo4j/rake_tasks/windows_server_manager'
4
+
5
+ require 'neo4j/rake_tasks/railtie' if defined?(Rails)
@@ -0,0 +1,120 @@
1
+ # :nocov:
2
+ # borrowed from architect4r
3
+ require 'os'
4
+ require 'httparty'
5
+ require 'zip'
6
+ require 'httparty'
7
+ require 'pathname'
8
+ require File.expand_path('../config_server', __FILE__)
9
+ require File.expand_path('../windows_server_manager', __FILE__)
10
+ require File.expand_path('../starnix_server_manager', __FILE__)
11
+
12
+ namespace :neo4j do
13
+ BASE_INSTALL_DIR = Pathname.new('db/neo4j')
14
+
15
+ def server_path(environment)
16
+ BASE_INSTALL_DIR.join((environment || :development).to_s)
17
+ end
18
+
19
+ def server_manager_class
20
+ ::Neo4j::Tasks::ServerManager.class_for_os
21
+ end
22
+
23
+ def server_manager(environment, path)
24
+ ::Neo4j::Tasks::ServerManager.new_for_os(environment, path)
25
+ end
26
+
27
+ def edition_supports_auth?(edition_string)
28
+ !/-2\.0|1\.[0-9]/.match(edition_string)
29
+ end
30
+
31
+ desc 'Install Neo4j with auth disabled in v2.2+'
32
+ task :install, :edition, :environment do |_, args|
33
+ puts "Install Neo4j (#{args[:environment]} environment)..."
34
+
35
+ server_manager = server_manager(server_path(args[:environment]))
36
+ server_manager.install(args[:edition])
37
+ if edition_supports_auth?(args[:edition])
38
+ server_manage.config_auth_enabeled!(false)
39
+ end
40
+
41
+ puts 'To start it type one of the following:'
42
+ puts ' rake neo4j:start'.blue
43
+ puts ' rake neo4j:start[ENVIRONMENT]'.blue
44
+ puts 'To change the server port (default is 7474) type:'
45
+ puts ' neo4j:config[ENVIRONMENT,PORT]'.blue
46
+ end
47
+
48
+ desc 'Start the Neo4j Server'
49
+ task :start, :environment do |_, args|
50
+ puts "Starting Neo4j in #{args[:environment]}..."
51
+ server_manager = server_manager(server_path(args[:environment]))
52
+ server_manager.start
53
+ end
54
+
55
+ desc 'Start the Neo4j Server asynchronously'
56
+ task :start_no_wait, :environment do |_, args|
57
+ puts "Starting Neo4j (no wait) in #{args[:environment]}..."
58
+ server_manager = server_manager(server_path(args[:environment]))
59
+ server_manager.start(false)
60
+ end
61
+
62
+ desc 'Configure Server, e.g. rake neo4j:config[development,8888]'
63
+ task :config, :environment, :port do |_, args|
64
+ puts "Config Neo4j in #{args[:environment]}"
65
+
66
+ server_manager = server_manager(server_path(args[:environment]))
67
+ server_manager.config_port!(args[:port].to_i)
68
+ end
69
+
70
+ desc 'Stop the Neo4j Server'
71
+ task :stop, :environment do |_, args|
72
+ puts "Stopping Neo4j in #{args[:environment]}..."
73
+
74
+ server_manager = server_manager(server_path(args[:environment]))
75
+ server_manager.stop
76
+ end
77
+
78
+ desc 'Get info the Neo4j Server'
79
+ task :info, :environment do |_, args|
80
+ puts "Getting Neo4j info for #{args[:environment]}..."
81
+
82
+ server_manager = server_manager(server_path(args[:environment]))
83
+ server_manager.info
84
+ end
85
+
86
+ desc 'Restart the Neo4j Server'
87
+ task :restart, :environment do |_, args|
88
+ puts "Restarting Neo4j in #{args[:environment]}..."
89
+
90
+ server_manager = server_manager(server_path(args[:environment]))
91
+ server_manager.restart
92
+ end
93
+
94
+ desc 'Reset the Neo4j Server'
95
+ task :reset_yes_i_am_sure, :environment do |_, args|
96
+ server_manager = server_manager(server_path(args[:environment]))
97
+ server_manager.reset
98
+ end
99
+
100
+ desc 'Neo4j 2.2: Change connection password'
101
+ task :change_password do |_, _args|
102
+ server_manager_class.change_password!
103
+ end
104
+
105
+ desc 'Neo4j 2.2: Enable Auth'
106
+ task :enable_auth, :environment do |_, args|
107
+ server_manager = server_manager(server_path(args[:environment]))
108
+ server_manager.config_auth_enabeled!(true)
109
+
110
+ puts 'Neo4j basic authentication enabled. Restart server to apply.'
111
+ end
112
+
113
+ desc 'Neo4j 2.2: Disable Auth'
114
+ task :disable_auth, :environment do |_, args|
115
+ server_manager = server_manager(server_path(args[:environment]))
116
+ server_manager.config_auth_enabeled!(false)
117
+
118
+ puts 'Neo4j basic authentication disabled. Restart server to apply.'
119
+ end
120
+ end
@@ -0,0 +1,10 @@
1
+ require 'active_support/notifications'
2
+ require 'rails/railtie'
3
+
4
+ module Neo4j
5
+ class Railtie < ::Rails::Railtie
6
+ rake_tasks do
7
+ load 'neo4j/rake_tasks/neo4j_server.rake'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,215 @@
1
+ require 'pathname'
2
+
3
+ module Neo4j
4
+ module RakeTasks
5
+ # Represents and manages a server installation at a specific path
6
+ class ServerManager
7
+ BASE_INSTALL_DIR = Pathname.new('db/neo4j')
8
+
9
+ def initialize(path)
10
+ @path = Pathname.new(path)
11
+ FileUtils.mkdir_p(@path)
12
+ end
13
+
14
+ # MAIN COMMANDS
15
+
16
+ def install(edition_string)
17
+ version = version_from_edition(edition_string)
18
+ puts "Installing neo4j-#{version}"
19
+
20
+ return false if neo4j_binary_path.exist?
21
+
22
+ archive_path = download_neo4j(version) unless File.exist?(file_name)
23
+ extract!(archive_path)
24
+
25
+ FileUtils.rm archive_path
26
+
27
+ puts "Neo4j installed to: #{@path}"
28
+ end
29
+
30
+ def start(wait = true)
31
+ system_or_fail(neo4j_command_path(start_argument(wait)))
32
+ end
33
+
34
+ def stop
35
+ validate_is_system_admin!
36
+
37
+ system_or_fail(neo4j_command_path(:stop))
38
+ end
39
+
40
+ def info
41
+ validate_is_system_admin!
42
+
43
+ system_or_fail(neo4j_command_path(:info))
44
+ end
45
+
46
+ def restart
47
+ validate_is_system_admin!
48
+
49
+ system_or_fail(neo4j_command_path(:restart))
50
+ end
51
+
52
+ def reset
53
+ validate_is_system_admin!
54
+
55
+ stop
56
+
57
+ FileUtils.rm_rf(@path.join('data/graph.db/*'))
58
+ FileUtils.rm_rf(@path.join('data/log/*'))
59
+
60
+ start
61
+ end
62
+
63
+ def self.change_password!
64
+ puts 'This will change the password for a Neo4j server'
65
+
66
+ address, old_password, new_password = prompt_for_address_and_passwords!
67
+
68
+ body = change_password_request(address, old_password, new_password)
69
+ if body['errors']
70
+ puts "An error was returned: #{body['errors'][0]['message']}"
71
+ else
72
+ puts 'Password changed successfully! Please update your app to use:'
73
+ puts 'username: neo4j'
74
+ puts "password: #{new_password}"
75
+ end
76
+ end
77
+
78
+ def config_auth_enabeled!(enabled)
79
+ value = enabled ? 'true' : 'false'
80
+ modify_config_file(
81
+ 'dbms.security.authorization_enabled' => value,
82
+ 'dbms.security.auth_enabled' => value)
83
+ end
84
+
85
+ def config_port!(port)
86
+ puts "Config ports #{port} / #{port - 1}"
87
+
88
+ modify_config_file('org.neo4j.server.webserver.https.enabled' => false,
89
+ 'org.neo4j.server.webserver.port' => port,
90
+ 'org.neo4j.server.webserver.https.port' => port - 1)
91
+ end
92
+
93
+ # END MAIN COMMANDS
94
+
95
+ def modify_config_file(properties)
96
+ contents = File.read(property_configuration_path)
97
+
98
+ File.open(property_configuration_path, 'w') do |file|
99
+ result = properties.inject(contents) do |r, (property, value)|
100
+ r.gsub(/#{property}\s*=\s*(\w+)/, "#{property}=#{value}")
101
+ end
102
+ file << result
103
+ end
104
+ end
105
+
106
+ def self.class_for_os
107
+ OS::Underlying.windows? ? WindowsServerManager : StarnixServerManager
108
+ end
109
+
110
+ def self.new_for_os(path)
111
+ class_for_os.new(path)
112
+ end
113
+
114
+ protected
115
+
116
+ def start_argument(wait)
117
+ wait ? 'start' : 'start-no-wait'
118
+ end
119
+
120
+ def binary_command_path(binary_file)
121
+ @path.join('bin', binary_file)
122
+ end
123
+
124
+ def neo4j_binary_path
125
+ binary_command_path(neo4j_binary_filename)
126
+ end
127
+
128
+ def neo4j_command_path(command)
129
+ neo4j_binary_path.to_s + " #{command}"
130
+ end
131
+
132
+ def property_configuration_path
133
+ @path.join('conf', 'neo4j-server.properties')
134
+ end
135
+
136
+ def validate_is_system_admin!
137
+ nil
138
+ end
139
+
140
+ def system_or_fail(command)
141
+ system(command.to_s) ||
142
+ fail("Unable to run: #{command}")
143
+ end
144
+
145
+ NEO4J_LATEST_URL = 'https://api.github.com/repos/neo4j/neo4j/releases/latest'
146
+ def version_from_edition(edition_string)
147
+ edition_string.gsub(/-latest$/) do
148
+ require 'open-uri'
149
+ puts 'Retrieving latest version...'
150
+ latest_version = JSON.parse(open(NEO4J_LATEST_URL).read)['tag_name']
151
+ puts "Latest version is: #{latest_version}"
152
+ "-#{latest_version}"
153
+ end
154
+ end
155
+
156
+ private
157
+
158
+ def download_neo4j(version)
159
+ tempfile = Tempfile.open('neo4j-download', encoding: 'ASCII-8BIT')
160
+
161
+ url = download_url(version)
162
+
163
+ status = HTTParty.head(url).code
164
+ unless (200...300).include?(status)
165
+ fail "#{version} is not available to download"
166
+ end
167
+
168
+ tempfile << HTTParty.get(url)
169
+ tempfile.flush
170
+
171
+ tempfile.path
172
+ end
173
+
174
+ # POSTs to an endpoint with the form required to change a Neo4j password
175
+ # @param [String] address
176
+ # The server address, with protocol and port,
177
+ # against which the form should be POSTed
178
+ # @param [String] old_password
179
+ # The existing password for the "neo4j" user account
180
+ # @param [String] new_password
181
+ # The new password you want to use. Shocking, isn't it?
182
+ # @return [Hash] The response from the server indicating success/failure.
183
+ def self.change_password_request(address, old_password, new_password)
184
+ uri = URI.parse("#{address}/user/neo4j/password")
185
+ response = Net::HTTP.post_form(uri,
186
+ 'password' => old_password,
187
+ 'new_password' => new_password)
188
+ JSON.parse(response.body)
189
+ end
190
+
191
+ def self.prompt_for(prompt, default = false)
192
+ puts prompt
193
+ print "#{default ? '[' + default.to_s + ']' : ''} > "
194
+ result = STDIN.gets.chomp
195
+ result = result.blank? ? default : result
196
+ result
197
+ end
198
+
199
+ def prompt_for_address_and_passwords!
200
+ address = prompt_for(
201
+ 'Enter IP address / host name without protocal and port',
202
+ 'http://localhost:7474')
203
+
204
+ old_password = prompt_for(
205
+ 'Input current password. Leave blank for a fresh installation',
206
+ 'neo4j')
207
+
208
+ new_password = prompt_for 'Input new password.'
209
+ fail 'A new password is required' if new_password == false
210
+
211
+ [address, old_password, new_password]
212
+ end
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path('../server_manager', __FILE__)
2
+
3
+ module Neo4j
4
+ module RakeTasks
5
+ # Represents and manages a server on *NIX systems
6
+ class StarnixServerManager < ServerManager
7
+ def neo4j_binary_filename
8
+ 'neo4j'
9
+ end
10
+
11
+ protected
12
+
13
+ def extract!(zip_path)
14
+ Dir.mktmpdir do |temp_dir_path|
15
+ system_or_fail("cd #{temp_dir_path} && tar -xvf #{zip_path}")
16
+ subdir = Dir.glob(File.join(temp_dir_path, '*'))[0]
17
+ system_or_fail("mv #{File.join(subdir, '*')} #{@path}/")
18
+ end
19
+ end
20
+
21
+ def download_url(version)
22
+ "http://dist.neo4j.org/neo4j-#{version}-unix.tar.gz"
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,5 @@
1
+ module Neo4j
2
+ module RakeTasks
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,63 @@
1
+ require File.expand_path('../server_manager', __FILE__)
2
+
3
+ module Neo4j
4
+ module RakeTasks
5
+ # Represents and manages a server on Windows
6
+ class WindowsServerManager < ServerManager
7
+ def neo4j_binary_filename
8
+ 'Neo4j.bat'
9
+ end
10
+
11
+ def install
12
+ super
13
+
14
+ return unless nt_admin?
15
+
16
+ system_or_fail(neo4j_command_path(:install))
17
+ puts 'Neo4j Installed as a service.'
18
+ end
19
+
20
+ def validate_is_system_admin!
21
+ return if nt_admin?
22
+
23
+ fail 'You do not have administrative rights to stop the Neo4j Service'
24
+ end
25
+
26
+ protected
27
+
28
+ def download_url(version)
29
+ "http://dist.neo4j.org/neo4j-#{version}-windows.zip"
30
+ end
31
+
32
+ def extract!(zip_path)
33
+ each_file_in_zip(zip_path) do |file|
34
+ f_path = @path.join(file.name)
35
+ FileUtils.mkdir_p(File.dirname(f_path))
36
+ begin
37
+ zip_file.extract(file, f_path) unless File.exist?(f_path)
38
+ rescue
39
+ puts "#{file.name} failed to extract."
40
+ end
41
+ end
42
+ end
43
+
44
+ def start_argument(wait)
45
+ nt_admin? ? super : ''
46
+ end
47
+
48
+ private
49
+
50
+ def each_file_in_zip(zip_path)
51
+ Zip::ZipFile.open(zip_path) do |zip_file|
52
+ zip_file.each do |file|
53
+ yield file
54
+ end
55
+ end
56
+ end
57
+
58
+ def nt_admin?
59
+ system_or_fail('reg query "HKU\\S-1-5-19"').size > 0
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,47 @@
1
+ lib = File.expand_path('../lib/', __FILE__)
2
+ $LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'neo4j/rake_tasks/version'
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = 'neo4j-rake_tasks'
8
+ s.version = Neo4j::RakeTasks::VERSION
9
+ s.required_ruby_version = '>= 1.9.3'
10
+
11
+ s.authors = 'Brian Underwood'
12
+ s.email = 'public@brian-underwood.codes'
13
+ s.homepage = 'https://github.com/neo4jrb/neo4j-rake_tasks'
14
+ s.summary = <<SUMMARY
15
+ Rake tasks for managing Neo4j
16
+ SUMMARY
17
+
18
+ s.license = 'MIT'
19
+
20
+ s.description = <<DESCRIPTION
21
+ Rake tasks for managing Neo4j
22
+
23
+ Tasks allow for starting, stopping, and configuring
24
+ DESCRIPTION
25
+
26
+ s.require_path = 'lib'
27
+ s.files = Dir.glob('{bin,lib,config}/**/*') +
28
+ %w(README.md Gemfile neo4j-rake_tasks.gemspec)
29
+ s.has_rdoc = true
30
+ s.extra_rdoc_files = %w( README.md )
31
+ s.rdoc_options = [
32
+ '--quiet',
33
+ '--title',
34
+ '--line-numbers',
35
+ '--main',
36
+ 'README.rdoc',
37
+ '--inline-source']
38
+
39
+ s.add_dependency('colored')
40
+
41
+ s.add_development_dependency('vcr')
42
+ s.add_development_dependency('pry')
43
+ s.add_development_dependency('simplecov')
44
+ s.add_development_dependency('guard')
45
+ s.add_development_dependency('guard-rubocop')
46
+ s.add_development_dependency('rubocop')
47
+ end
metadata ADDED
@@ -0,0 +1,161 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: neo4j-rake_tasks
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Brian Underwood
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colored
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: vcr
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: |
112
+ Rake tasks for managing Neo4j
113
+
114
+ Tasks allow for starting, stopping, and configuring
115
+ email: public@brian-underwood.codes
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files:
119
+ - README.md
120
+ files:
121
+ - Gemfile
122
+ - README.md
123
+ - lib/neo4j/rake_tasks.rb
124
+ - lib/neo4j/rake_tasks/neo4j_server.rake
125
+ - lib/neo4j/rake_tasks/railtie.rb
126
+ - lib/neo4j/rake_tasks/server_manager.rb
127
+ - lib/neo4j/rake_tasks/starnix_server_manager.rb
128
+ - lib/neo4j/rake_tasks/version.rb
129
+ - lib/neo4j/rake_tasks/windows_server_manager.rb
130
+ - neo4j-rake_tasks.gemspec
131
+ homepage: https://github.com/neo4jrb/neo4j-rake_tasks
132
+ licenses:
133
+ - MIT
134
+ metadata: {}
135
+ post_install_message:
136
+ rdoc_options:
137
+ - "--quiet"
138
+ - "--title"
139
+ - "--line-numbers"
140
+ - "--main"
141
+ - README.rdoc
142
+ - "--inline-source"
143
+ require_paths:
144
+ - lib
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: 1.9.3
150
+ required_rubygems_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ requirements: []
156
+ rubyforge_project:
157
+ rubygems_version: 2.4.5
158
+ signing_key:
159
+ specification_version: 4
160
+ summary: Rake tasks for managing Neo4j
161
+ test_files: []