neo4j-rake_tasks 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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: []