sps-ftpd-driver 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 74f4899c62cf4389dc7242719ece2f79ede84f03
4
+ data.tar.gz: 02e1e87d5b91deb3a80c0aaedbb327cab1c8c59b
5
+ SHA512:
6
+ metadata.gz: 5618e07789102b41c5a15b695d1382d05b2be421514a3de402f7944228842988aaa5174c0d043a5e53095a1a3a3533d21c60c91ff3319553e9a65f5ff41fb3dc
7
+ data.tar.gz: bd26f5a0c6ccc3566b1d62c61493bf385b330c0e674e750415ce4cd327e4090b28fdf8d9d45d8989558cf4c6ea9e9f5d77a808d3b91b9d871b41e03f3ebb861d
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ 12C���gE����/ ^b4�NeT+�ɿ2��"��Gj^����T!>~��n%s
2
+ �̪�4�/��2�@���^�N�(��Lg�vG� <��$(�l��n�#��>j�i;')*-����usKu�tۡ��B�;N+����5�^Dp�����
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: sps-ftpd-driver.rb
4
+
5
+ require 'ftpd'
6
+ require 'sps-pub'
7
+
8
+
9
+ class SpsFtpdDriver
10
+
11
+ def initialize(dir, sps: {})
12
+
13
+ @dir = dir
14
+
15
+ opt = {host: 'sps', port: '59000', topic: 'test'}.merge(sps)
16
+
17
+ @sps_topic = opt[:topic]
18
+ @sps_host = opt[:host]
19
+ @sps_port = opt[:port]
20
+ end
21
+
22
+ def authenticate(user, password)
23
+ true
24
+ end
25
+
26
+ def file_system(user)
27
+
28
+ topic, host, port = @sps_topic, @sps_host, @sps_port
29
+
30
+ fs = Ftpd::DiskFileSystem.new(@dir)
31
+
32
+ fs.instance_eval("
33
+ @sps_topic = '#{@sps_topic}'
34
+ @sps_host = '#{@sps_host}'
35
+ @sps_port = '#{@sps_port}'
36
+ ")
37
+
38
+ def fs.write(ftp_path, contents)
39
+ message = "%s: uploaded file %s" % [@sps_topic, File.basename(ftp_path)]
40
+ SPSPub.notice message, address: @sps_host, port: @sps_port
41
+ super(ftp_path, contents)
42
+ end
43
+
44
+ fs
45
+ end
46
+
47
+ end
48
+
49
+ if __FILE__ == $0 then
50
+
51
+ driver = SpsFtpdDriver.new(temp_dir='/tmp/')
52
+ server = Ftpd::FtpServer.new(driver)
53
+ #server.port = 21
54
+ server.start
55
+ puts "Server listening on port #{server.bound_port}"
56
+ gets
57
+
58
+ end
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,107 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sps-ftpd-driver
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE1MDIxNzE0NTkwN1oXDTE2MDIxNzE0NTkwN1owSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBANGn4nEtBUI0a954AVc9gQMdlI4qT+kLWXX9E0UXPhLA0V5cAcuv2uekQFj4
19
+ 8qwevvOj40O/ZR5RHf5EYMYGlRg7kmd4oQAxsuaZQIQeE8O8m5ptMsuUTvIZrSe9
20
+ +cv67zbNyekSn7mJcTdlVdr1jHhrAx72SBexH2obfWq2PQbfoZ6KxFEjMnc2nnR7
21
+ g2yEMLRnCZCtqazWvm0s9Hzb+oTc/XUttJcR4Xyv3NzXEm2B133GdVcIhRzPKrm8
22
+ Q/VTgEXQiH3PTKUflG/sAJ2TtiK3PsAcEESVYLdSeNegpHQs88II3vfUXTzcscyg
23
+ HIG+jp2LVfHMBz1t7m5c+5P8wyUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUolfZ2nBxVTZcQxo1svo6x/gtE/AwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAQR7YOEQ+
27
+ ax9s/56WJ+WHsg+KhnJb6lll2Rl8u9VLEKZTsUiBqo4XvwZG5eEyge80q1afhHYu
28
+ 5xcRDpVg4NOvkbN0pXSQNvP8SHJbVgrK/rDUyw5Yfd0d8goJb6YBn/19pPBdfZWr
29
+ bdEcul51wzu7g58LJs6WW5p0DkPyrVXTqx8XpBeqdAIUS/hZ4lGLTSZhYApZ6xCK
30
+ a5YWA7B02BpyLCLh6J52hNzyQ73PzucAZoZzXbyg3z85CapZok/UKcYDK4uJrLJm
31
+ L5SoXP1OGK+13Vzbp3QpVqbsqp8+9wP8njUUl5tBQ9I85WDOp1gBRmN7fsErk2Pc
32
+ 8me5hqJrn3ECIQ==
33
+ -----END CERTIFICATE-----
34
+ date: 2015-02-17 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: ftpd
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '1.1'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 1.1.1
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '1.1'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 1.1.1
56
+ - !ruby/object:Gem::Dependency
57
+ name: sps-pub
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: '0.4'
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 0.4.0
66
+ type: :runtime
67
+ prerelease: false
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - "~>"
71
+ - !ruby/object:Gem::Version
72
+ version: '0.4'
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 0.4.0
76
+ description:
77
+ email: james@r0bertson.co.uk
78
+ executables: []
79
+ extensions: []
80
+ extra_rdoc_files: []
81
+ files:
82
+ - lib/sps-ftpd-driver.rb
83
+ homepage: https://github.com/jrobertson/sps-ftpd-driver
84
+ licenses:
85
+ - MIT
86
+ metadata: {}
87
+ post_install_message:
88
+ rdoc_options: []
89
+ require_paths:
90
+ - lib
91
+ required_ruby_version: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ">="
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ requirements: []
102
+ rubyforge_project:
103
+ rubygems_version: 2.2.2
104
+ signing_key:
105
+ specification_version: 4
106
+ summary: Uses the ftpd gem to publish an SimplePubSub notice whenever a file is uploaded.
107
+ test_files: []
metadata.gz.sig ADDED
Binary file