theme-juice 0.7.7 → 0.7.8
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 +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
|