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.
- checksums.yaml +7 -0
- data/Gemfile +12 -0
- data/README.md +86 -0
- data/lib/neo4j/rake_tasks.rb +5 -0
- data/lib/neo4j/rake_tasks/neo4j_server.rake +120 -0
- data/lib/neo4j/rake_tasks/railtie.rb +10 -0
- data/lib/neo4j/rake_tasks/server_manager.rb +215 -0
- data/lib/neo4j/rake_tasks/starnix_server_manager.rb +26 -0
- data/lib/neo4j/rake_tasks/version.rb +5 -0
- data/lib/neo4j/rake_tasks/windows_server_manager.rb +63 -0
- data/neo4j-rake_tasks.gemspec +47 -0
- metadata +161 -0
checksums.yaml
ADDED
@@ -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
data/README.md
ADDED
@@ -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,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,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,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: []
|