theme-juice 0.7.7 → 0.7.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +204 -204
- data/bin/tj +15 -15
- data/lib/theme-juice.rb +46 -46
- data/lib/theme-juice/cli.rb +248 -248
- data/lib/theme-juice/command.rb +20 -20
- data/lib/theme-juice/commands/create.rb +221 -221
- data/lib/theme-juice/commands/delete.rb +51 -51
- data/lib/theme-juice/commands/deploy.rb +20 -20
- data/lib/theme-juice/config.rb +68 -70
- data/lib/theme-juice/env.rb +25 -25
- data/lib/theme-juice/io.rb +323 -323
- data/lib/theme-juice/project.rb +35 -35
- data/lib/theme-juice/task.rb +42 -42
- data/lib/theme-juice/tasks/create_confirm.rb +33 -33
- data/lib/theme-juice/tasks/create_success.rb +42 -42
- data/lib/theme-juice/tasks/database.rb +50 -50
- data/lib/theme-juice/tasks/delete_confirm.rb +24 -24
- data/lib/theme-juice/tasks/delete_success.rb +31 -31
- data/lib/theme-juice/tasks/dns.rb +45 -45
- data/lib/theme-juice/tasks/dot_env.rb +53 -53
- data/lib/theme-juice/tasks/entry.rb +50 -50
- data/lib/theme-juice/tasks/hosts.rb +43 -43
- data/lib/theme-juice/tasks/import_database.rb +28 -28
- data/lib/theme-juice/tasks/landrush.rb +33 -33
- data/lib/theme-juice/tasks/list.rb +50 -50
- data/lib/theme-juice/tasks/location.rb +23 -23
- data/lib/theme-juice/tasks/nginx.rb +51 -51
- data/lib/theme-juice/tasks/repo.rb +49 -49
- data/lib/theme-juice/tasks/synced_folder.rb +30 -30
- data/lib/theme-juice/tasks/theme.rb +34 -34
- data/lib/theme-juice/tasks/vm.rb +30 -30
- data/lib/theme-juice/tasks/vm_customfile.rb +42 -42
- data/lib/theme-juice/tasks/vm_location.rb +32 -32
- data/lib/theme-juice/tasks/vm_plugins.rb +32 -32
- data/lib/theme-juice/tasks/vm_provision.rb +39 -39
- data/lib/theme-juice/tasks/vm_restart.rb +25 -25
- data/lib/theme-juice/tasks/wp_cli.rb +52 -52
- data/lib/theme-juice/util.rb +45 -45
- data/lib/theme-juice/version.rb +5 -5
- metadata +6 -7
@@ -1,33 +1,33 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class Landrush < Entry
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
|
10
|
-
@entry = {
|
11
|
-
:project => "landrush",
|
12
|
-
:file => "#{@env.vm_path}/Customfile",
|
13
|
-
:name => "landrush",
|
14
|
-
:id => "LR"
|
15
|
-
}
|
16
|
-
end
|
17
|
-
|
18
|
-
def execute
|
19
|
-
unless @env.no_landrush
|
20
|
-
create_entry_file
|
21
|
-
create_entry do
|
22
|
-
%Q{config.landrush.enabled = true
|
23
|
-
config.landrush.tld = 'dev'}
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
def unexecute
|
29
|
-
remove_entry
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class Landrush < Entry
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
|
10
|
+
@entry = {
|
11
|
+
:project => "landrush",
|
12
|
+
:file => "#{@env.vm_path}/Customfile",
|
13
|
+
:name => "landrush",
|
14
|
+
:id => "LR"
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def execute
|
19
|
+
unless @env.no_landrush
|
20
|
+
create_entry_file
|
21
|
+
create_entry do
|
22
|
+
%Q{config.landrush.enabled = true
|
23
|
+
config.landrush.tld = 'dev'}
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def unexecute
|
29
|
+
remove_entry
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,50 +1,50 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class List < Task
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
|
10
|
-
@project.vm_root = vm_root
|
11
|
-
@project.vm_location = vm_location
|
12
|
-
end
|
13
|
-
|
14
|
-
def list(prop)
|
15
|
-
@io.error "Cannot list '#{prop}'" unless self.respond_to? prop
|
16
|
-
|
17
|
-
if self.send(prop).empty?
|
18
|
-
@io.log "Nothing to list"
|
19
|
-
else
|
20
|
-
@io.list "Projects :", :green, self.send(prop)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def projects
|
25
|
-
res = []
|
26
|
-
|
27
|
-
Dir["#{@project.vm_root}/*"].each do |f|
|
28
|
-
if File.directory?(f) && f.include?(@env.vm_prefix)
|
29
|
-
res << File.basename(f).gsub(/(#{@env.vm_prefix})/, "")
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
res
|
34
|
-
end
|
35
|
-
|
36
|
-
def urls
|
37
|
-
res = []
|
38
|
-
ls = `vagrant landrush ls`
|
39
|
-
|
40
|
-
unless ls.nil?
|
41
|
-
ls.gsub(/\s+/m, " ").split(" ").each do |url|
|
42
|
-
res << url if /(\.dev)/ =~ url
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
res
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class List < Task
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
|
10
|
+
@project.vm_root = vm_root
|
11
|
+
@project.vm_location = vm_location
|
12
|
+
end
|
13
|
+
|
14
|
+
def list(prop)
|
15
|
+
@io.error "Cannot list '#{prop}'" unless self.respond_to? prop
|
16
|
+
|
17
|
+
if self.send(prop).empty?
|
18
|
+
@io.log "Nothing to list"
|
19
|
+
else
|
20
|
+
@io.list "Projects :", :green, self.send(prop)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def projects
|
25
|
+
res = []
|
26
|
+
|
27
|
+
Dir["#{@project.vm_root}/*"].each do |f|
|
28
|
+
if File.directory?(f) && f.include?(@env.vm_prefix)
|
29
|
+
res << File.basename(f).gsub(/(#{@env.vm_prefix})/, "")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
res
|
34
|
+
end
|
35
|
+
|
36
|
+
def urls
|
37
|
+
res = []
|
38
|
+
ls = `vagrant landrush ls`
|
39
|
+
|
40
|
+
unless ls.nil?
|
41
|
+
ls.gsub(/\s+/m, " ").split(" ").each do |url|
|
42
|
+
res << url if /(\.dev)/ =~ url
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
res
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -1,23 +1,23 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class Location < Task
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
end
|
10
|
-
|
11
|
-
def execute
|
12
|
-
create_path
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
|
17
|
-
def create_path
|
18
|
-
@io.log "Creating project location"
|
19
|
-
@util.empty_directory @project.location, :verbose => @env.verbose
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class Location < Task
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def execute
|
12
|
+
create_path
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def create_path
|
18
|
+
@io.log "Creating project location"
|
19
|
+
@util.empty_directory @project.location, :verbose => @env.verbose
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -1,51 +1,51 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class Nginx < Task
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
end
|
10
|
-
|
11
|
-
def execute
|
12
|
-
create_nginx_file
|
13
|
-
end
|
14
|
-
|
15
|
-
def unexecute
|
16
|
-
remove_nginx_file
|
17
|
-
end
|
18
|
-
|
19
|
-
private
|
20
|
-
|
21
|
-
def nginx_file
|
22
|
-
"#{@project.location}/vvv-nginx.conf"
|
23
|
-
end
|
24
|
-
|
25
|
-
def nginx_is_setup?
|
26
|
-
File.exist? nginx_file
|
27
|
-
end
|
28
|
-
|
29
|
-
def create_nginx_file
|
30
|
-
unless nginx_is_setup?
|
31
|
-
@io.log "Creating nginx file"
|
32
|
-
@util.create_file nginx_file, :verbose => @env.verbose do
|
33
|
-
%Q{server \{
|
34
|
-
listen 80;
|
35
|
-
server_name .#{@project.url};
|
36
|
-
root {vvv_path_to_folder};
|
37
|
-
include /etc/nginx/nginx-wp-common.conf;
|
38
|
-
\}
|
39
|
-
|
40
|
-
}
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def remove_nginx_file
|
46
|
-
@io.log "Removing nginx file"
|
47
|
-
@util.remove_file nginx_file, :verbose => @env.verbose
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class Nginx < Task
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def execute
|
12
|
+
create_nginx_file
|
13
|
+
end
|
14
|
+
|
15
|
+
def unexecute
|
16
|
+
remove_nginx_file
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def nginx_file
|
22
|
+
"#{@project.location}/vvv-nginx.conf"
|
23
|
+
end
|
24
|
+
|
25
|
+
def nginx_is_setup?
|
26
|
+
File.exist? nginx_file
|
27
|
+
end
|
28
|
+
|
29
|
+
def create_nginx_file
|
30
|
+
unless nginx_is_setup?
|
31
|
+
@io.log "Creating nginx file"
|
32
|
+
@util.create_file nginx_file, :verbose => @env.verbose do
|
33
|
+
%Q{server \{
|
34
|
+
listen 80;
|
35
|
+
server_name .#{@project.url};
|
36
|
+
root {vvv_path_to_folder};
|
37
|
+
include /etc/nginx/nginx-wp-common.conf;
|
38
|
+
\}
|
39
|
+
|
40
|
+
}
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def remove_nginx_file
|
46
|
+
@io.log "Removing nginx file"
|
47
|
+
@util.remove_file nginx_file, :verbose => @env.verbose
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -1,49 +1,49 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class Repo < Task
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
end
|
10
|
-
|
11
|
-
def execute
|
12
|
-
if @project.repository
|
13
|
-
create_repo
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def git_dir
|
20
|
-
File.expand_path "#{@project.location}/.git"
|
21
|
-
end
|
22
|
-
|
23
|
-
def repo_is_setup?
|
24
|
-
File.exist? git_dir
|
25
|
-
end
|
26
|
-
|
27
|
-
def create_repo
|
28
|
-
@io.log "Creating Git repository"
|
29
|
-
|
30
|
-
remove_repo if repo_is_setup?
|
31
|
-
|
32
|
-
@util.inside @project.location do
|
33
|
-
@util.run [], :verbose => @env.verbose do |cmds|
|
34
|
-
cmds << "git init"
|
35
|
-
cmds << "git remote add origin #{@project.repository}"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def remove_repo
|
41
|
-
if @io.agree? "Do you want to overwrite the current repo in '#{@project.location}'?"
|
42
|
-
@util.remove_dir git_dir, :verbose => @env.verbose
|
43
|
-
else
|
44
|
-
@io.error "Run the command again without a repository, or remove the repository currently in '#{@project.location}'"
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class Repo < Task
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
end
|
10
|
+
|
11
|
+
def execute
|
12
|
+
if @project.repository
|
13
|
+
create_repo
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def git_dir
|
20
|
+
File.expand_path "#{@project.location}/.git"
|
21
|
+
end
|
22
|
+
|
23
|
+
def repo_is_setup?
|
24
|
+
File.exist? git_dir
|
25
|
+
end
|
26
|
+
|
27
|
+
def create_repo
|
28
|
+
@io.log "Creating Git repository"
|
29
|
+
|
30
|
+
remove_repo if repo_is_setup?
|
31
|
+
|
32
|
+
@util.inside @project.location do
|
33
|
+
@util.run [], :verbose => @env.verbose do |cmds|
|
34
|
+
cmds << "git init"
|
35
|
+
cmds << "git remote add origin #{@project.repository}"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def remove_repo
|
41
|
+
if @io.agree? "Do you want to overwrite the current repo in '#{@project.location}'?"
|
42
|
+
@util.remove_dir git_dir, :verbose => @env.verbose
|
43
|
+
else
|
44
|
+
@io.error "Run the command again without a repository, or remove the repository currently in '#{@project.location}'"
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -1,30 +1,30 @@
|
|
1
|
-
# encoding: UTF-8
|
2
|
-
|
3
|
-
module ThemeJuice
|
4
|
-
module Tasks
|
5
|
-
class SyncedFolder < Entry
|
6
|
-
|
7
|
-
def initialize(opts = {})
|
8
|
-
super
|
9
|
-
|
10
|
-
@entry = {
|
11
|
-
:project => @project.name,
|
12
|
-
:file => "#{@env.vm_path}/Customfile",
|
13
|
-
:name => "synced folder",
|
14
|
-
:id => "SF"
|
15
|
-
}
|
16
|
-
end
|
17
|
-
|
18
|
-
def execute
|
19
|
-
create_entry_file
|
20
|
-
create_entry do
|
21
|
-
%Q{config.vm.synced_folder '#{@project.location}', '/srv/www/tj-#{@project.name}', mount_options: ['dmode=777','fmode=777']}
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def unexecute
|
26
|
-
remove_entry
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module ThemeJuice
|
4
|
+
module Tasks
|
5
|
+
class SyncedFolder < Entry
|
6
|
+
|
7
|
+
def initialize(opts = {})
|
8
|
+
super
|
9
|
+
|
10
|
+
@entry = {
|
11
|
+
:project => @project.name,
|
12
|
+
:file => "#{@env.vm_path}/Customfile",
|
13
|
+
:name => "synced folder",
|
14
|
+
:id => "SF"
|
15
|
+
}
|
16
|
+
end
|
17
|
+
|
18
|
+
def execute
|
19
|
+
create_entry_file
|
20
|
+
create_entry do
|
21
|
+
%Q{config.vm.synced_folder '#{@project.location}', '/srv/www/tj-#{@project.name}', mount_options: ['dmode=777','fmode=777']}
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def unexecute
|
26
|
+
remove_entry
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|