hector 1.0.0 → 1.0.1

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/hector ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ commands = Dir[File.dirname(__FILE__) + "/hector-*"].map { |filename| filename[/-([^\/]*)$/, 1] }.sort
4
+ command = ARGV[0]
5
+
6
+ if commands.include?(command)
7
+ exec(File.dirname(__FILE__) + "/hector-#{command}", *ARGV[1..-1])
8
+ else
9
+ $stderr.puts "usage: hector <#{commands.join(" | ")}> ..."
10
+ exit 1
11
+ end
data/bin/hector-daemon ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "hector/boot"
4
+ Hector.start
5
+
6
+ if fork
7
+ exec "tail -n 0 -f #{Hector.root.join("log/hector.log")}"
8
+ else
9
+ sleep 0.01
10
+ EventMachine.run do
11
+ Hector.start_server
12
+ end
13
+ Process.wait
14
+ end
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "hector/boot"
4
+ Hector.start
5
+
6
+ def read_password
7
+ `stty -echo`
8
+ $stderr.print "Enter password: "
9
+ $stdin.gets.chomp
10
+ ensure
11
+ $stderr.print "\n"
12
+ `stty echo`
13
+ end
14
+
15
+ command, username, password = ARGV[0], ARGV[1], ARGV[2]
16
+ command = nil unless username
17
+
18
+ case command
19
+ when "authenticate"
20
+ exit Hector::Identity.adapter.authenticate(username, password || read_password) ? 0 : -1
21
+
22
+ when "remember"
23
+ Hector::Identity.adapter.remember(username, password || read_password)
24
+
25
+ when "forget"
26
+ Hector::Identity.adapter.forget(username)
27
+
28
+ else
29
+ $stderr.puts "usage: hector identity authenticate <username> [password]"
30
+ $stderr.puts " hector identity remember <username> [password]"
31
+ $stderr.puts " hector identity forget <username>"
32
+ exit 1
33
+ end
34
+
data/bin/hector-setup ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "hector/boot"
4
+ require "fileutils"
5
+
6
+ include FileUtils::Verbose
7
+
8
+ def setup(name)
9
+ path = Pathname.new("#{name.gsub(/\.hect$/, "")}.hect")
10
+ mkdir_p path
11
+
12
+ mkdir_p path.join("config")
13
+ touch path.join("config/identities.yml")
14
+ mkdir_p path.join("log")
15
+ touch path.join("log/hector.log")
16
+
17
+ unless File.exist?(path.join("init.rb"))
18
+ File.open(path.join("init.rb"), "w") do |f|
19
+ f.puts <<-EOS
20
+ Hector.server_name = #{"#{name}.irc".inspect}
21
+ EOS
22
+ end
23
+ end
24
+ end
25
+
26
+ if name = ARGV[0]
27
+ setup name
28
+ else
29
+ $stderr.puts "usage: hector setup <name>"
30
+ exit 1
31
+ end
@@ -1,3 +1,3 @@
1
1
  module Hector
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hector
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 0
10
- version: 1.0.0
9
+ - 1
10
+ version: 1.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sam Stephenson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-04 00:00:00 -06:00
18
+ date: 2011-01-23 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -53,8 +53,11 @@ dependencies:
53
53
  description: A private group chat server for people you trust. Implements a limited subset of the IRC protocol.
54
54
  email:
55
55
  - sstephenson@gmail.com
56
- executables: []
57
-
56
+ executables:
57
+ - hector
58
+ - hector-daemon
59
+ - hector-identity
60
+ - hector-setup
58
61
  extensions: []
59
62
 
60
63
  extra_rdoc_files: []
@@ -95,6 +98,10 @@ files:
95
98
  - lib/hector/version.rb
96
99
  - lib/hector/yaml_identity_adapter.rb
97
100
  - lib/hector.rb
101
+ - bin/hector
102
+ - bin/hector-daemon
103
+ - bin/hector-identity
104
+ - bin/hector-setup
98
105
  has_rdoc: true
99
106
  homepage: http://github.com/sstephenson/hector
100
107
  licenses: []