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 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
-