hyde-ftp 0.1.1 → 0.1.2

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/bin/hyde CHANGED
@@ -1,7 +1,129 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ #!/usr/bin/env ruby
4
+
3
5
  require 'rubygems'
4
6
  require 'net/ftp'
5
7
  require 'yaml'
6
- require 'hyde/ftp-transfer.rb'
7
- require 'hyde.rb'
8
+ require 'lib/hyde/ftp-transfer.rb'
9
+
10
+ def mirror(path, ftp, initial_path = nil)
11
+ initial_path ||= path
12
+ Dir.entries(path).each do |file|
13
+ next if ['.', '..'].include? file
14
+
15
+ file_path = path + '/' + file
16
+ short_file_path = file_path[initial_path.length, file_path.length]
17
+ if File.directory?(file_path)
18
+ ftp.mkdir(file) unless ftp.nlst.index(file)
19
+ ftp.chdir(file)
20
+ mirror(file_path, ftp, initial_path)
21
+ ftp.chdir('..')
22
+ else
23
+ puts "Deploying: " + short_file_path
24
+ puts " To: " + ftp.pwd + '/' + file
25
+ ftp.putbinaryfile(path + '/' + file, file)
26
+ end
27
+ end
28
+ end
29
+
30
+ def ftp_directory?(ftp, file_name)
31
+ ftp.chdir(file_name)
32
+ ftp.chdir('..')
33
+ true
34
+ rescue
35
+ false
36
+ end
37
+
38
+ def clean_ftp(ftp)
39
+ ftp.nlst.each do |file|
40
+ next if ['.', '..', 'bup', 'backup'].include? file
41
+ if ftp_directory? ftp, file
42
+ ftp.chdir file
43
+ clean_ftp(ftp)
44
+ ftp.chdir '..'
45
+ puts "Deleting directory: " + ftp.pwd + "/" + file
46
+ ftp.rmdir(file)
47
+ else
48
+ puts "Deleting: " + ftp.pwd + "/" + file
49
+ ftp.delete file
50
+ end
51
+ end
52
+ end
53
+
54
+ class Jekyll
55
+ $jekyll = Jekyll.new()
56
+
57
+ def initialize()
58
+ nil
59
+ end
60
+
61
+ def exists()
62
+ @jekyll_version = %x( jekyll -version )
63
+
64
+ if @jekyll_version[1] = "j"
65
+ nil
66
+ else
67
+ %x( gem install jekyll )
68
+ end
69
+ end
70
+
71
+ def new_site(name)
72
+ exists()
73
+ %x( jekyll new #{name} )
74
+ puts "Site created."
75
+ end
76
+
77
+ def deploy()
78
+
79
+ # Declare Instance Variables
80
+ config = YAML.load(File.read(ARGV[1]))
81
+
82
+ @ftp_server = config['server']
83
+ @username = config['username']
84
+ @password = config['password']
85
+ @remote_dir = config['remote_dir']
86
+ @local_dir = config['local_dir']
87
+
88
+ # Initialize FTP
89
+ ftp = Net::FTP.new(@ftp_server);
90
+ ftp.login(@username, @password)
91
+ ftp.chdir(@remote_dir)
92
+
93
+ clean_ftp(ftp)
94
+
95
+ mirror @local_dir, ftp
96
+
97
+ ftp.quit
98
+ end
99
+
100
+ def help()
101
+ command2 = ARGV[1]
102
+ case command2
103
+ when "deploy"
104
+ puts "Build Jekyll site and deploy via FTP."
105
+ puts "Usage: hyde deploy _config.yml"
106
+ when "new_site"
107
+ puts "Create a new Jekyll site."
108
+ puts "Usage: hyde new site_name"
109
+ else
110
+ puts "Commands:"
111
+ puts " deploy\n new_site"
112
+ end
113
+ end
114
+ end
115
+
116
+ command1 = ARGV[0]
117
+ case command1
118
+ when "deploy"
119
+ $jekyll.deploy
120
+ when "new_site"
121
+ $jekyll.new_site
122
+ when "help"
123
+ $jekyll.help
124
+ when "list"
125
+ %x( hyde help )
126
+ else
127
+ puts "You didn't give me a command.\nRun 'hyde help' to see a command list."
128
+ end
129
+
data/hyde-ftp.gemspec CHANGED
@@ -4,9 +4,9 @@ Gem::Specification.new do |s|
4
4
  s.rubygems_version = '1.3.5'
5
5
 
6
6
  s.name = 'hyde-ftp'
7
- s.version = '0.1.1'
7
+ s.version = '0.1.2'
8
8
  s.license = 'MIT'
9
- s.date = '2013-09-12'
9
+ s.date = '2013-06-11'
10
10
 
11
11
  s.summary = "Jekyll deployment using FTP."
12
12
  s.description = "Hyde is an addon to the amazing Jekyll that makes deploying with FTP easier."
@@ -25,7 +25,6 @@ Gem::Specification.new do |s|
25
25
  s.files = %w[
26
26
  bin/hyde
27
27
  lib/hyde.rb
28
- lib/hyde/ftp-transfer.rb
29
28
  CHANGELOG
30
29
  LICENSE
31
30
  README.md
data/lib/hyde.rb CHANGED
@@ -5,6 +5,50 @@ require 'net/ftp'
5
5
  require 'yaml'
6
6
  require 'lib/hyde/ftp-transfer.rb'
7
7
 
8
+ def mirror(path, ftp, initial_path = nil)
9
+ initial_path ||= path
10
+ Dir.entries(path).each do |file|
11
+ next if ['.', '..'].include? file
12
+
13
+ file_path = path + '/' + file
14
+ short_file_path = file_path[initial_path.length, file_path.length]
15
+ if File.directory?(file_path)
16
+ ftp.mkdir(file) unless ftp.nlst.index(file)
17
+ ftp.chdir(file)
18
+ mirror(file_path, ftp, initial_path)
19
+ ftp.chdir('..')
20
+ else
21
+ puts "Deploying: " + short_file_path
22
+ puts " To: " + ftp.pwd + '/' + file
23
+ ftp.putbinaryfile(path + '/' + file, file)
24
+ end
25
+ end
26
+ end
27
+
28
+ def ftp_directory?(ftp, file_name)
29
+ ftp.chdir(file_name)
30
+ ftp.chdir('..')
31
+ true
32
+ rescue
33
+ false
34
+ end
35
+
36
+ def clean_ftp(ftp)
37
+ ftp.nlst.each do |file|
38
+ next if ['.', '..', 'bup', 'backup'].include? file
39
+ if ftp_directory? ftp, file
40
+ ftp.chdir file
41
+ clean_ftp(ftp)
42
+ ftp.chdir '..'
43
+ puts "Deleting directory: " + ftp.pwd + "/" + file
44
+ ftp.rmdir(file)
45
+ else
46
+ puts "Deleting: " + ftp.pwd + "/" + file
47
+ ftp.delete file
48
+ end
49
+ end
50
+ end
51
+
8
52
  class Jekyll
9
53
  $jekyll = Jekyll.new()
10
54
 
@@ -79,4 +123,5 @@ when "list"
79
123
  %x( hyde help )
80
124
  else
81
125
  puts "You didn't give me a command.\nRun 'hyde help' to see a command list."
82
- end
126
+ end
127
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyde-ftp
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jesse Herrick
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-09-12 00:00:00 Z
18
+ date: 2013-06-11 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: jekyll
@@ -43,7 +43,6 @@ extra_rdoc_files: []
43
43
  files:
44
44
  - bin/hyde
45
45
  - lib/hyde.rb
46
- - lib/hyde/ftp-transfer.rb
47
46
  - CHANGELOG
48
47
  - LICENSE
49
48
  - README.md
@@ -1,43 +0,0 @@
1
- def mirror(path, ftp, initial_path = nil)
2
- initial_path ||= path
3
- Dir.entries(path).each do |file|
4
- next if ['.', '..'].include? file
5
-
6
- file_path = path + '/' + file
7
- short_file_path = file_path[initial_path.length, file_path.length]
8
- if File.directory?(file_path)
9
- ftp.mkdir(file) unless ftp.nlst.index(file)
10
- ftp.chdir(file)
11
- mirror(file_path, ftp, initial_path)
12
- ftp.chdir('..')
13
- else
14
- puts "Deploying: " + short_file_path
15
- puts " To: " + ftp.pwd + '/' + file
16
- ftp.putbinaryfile(path + '/' + file, file)
17
- end
18
- end
19
- end
20
-
21
- def ftp_directory?(ftp, file_name)
22
- ftp.chdir(file_name)
23
- ftp.chdir('..')
24
- true
25
- rescue
26
- false
27
- end
28
-
29
- def clean_ftp(ftp)
30
- ftp.nlst.each do |file|
31
- next if ['.', '..', 'bup', 'backup'].include? file
32
- if ftp_directory? ftp, file
33
- ftp.chdir file
34
- clean_ftp(ftp)
35
- ftp.chdir '..'
36
- puts "Deleting directory: " + ftp.pwd + "/" + file
37
- ftp.rmdir(file)
38
- else
39
- puts "Deleting: " + ftp.pwd + "/" + file
40
- ftp.delete file
41
- end
42
- end
43
- end