citrin 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -7,6 +7,7 @@ source "http://rubygems.org"
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  gem 'rake', '0.9.2.2'
9
9
  gem 'rails', '>= 3.1.0'
10
+ gem 'mysql2'
10
11
  group :development do
11
12
  gem "shoulda", ">= 0"
12
13
  gem "bundler", "~> 1.0.0"
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.8
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 = %q{citrin}
8
- s.version = "0.0.8"
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 = [%q{Mike}]
12
- s.date = %q{2012-01-13}
13
- s.description = %q{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 = %q{mike@citrin.ch}
15
- s.executables = [%q{citrin}]
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 = %q{http://github.com/firemind/citrin}
44
- s.licenses = [%q{MIT}]
45
- s.require_paths = [%q{lib}]
46
- s.rubygems_version = %q{1.8.7}
47
- s.summary = %q{Client for citrin RailsServer management}
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"])
@@ -21,5 +21,5 @@ chmod 775 /var/www/rails_apps/prod
21
21
  chgrp -R rails-dev /var/www/rails_apps/dev
22
22
  chmod 775 /var/www/rails_apps/dev
23
23
 
24
- chgrp rails-dev /etc/citrin/citrin.conf
25
- chmod 775 /etc/citrin/citrin.conf
24
+ chgrp rails-dev /etc/citrin.yml
25
+ chmod 660 /etc/citrin.yml
@@ -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"
@@ -1,46 +1,13 @@
1
1
  #!/bin/bash
2
2
 
3
3
  name=$1
4
- env=$2
5
- prod_path="/var/www/rails_apps/prod/"
6
- dev_path="/var/www/rails_apps/dev/"
7
- path="$dev_path$name"
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
@@ -0,0 +1,3 @@
1
+ citrin:
2
+ db_user: root
3
+ db_pass: blub
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
- if command == "create_svn_rails"
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,9 @@
1
+ module Citrin
2
+ module Commands
3
+ def self.load
4
+ Dir[File.join(File.dirname(__FILE__), "commands", "*.rb")].each do |file|
5
+ require file
6
+ end
7
+ end
8
+ end
9
+ 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
@@ -1,6 +1,8 @@
1
-
1
+ require 'yaml'
2
2
  module Citrin
3
- def self.do
4
- "Hello World from the all mighty helloworld Gem!"
3
+
4
+ def self.config
5
+ refs = open('/etc/citrin.yml') {|f| YAML.load(f) }
6
+ return refs["citrin"]
5
7
  end
6
8
  end
@@ -0,0 +1,6 @@
1
+ development:
2
+ adapter: mysql2
3
+ encoding: utf8
4
+ database: <%= @app.db_name %>
5
+ username: <%= @app.db_user %>
6
+ password: <%= @app.db_pass %>
@@ -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,6 @@
1
+ production:
2
+ adapter: mysql2
3
+ encoding: utf8
4
+ database: <%= @app.db_name %>
5
+ username: <%= @app.db_user %>
6
+ password: <%= @app.db_pass %>
@@ -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
- cleanup
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
- hash: 15
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
- date: 2012-01-13 00:00:00 Z
19
- dependencies:
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
- prerelease: false
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- version_requirements: *id002
53
- - !ruby/object:Gem::Dependency
54
- name: shoulda
33
+ type: :runtime
55
34
  prerelease: false
56
- type: :development
57
- requirement: &id003 !ruby/object:Gem::Requirement
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
- hash: 3
63
- segments:
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- requirement: &id005 !ruby/object:Gem::Requirement
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
- requirement: &id007 !ruby/object:Gem::Requirement
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
- version_requirements: *id007
129
- description: This Gem helps you manage your citrin RailsServer (http://www.rails-server.ch). It creates Apache Configuration, MySQL Databases and Subversion Repositories.
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
- hash: 3
174
- segments:
152
+ requirements:
153
+ - - ! '>='
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ segments:
175
157
  - 0
176
- version: "0"
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
- hash: 3
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.7
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
-