citrin 0.0.8 → 0.0.9
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.
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/VERSION +1 -1
- data/citrin.gemspec +25 -12
- data/commands/adjust_permissions +2 -2
- data/commands/create_database +0 -7
- data/commands/create_webserver +4 -37
- data/etc/citrin.yml +3 -0
- data/lib/citrin/app.rb +60 -0
- data/lib/citrin/cli.rb +16 -1
- data/lib/citrin/commands/create_database.rb +28 -0
- data/lib/citrin/commands/create_webserver.rb +20 -0
- data/lib/citrin/commands.rb +9 -0
- data/lib/citrin/helpers.rb +11 -0
- data/lib/citrin.rb +5 -3
- data/templates/dev.database.erb +6 -0
- data/templates/dev_virtualhost.erb +13 -0
- data/templates/prod.database.erb +6 -0
- data/templates/prod_virtualhost.erb +13 -0
- data/test/test_citrin.rb +34 -1
- metadata +102 -125
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -45,6 +45,7 @@ GEM
|
|
45
45
|
treetop (~> 1.4.8)
|
46
46
|
mime-types (1.17.2)
|
47
47
|
multi_json (1.0.4)
|
48
|
+
mysql2 (0.3.11)
|
48
49
|
polyglot (0.3.3)
|
49
50
|
rack (1.3.6)
|
50
51
|
rack-cache (1.1)
|
@@ -91,6 +92,7 @@ PLATFORMS
|
|
91
92
|
DEPENDENCIES
|
92
93
|
bundler (~> 1.0.0)
|
93
94
|
jeweler (~> 1.6.4)
|
95
|
+
mysql2
|
94
96
|
rails (>= 3.1.0)
|
95
97
|
rake (= 0.9.2.2)
|
96
98
|
rcov
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.9
|
data/citrin.gemspec
CHANGED
@@ -4,15 +4,15 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.0.
|
7
|
+
s.name = "citrin"
|
8
|
+
s.version = "0.0.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
15
|
-
s.executables = [
|
11
|
+
s.authors = ["Mike"]
|
12
|
+
s.date = "2012-01-15"
|
13
|
+
s.description = "This Gem helps you manage your citrin RailsServer (http://www.rails-server.ch). It creates Apache Configuration, MySQL Databases and Subversion Repositories."
|
14
|
+
s.email = "mike@citrin.ch"
|
15
|
+
s.executables = ["citrin"]
|
16
16
|
s.extra_rdoc_files = [
|
17
17
|
"LICENSE.txt",
|
18
18
|
"README",
|
@@ -35,16 +35,26 @@ Gem::Specification.new do |s|
|
|
35
35
|
"commands/create_webserver",
|
36
36
|
"commands/help",
|
37
37
|
"commands/remove_railsapp",
|
38
|
+
"etc/citrin.yml",
|
38
39
|
"lib/citrin.rb",
|
40
|
+
"lib/citrin/app.rb",
|
39
41
|
"lib/citrin/cli.rb",
|
42
|
+
"lib/citrin/commands.rb",
|
43
|
+
"lib/citrin/commands/create_database.rb",
|
44
|
+
"lib/citrin/commands/create_webserver.rb",
|
45
|
+
"lib/citrin/helpers.rb",
|
46
|
+
"templates/dev.database.erb",
|
47
|
+
"templates/dev_virtualhost.erb",
|
48
|
+
"templates/prod.database.erb",
|
49
|
+
"templates/prod_virtualhost.erb",
|
40
50
|
"test/helper.rb",
|
41
51
|
"test/test_citrin.rb"
|
42
52
|
]
|
43
|
-
s.homepage =
|
44
|
-
s.licenses = [
|
45
|
-
s.require_paths = [
|
46
|
-
s.rubygems_version =
|
47
|
-
s.summary =
|
53
|
+
s.homepage = "http://github.com/firemind/citrin"
|
54
|
+
s.licenses = ["MIT"]
|
55
|
+
s.require_paths = ["lib"]
|
56
|
+
s.rubygems_version = "1.8.10"
|
57
|
+
s.summary = "Client for citrin RailsServer management"
|
48
58
|
|
49
59
|
if s.respond_to? :specification_version then
|
50
60
|
s.specification_version = 3
|
@@ -52,6 +62,7 @@ Gem::Specification.new do |s|
|
|
52
62
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
53
63
|
s.add_runtime_dependency(%q<rake>, ["= 0.9.2.2"])
|
54
64
|
s.add_runtime_dependency(%q<rails>, [">= 3.1.0"])
|
65
|
+
s.add_runtime_dependency(%q<mysql2>, [">= 0"])
|
55
66
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
56
67
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
57
68
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
@@ -60,6 +71,7 @@ Gem::Specification.new do |s|
|
|
60
71
|
else
|
61
72
|
s.add_dependency(%q<rake>, ["= 0.9.2.2"])
|
62
73
|
s.add_dependency(%q<rails>, [">= 3.1.0"])
|
74
|
+
s.add_dependency(%q<mysql2>, [">= 0"])
|
63
75
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
64
76
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
65
77
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
@@ -69,6 +81,7 @@ Gem::Specification.new do |s|
|
|
69
81
|
else
|
70
82
|
s.add_dependency(%q<rake>, ["= 0.9.2.2"])
|
71
83
|
s.add_dependency(%q<rails>, [">= 3.1.0"])
|
84
|
+
s.add_dependency(%q<mysql2>, [">= 0"])
|
72
85
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
73
86
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
74
87
|
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
data/commands/adjust_permissions
CHANGED
data/commands/create_database
CHANGED
@@ -42,13 +42,6 @@ else
|
|
42
42
|
exit 3
|
43
43
|
fi
|
44
44
|
|
45
|
-
echo "$fullenv:"
|
46
|
-
echo " adapter: mysql2"
|
47
|
-
echo " encoding: utf8"
|
48
|
-
echo " database: $db_name"
|
49
|
-
echo " username: $db_user"
|
50
|
-
echo " password: $db_user_pw"
|
51
|
-
|
52
45
|
echo ""
|
53
46
|
echo "and run"
|
54
47
|
echo " RAILS_ENV=$fullenv rake db:migrate"
|
data/commands/create_webserver
CHANGED
@@ -1,46 +1,13 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
name=$1
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
if [ -z $name ] ; then
|
9
|
-
echo "usage: $0 appname [environment]"
|
10
|
-
exit 1;
|
11
|
-
fi
|
12
|
-
if [ -e $path ] ; then
|
13
|
-
echo "Project already exits in $path";
|
14
|
-
exit 2;
|
15
|
-
fi
|
16
|
-
|
17
|
-
if [ -z $env ] ; then
|
18
|
-
env="prod"
|
19
|
-
fi
|
20
|
-
|
21
|
-
if [ $env != "prod" -a $env != "dev" ]; then
|
22
|
-
echo "usage: $0 dbname env"
|
23
|
-
echo "Options for env: prod dev"
|
24
|
-
exit 3;
|
25
|
-
fi
|
26
|
-
|
4
|
+
conf_template=$2
|
5
|
+
conffile=$3
|
6
|
+
url=$4
|
7
|
+
app_root=$5
|
27
8
|
|
28
9
|
|
29
10
|
function configure_apache {
|
30
|
-
if [ $env = "prod" ]; then
|
31
|
-
conf_template="/etc/apache2/templates/prod_rails.conf"
|
32
|
-
conffile="/etc/apache2/sites-enabled/prod.$name.conf"
|
33
|
-
url=$name.$(hostname -f)
|
34
|
-
app_root=/var/www/rails_apps/prod/$name
|
35
|
-
elif [ $env = "dev" ]; then
|
36
|
-
conf_template="/etc/apache2/templates/dev_rails.conf"
|
37
|
-
conffile="/etc/apache2/sites-enabled/dev.$name.conf"
|
38
|
-
url=dev.$name.$(hostname -f)
|
39
|
-
app_root=/var/www/rails_apps/dev/$name
|
40
|
-
else
|
41
|
-
echo "Invalid Env"
|
42
|
-
exit 3
|
43
|
-
fi
|
44
11
|
|
45
12
|
cp -p $conf_template $conffile
|
46
13
|
sed_str=$(echo $app_root | sed -e 's/\(\/\|\\\|&\)/\\&/g')
|
data/etc/citrin.yml
ADDED
data/lib/citrin/app.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
module Citrin
|
2
|
+
class App
|
3
|
+
def initialize(name, env="prod")
|
4
|
+
@name = name
|
5
|
+
@env = env
|
6
|
+
@env ||= "prod"
|
7
|
+
end
|
8
|
+
|
9
|
+
def name
|
10
|
+
@name
|
11
|
+
end
|
12
|
+
|
13
|
+
def env
|
14
|
+
@env
|
15
|
+
end
|
16
|
+
|
17
|
+
def fullenv
|
18
|
+
case(@env)
|
19
|
+
when "prod"
|
20
|
+
return "production"
|
21
|
+
when "dev"
|
22
|
+
return "development"
|
23
|
+
when "test"
|
24
|
+
return "test"
|
25
|
+
else
|
26
|
+
raise "Invalid Environment"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def app_root
|
31
|
+
"/var/www/rails_apps/#{@env}/#{@name}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def url
|
35
|
+
if @env == "dev"
|
36
|
+
"dev.#{@name}.#{`hostname -f`}"
|
37
|
+
elsif @env == "prod"
|
38
|
+
"#{@name}.#{`hostname -f`}"
|
39
|
+
else
|
40
|
+
raise "Invalid Environment"
|
41
|
+
end
|
42
|
+
end
|
43
|
+
def webserver_config_file
|
44
|
+
"/etc/apache2/sites-enabled/#{@env}.#{@name}.conf"
|
45
|
+
end
|
46
|
+
|
47
|
+
def db_name
|
48
|
+
"#{@name}_#{@env}"
|
49
|
+
end
|
50
|
+
|
51
|
+
def db_user
|
52
|
+
"#{@name}_#{@env}"
|
53
|
+
end
|
54
|
+
|
55
|
+
def db_pass
|
56
|
+
@db_pass ||=`pwgen -1`.chomp
|
57
|
+
@db_pass
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/citrin/cli.rb
CHANGED
@@ -1,11 +1,26 @@
|
|
1
1
|
require 'citrin'
|
2
|
+
require 'citrin/helpers'
|
3
|
+
require 'citrin/app'
|
4
|
+
require 'citrin/commands'
|
2
5
|
|
3
6
|
class Citrin::CLI
|
7
|
+
extend Citrin::Helpers
|
4
8
|
|
5
9
|
def self.start(*args)
|
6
10
|
command = args.shift.strip rescue "help"
|
7
|
-
|
11
|
+
Citrin::Commands.load
|
12
|
+
name = args[0]
|
13
|
+
env = args[1]
|
14
|
+
app = Citrin::App.new(name, env)
|
15
|
+
case command
|
16
|
+
when "create_svn_rails"
|
8
17
|
puts `#{File.dirname(__FILE__)}/../../commands/create_svn #{args.join(" ")} --with-rails`
|
18
|
+
when "create_database"
|
19
|
+
return Commands::CreateDatabase.run(app)
|
20
|
+
when "create_webserver"
|
21
|
+
return Commands::CreateWebserver.run(app)
|
22
|
+
when "write_config"
|
23
|
+
`cp #{File.dirname(__FILE__)}/../../etc/citrin.yml /etc/citrin.yml`
|
9
24
|
else
|
10
25
|
puts `#{File.dirname(__FILE__)}/../../commands/#{command} #{args.join(" ")}`
|
11
26
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'erb'
|
2
|
+
module Commands
|
3
|
+
class CreateDatabase
|
4
|
+
extend Citrin::Helpers
|
5
|
+
def self.run(app)
|
6
|
+
@app = app
|
7
|
+
db_queries = %Q{
|
8
|
+
create database #{@app.db_name};
|
9
|
+
GRANT ALL ON #{@app.db_user}.* TO '#{@app.db_name}'@'localhost';
|
10
|
+
SET PASSWORD FOR '#{@app.db_user}'@'localhost' = PASSWORD('#{@app.db_pass}');
|
11
|
+
}
|
12
|
+
`mysql --user=#{Citrin::config['db_user']} --password=#{Citrin::config['db_pass']} -e "#{db_queries}"`
|
13
|
+
|
14
|
+
template_file = database_template_file(@app.env)
|
15
|
+
template = ERB.new(File.read(template_file), 0, "%<>")
|
16
|
+
result = template.result(binding)
|
17
|
+
|
18
|
+
puts %Q{
|
19
|
+
Put this in your config/database.yml
|
20
|
+
#{result}
|
21
|
+
|
22
|
+
and run
|
23
|
+
RAILS_ENV=#{@app.fullenv} rake db:migrate"
|
24
|
+
}
|
25
|
+
return @app
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'erb'
|
2
|
+
module Commands
|
3
|
+
class CreateWebserver
|
4
|
+
extend Citrin::Helpers
|
5
|
+
def self.run(app)
|
6
|
+
@app = app
|
7
|
+
template_file = webserver_template_file(@app.env)
|
8
|
+
template = ERB.new(File.read(template_file), 0, "%<>")
|
9
|
+
result = template.result(binding)
|
10
|
+
File.open(@app.webserver_config_file, 'w') {|f| f.write(result ) }
|
11
|
+
|
12
|
+
puts "Apache VirtualHost Konfiguration unter: #{@app.webserver_config_file}"
|
13
|
+
puts "App Root unter: #{@app.app_root}"
|
14
|
+
puts "URL: http://#{@app.url}"
|
15
|
+
|
16
|
+
puts "Apache reload"
|
17
|
+
`sudo service apache2 reload 2>&1 > /dev/null`
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Citrin::Helpers
|
2
|
+
def webserver_template_file(env)
|
3
|
+
env ||= "prod"
|
4
|
+
File.dirname(__FILE__)+"/../../templates/#{env}_virtualhost.erb"
|
5
|
+
end
|
6
|
+
|
7
|
+
def database_template_file(env)
|
8
|
+
env ||= "prod"
|
9
|
+
File.dirname(__FILE__)+"/../../templates/#{env}.database.erb"
|
10
|
+
end
|
11
|
+
end
|
data/lib/citrin.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
<VirtualHost *:80>
|
2
|
+
ServerName <%= @app.url %>
|
3
|
+
DocumentRoot <%= @app.app_root %>/public
|
4
|
+
RackEnv development
|
5
|
+
|
6
|
+
<Directory <%= @app.app_root %>/public >
|
7
|
+
AllowOverride all
|
8
|
+
Options -MultiViews
|
9
|
+
Options ExecCGI FollowSymLinks
|
10
|
+
Order allow,deny
|
11
|
+
Allow from all
|
12
|
+
</Directory>
|
13
|
+
</VirtualHost>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<VirtualHost *:80>
|
2
|
+
ServerName <%= @app.url %>
|
3
|
+
DocumentRoot <%= @app.app_root %>/public
|
4
|
+
RackEnv production
|
5
|
+
|
6
|
+
<Directory <%= @app.app_root %>/public >
|
7
|
+
AllowOverride all
|
8
|
+
Options -MultiViews
|
9
|
+
Options ExecCGI FollowSymLinks
|
10
|
+
Order allow,deny
|
11
|
+
Allow from all
|
12
|
+
</Directory>
|
13
|
+
</VirtualHost>
|
data/test/test_citrin.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
2
2
|
require 'helper'
|
3
3
|
require 'citrin/cli'
|
4
|
+
require 'mysql2'
|
4
5
|
|
5
6
|
class TestCitrin < Test::Unit::TestCase
|
6
7
|
|
@@ -10,6 +11,17 @@ class TestCitrin < Test::Unit::TestCase
|
|
10
11
|
|
11
12
|
def cleanup
|
12
13
|
Citrin::CLI.start("remove_railsapp", @appname)
|
14
|
+
@app = Citrin::App.new(@appname)
|
15
|
+
begin
|
16
|
+
# connect to the MySQL server
|
17
|
+
dbh = Mysql2::Client.new(:host => "localhost", :username => Citrin::config['db_user'], :password => Citrin::config['db_pass'] )
|
18
|
+
dbh.query("drop user #{@app.db_user}@localhost;");
|
19
|
+
dbh.query("drop database #{@app.db_name};");
|
20
|
+
rescue
|
21
|
+
ensure
|
22
|
+
# disconnect from server
|
23
|
+
dbh.close if dbh
|
24
|
+
end
|
13
25
|
end
|
14
26
|
|
15
27
|
should "create webserver config" do
|
@@ -18,6 +30,27 @@ class TestCitrin < Test::Unit::TestCase
|
|
18
30
|
`cd /var/www/rails_apps/prod/ && rails new #{@appname}`
|
19
31
|
statuscode = `curl -sL -w "%{http_code}" "#{@appname}.$(hostname -f)" -o /dev/null`
|
20
32
|
assert_equal "200", statuscode
|
21
|
-
|
33
|
+
end
|
34
|
+
|
35
|
+
should "create svn config" do
|
36
|
+
Citrin::CLI.start("create_svn", @appname)
|
37
|
+
assert File.exists?("/var/svn/#{@appname}")
|
38
|
+
svn_info=`svn info svn+ssh://$(hostname -f)/var/svn/#{@appname} 2> /dev/null`
|
39
|
+
assert_not_equal "", svn_info
|
40
|
+
end
|
41
|
+
|
42
|
+
should "create database" do
|
43
|
+
@app=Citrin::CLI.start("create_database", @appname)
|
44
|
+
begin
|
45
|
+
# connect to the MySQL server
|
46
|
+
dbh = Mysql2::Client.new(:host => "localhost", :username => @app.db_user, :password => @app.db_pass, :database => @app.db_name )
|
47
|
+
rescue Mysql2::Error => e
|
48
|
+
puts "Error message: #{e.error}"
|
49
|
+
fail "Can't connect to created DB"
|
50
|
+
ensure
|
51
|
+
# disconnect from server
|
52
|
+
dbh.close if dbh
|
53
|
+
end
|
54
|
+
cleanup
|
22
55
|
end
|
23
56
|
end
|
metadata
CHANGED
@@ -1,142 +1,115 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: citrin
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 8
|
10
|
-
version: 0.0.8
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Mike
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-01-15 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: rake
|
22
|
-
|
23
|
-
type: :runtime
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &19474140 !ruby/object:Gem::Requirement
|
25
17
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 11
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
- 9
|
33
|
-
- 2
|
34
|
-
- 2
|
18
|
+
requirements:
|
19
|
+
- - =
|
20
|
+
- !ruby/object:Gem::Version
|
35
21
|
version: 0.9.2.2
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: rails
|
39
|
-
prerelease: false
|
40
22
|
type: :runtime
|
41
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *19474140
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: rails
|
27
|
+
requirement: &19473400 !ruby/object:Gem::Requirement
|
42
28
|
none: false
|
43
|
-
requirements:
|
44
|
-
- -
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
hash: 3
|
47
|
-
segments:
|
48
|
-
- 3
|
49
|
-
- 1
|
50
|
-
- 0
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
51
32
|
version: 3.1.0
|
52
|
-
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: shoulda
|
33
|
+
type: :runtime
|
55
34
|
prerelease: false
|
56
|
-
|
57
|
-
|
35
|
+
version_requirements: *19473400
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: mysql2
|
38
|
+
requirement: &19472840 !ruby/object:Gem::Requirement
|
58
39
|
none: false
|
59
|
-
requirements:
|
60
|
-
- -
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
|
63
|
-
|
64
|
-
- 0
|
65
|
-
version: "0"
|
66
|
-
version_requirements: *id003
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: bundler
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
type: :runtime
|
69
45
|
prerelease: false
|
46
|
+
version_requirements: *19472840
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: shoulda
|
49
|
+
requirement: &19472140 !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
70
55
|
type: :development
|
71
|
-
|
56
|
+
prerelease: false
|
57
|
+
version_requirements: *19472140
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: bundler
|
60
|
+
requirement: &19471200 !ruby/object:Gem::Requirement
|
72
61
|
none: false
|
73
|
-
requirements:
|
62
|
+
requirements:
|
74
63
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
hash: 23
|
77
|
-
segments:
|
78
|
-
- 1
|
79
|
-
- 0
|
80
|
-
- 0
|
64
|
+
- !ruby/object:Gem::Version
|
81
65
|
version: 1.0.0
|
82
|
-
version_requirements: *id004
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: jeweler
|
85
|
-
prerelease: false
|
86
66
|
type: :development
|
87
|
-
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *19471200
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: jeweler
|
71
|
+
requirement: &19470420 !ruby/object:Gem::Requirement
|
88
72
|
none: false
|
89
|
-
requirements:
|
73
|
+
requirements:
|
90
74
|
- - ~>
|
91
|
-
- !ruby/object:Gem::Version
|
92
|
-
hash: 7
|
93
|
-
segments:
|
94
|
-
- 1
|
95
|
-
- 6
|
96
|
-
- 4
|
75
|
+
- !ruby/object:Gem::Version
|
97
76
|
version: 1.6.4
|
98
|
-
version_requirements: *id005
|
99
|
-
- !ruby/object:Gem::Dependency
|
100
|
-
name: rcov
|
101
|
-
prerelease: false
|
102
77
|
type: :development
|
103
|
-
requirement: &id006 !ruby/object:Gem::Requirement
|
104
|
-
none: false
|
105
|
-
requirements:
|
106
|
-
- - ">="
|
107
|
-
- !ruby/object:Gem::Version
|
108
|
-
hash: 3
|
109
|
-
segments:
|
110
|
-
- 0
|
111
|
-
version: "0"
|
112
|
-
version_requirements: *id006
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: rdoc
|
115
78
|
prerelease: false
|
79
|
+
version_requirements: *19470420
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: rcov
|
82
|
+
requirement: &19469520 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ! '>='
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '0'
|
116
88
|
type: :development
|
117
|
-
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *19469520
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: rdoc
|
93
|
+
requirement: &19468760 !ruby/object:Gem::Requirement
|
118
94
|
none: false
|
119
|
-
requirements:
|
120
|
-
- -
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
hash: 43
|
123
|
-
segments:
|
124
|
-
- 3
|
125
|
-
- 9
|
126
|
-
- 4
|
95
|
+
requirements:
|
96
|
+
- - =
|
97
|
+
- !ruby/object:Gem::Version
|
127
98
|
version: 3.9.4
|
128
|
-
|
129
|
-
|
99
|
+
type: :development
|
100
|
+
prerelease: false
|
101
|
+
version_requirements: *19468760
|
102
|
+
description: This Gem helps you manage your citrin RailsServer (http://www.rails-server.ch).
|
103
|
+
It creates Apache Configuration, MySQL Databases and Subversion Repositories.
|
130
104
|
email: mike@citrin.ch
|
131
|
-
executables:
|
105
|
+
executables:
|
132
106
|
- citrin
|
133
107
|
extensions: []
|
134
|
-
|
135
|
-
extra_rdoc_files:
|
108
|
+
extra_rdoc_files:
|
136
109
|
- LICENSE.txt
|
137
110
|
- README
|
138
111
|
- README.rdoc
|
139
|
-
files:
|
112
|
+
files:
|
140
113
|
- .document
|
141
114
|
- Gemfile
|
142
115
|
- Gemfile.lock
|
@@ -153,42 +126,46 @@ files:
|
|
153
126
|
- commands/create_webserver
|
154
127
|
- commands/help
|
155
128
|
- commands/remove_railsapp
|
129
|
+
- etc/citrin.yml
|
156
130
|
- lib/citrin.rb
|
131
|
+
- lib/citrin/app.rb
|
157
132
|
- lib/citrin/cli.rb
|
133
|
+
- lib/citrin/commands.rb
|
134
|
+
- lib/citrin/commands/create_database.rb
|
135
|
+
- lib/citrin/commands/create_webserver.rb
|
136
|
+
- lib/citrin/helpers.rb
|
137
|
+
- templates/dev.database.erb
|
138
|
+
- templates/dev_virtualhost.erb
|
139
|
+
- templates/prod.database.erb
|
140
|
+
- templates/prod_virtualhost.erb
|
158
141
|
- test/helper.rb
|
159
142
|
- test/test_citrin.rb
|
160
143
|
homepage: http://github.com/firemind/citrin
|
161
|
-
licenses:
|
144
|
+
licenses:
|
162
145
|
- MIT
|
163
146
|
post_install_message:
|
164
147
|
rdoc_options: []
|
165
|
-
|
166
|
-
require_paths:
|
148
|
+
require_paths:
|
167
149
|
- lib
|
168
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
169
151
|
none: false
|
170
|
-
requirements:
|
171
|
-
- -
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
|
174
|
-
segments:
|
152
|
+
requirements:
|
153
|
+
- - ! '>='
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '0'
|
156
|
+
segments:
|
175
157
|
- 0
|
176
|
-
|
177
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
hash: 717151115472232295
|
159
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
160
|
none: false
|
179
|
-
requirements:
|
180
|
-
- -
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
|
183
|
-
segments:
|
184
|
-
- 0
|
185
|
-
version: "0"
|
161
|
+
requirements:
|
162
|
+
- - ! '>='
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '0'
|
186
165
|
requirements: []
|
187
|
-
|
188
166
|
rubyforge_project:
|
189
|
-
rubygems_version: 1.8.
|
167
|
+
rubygems_version: 1.8.10
|
190
168
|
signing_key:
|
191
169
|
specification_version: 3
|
192
170
|
summary: Client for citrin RailsServer management
|
193
171
|
test_files: []
|
194
|
-
|