glynn 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/glynn +19 -9
- data/lib/glynn/ftp.rb +12 -3
- data/lib/glynn/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8392284c1b29c23af2b8d6d5d9438afe6c0c7ee
|
4
|
+
data.tar.gz: 4f5c215bd533659209b1f91841953c0fad15c4c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f58e78373d9f384b5ac5294fbc5768acd32b6dc334f67a54521248b927103923f08cef820cbce39571bffcd214814f0cbe2a0c756a39184df9b5f923451bbb18
|
7
|
+
data.tar.gz: 4b310a8b9e9587c45b94c3d19b573c63320d7426b6a86d9a28f3311cfb90fd3746db69b4a12012238eadcb60d69834221df7825d9e3e0268786a01556a5db4fb
|
data/bin/glynn
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
require 'rubygems'
|
3
3
|
require 'jekyll'
|
4
4
|
require 'glynn'
|
5
|
+
require 'io/console'
|
5
6
|
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
6
7
|
|
7
8
|
|
@@ -19,16 +20,22 @@ case ARGV.size
|
|
19
20
|
options['ftp_username'] = ARGV[2]
|
20
21
|
options['ftp_password'] = ARGV[3]
|
21
22
|
end
|
22
|
-
options
|
23
|
-
ftp_port
|
24
|
-
passive
|
23
|
+
options = Jekyll.configuration(options)
|
24
|
+
ftp_port = (options['ftp_port'] || 21).to_i
|
25
|
+
passive = options['ftp_passive'] || true
|
26
|
+
ftp_secure = options['ftp_secure'] || false
|
27
|
+
|
28
|
+
# If _glynn.yml exists, load and merge these options
|
29
|
+
if File.file?('_glynn.yml')
|
30
|
+
options = options.merge(YAML.load_file('_glynn.yml'))
|
31
|
+
end
|
25
32
|
|
26
33
|
puts "Building site: #{options['source']} -> #{options['destination']}"
|
27
34
|
jekyll = Glynn::Jekyll.new
|
28
35
|
jekyll.build
|
29
36
|
puts "Successfully generated site"
|
30
37
|
|
31
|
-
puts "Sending site over FTP (host: #{options['ftp_host']}, port: #{ftp_port})"
|
38
|
+
puts "Sending site over FTP (host: #{options['ftp_host']}, port: #{ftp_port}, ftps: #{ftp_secure})"
|
32
39
|
begin
|
33
40
|
if options['ftp_username'].nil?
|
34
41
|
print "FTP Username: "
|
@@ -39,10 +46,8 @@ begin
|
|
39
46
|
|
40
47
|
if options['ftp_password'].nil?
|
41
48
|
print "FTP Password: "
|
42
|
-
#
|
43
|
-
|
44
|
-
password = $stdin.gets.chomp
|
45
|
-
system "stty echo"
|
49
|
+
# Get the password without echoing characters
|
50
|
+
password = $stdin.noecho(&:gets).chomp
|
46
51
|
else
|
47
52
|
password = options['ftp_password']
|
48
53
|
end
|
@@ -53,7 +58,12 @@ rescue NoMethodError, Interrupt
|
|
53
58
|
exit
|
54
59
|
end
|
55
60
|
|
56
|
-
ftp = Glynn::Ftp.new(options['ftp_host'], ftp_port, {
|
61
|
+
ftp = Glynn::Ftp.new(options['ftp_host'], ftp_port, {
|
62
|
+
:username => username,
|
63
|
+
:password => password,
|
64
|
+
:passive => passive,
|
65
|
+
:secure => ftp_secure
|
66
|
+
})
|
57
67
|
puts "\r\nConnected to server. Sending site"
|
58
68
|
ftp.sync(options['destination'], options['ftp_dir'])
|
59
69
|
puts "Successfully sent site"
|
data/lib/glynn/ftp.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
require 'net/ftp'
|
2
|
+
require 'double_bag_ftps'
|
2
3
|
|
3
4
|
module Glynn
|
4
5
|
class Ftp
|
5
|
-
attr_reader :host, :port, :username, :password, :passive
|
6
|
+
attr_reader :host, :port, :username, :password, :passive, :secure
|
6
7
|
|
7
8
|
def initialize(host, port = 21, options = Hash.new)
|
8
9
|
options = {:username => nil, :password => nil}.merge(options)
|
9
10
|
@host, @port = host, port
|
10
11
|
@username, @password = options[:username], options[:password]
|
11
|
-
@passive = options[:passive]
|
12
|
+
@passive, @secure = options[:passive], options[:secure]
|
12
13
|
end
|
13
14
|
|
14
15
|
def sync(local, distant)
|
@@ -19,7 +20,7 @@ module Glynn
|
|
19
20
|
|
20
21
|
private
|
21
22
|
def connect
|
22
|
-
|
23
|
+
ftp_klass.open(host) do |ftp|
|
23
24
|
ftp.passive = @passive
|
24
25
|
ftp.connect(host, port)
|
25
26
|
ftp.login(username, password)
|
@@ -27,6 +28,14 @@ module Glynn
|
|
27
28
|
end
|
28
29
|
end
|
29
30
|
|
31
|
+
def ftp_klass
|
32
|
+
if secure
|
33
|
+
DoubleBagFTPS
|
34
|
+
else
|
35
|
+
Net::FTP
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
30
39
|
def send_dir(ftp, local, distant)
|
31
40
|
begin
|
32
41
|
ftp.mkdir(distant)
|
data/lib/glynn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glynn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Damien MATHIEU
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: double-bag-ftps
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.1.2
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.1.2
|
55
69
|
description: Deploy a jekyll weblog through ftp
|
56
70
|
email: 42@dmathieu.com
|
57
71
|
executables:
|
@@ -85,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
99
|
version: '0'
|
86
100
|
requirements: []
|
87
101
|
rubyforge_project:
|
88
|
-
rubygems_version: 2.
|
102
|
+
rubygems_version: 2.4.5
|
89
103
|
signing_key:
|
90
104
|
specification_version: 4
|
91
105
|
summary: Deploy a jekyll weblog through ftp
|