iniquity 0.0.9 → 0.0.10

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/iniquity +5 -5
  3. data/bin/ipm +63 -18
  4. metadata +3 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e63fce9eab662f58f524d3ff682798833b1febd4978b0f9f01a5ddbcb6e5ff74
4
- data.tar.gz: c581da51911119662d9f60fbe64677d0b6259671364b65faf7338aa88e2ca3dd
3
+ metadata.gz: 237ae3f5509308968278b3ffd3771ca323882eb5d874f3cd79e5ce167c0070fb
4
+ data.tar.gz: 541843f9fcd074224f85e4b25f0ea6cd675791c4dee0ccc7b36e4094b7eb2562
5
5
  SHA512:
6
- metadata.gz: 502a77652db94aa21b29f02506ec00cd0d0a94d3a1fef7b8898eab780a466eb1d66233088e4a3f7d076996c4b13547de83537d2017f63ef8b49d0262a2859b5d
7
- data.tar.gz: 8c9c30b023a5f4f097e76d97481f0af9b70da73cdbb0a745bf79e45acda4b5d5320892a7c5e7969ab4884eacb1f2ea7585601fdcd25dfd7546d3e959ada78666
6
+ metadata.gz: e5dbc92156a2a3a1e6d93a2b8cb2d8ac50b3eb6ab55347454e7bf6d650cd16595afb8068062fd0976d0ba1d3dc52dfce1a172639e65787b8fcd0168ef4c8ac9f
7
+ data.tar.gz: 3bf9c1af730875f6bfb4bfac1d47e571fc04de29080197fabe67239b7bf3a7f7f992039de290efc3b387ef06f8d08427e00983e801b7bbc271a534adf3fd7fab
data/bin/iniquity CHANGED
@@ -19,6 +19,8 @@
19
19
  # t h e i n i q u i t y b u l l e t i n b o a r d s y s t e m
20
20
  #==============================================================================
21
21
 
22
+ trap("INT") {exit}
23
+
22
24
  SYSTEM = ENV["INIQUITY_SYSTEM"] || Dir.pwd
23
25
  ENV["INIQUITY_SYSTEM"] = SYSTEM
24
26
 
@@ -30,12 +32,12 @@ class Telnet < EM::Connection
30
32
 
31
33
  def initialize
32
34
  super
33
- send_data "\nIniquity BBS 0.0.9 - Telnet/UTF_8\n"
35
+ send_data "\nIniquity BBS 0.0.10 - Telnet/UTF_8\n"
34
36
  end
35
37
 
36
38
  def post_init
37
39
 
38
- puts "-- Someone connected to Iniquity..."
40
+ puts "iniquity - Someone connected to Iniquity..."
39
41
 
40
42
  #IO.readlines("./modules/welcome.ans").each do |line|
41
43
  # send_data line.force_encoding(Encoding::IBM437).encode(Encoding::UTF_8)
@@ -54,7 +56,7 @@ class Telnet < EM::Connection
54
56
  end
55
57
 
56
58
  def unbind
57
- puts "-- Someone disconnected from Iniquity..."
59
+ puts "iniquity - Someone disconnected from Iniquity..."
58
60
  end
59
61
  end
60
62
 
@@ -137,5 +139,3 @@ EM.run do
137
139
  end
138
140
  end
139
141
  end
140
-
141
- trap("INT") {exit}
data/bin/ipm CHANGED
@@ -19,18 +19,20 @@
19
19
  # t h e i n i q u i t y p a c k a g e m a n a g e r
20
20
  #==============================================================================
21
21
 
22
+ trap("INT") {exit}
23
+
22
24
  SYSTEM = ENV["INIQUITY_SYSTEM"] || Dir.pwd
23
25
  ENV["INIQUITY_SYSTEM"] = SYSTEM
24
26
 
25
27
  require "inifile"
26
28
  require "github_api"
27
29
  require "highline"
28
- require 'net/http'
30
+ require "open-uri"
29
31
  require "zip"
30
32
 
31
33
  puts "\nipm - The Iniquity Package Manager.\n\n"
32
34
 
33
- # If "init" passed...
35
+ # If "init" passed.
34
36
  if ARGV[0] && ARGV[0] == "init"
35
37
  new_system_file = File.new(SYSTEM + "/iniquity.ini", "w")
36
38
  new_system_file.puts "[profile]\nname=NewBBS\n"
@@ -46,7 +48,7 @@ else
46
48
  end
47
49
 
48
50
  # Find all available ipm packages across all sources...
49
- packages = []
51
+ available_packages = []
50
52
 
51
53
  if CONFIG["ipm"]["sources"]
52
54
  CONFIG["ipm"]["sources"].split(",").each do |source|
@@ -55,28 +57,46 @@ if CONFIG["ipm"]["sources"]
55
57
 
56
58
  repositories.each do |pkg|
57
59
  if pkg.name.match(/^ip/)
58
- packages.push(pkg)
60
+ available_packages.push(pkg)
59
61
  end
60
62
  end
61
63
  end
62
64
  end
63
65
 
64
- # If "install" passed
66
+ installed_packages = []
67
+
68
+ Dir.chdir SYSTEM
69
+ Dir.glob('*').select { |pkg|
70
+ if File.directory? pkg
71
+ installed_packages.push pkg
72
+ end
73
+ }
74
+
75
+ # If "install" passed.
65
76
  if ARGV[0] && ARGV[0] == "install"
66
77
 
67
78
  ARGV.shift
68
79
 
69
80
  if ARGV[0]
70
81
  ARGV.each do |install|
71
- packages.each do |ipm|
82
+ available_packages.each do |ipm|
72
83
 
73
84
  if install == ipm.name
74
- Net::HTTP.start("github.com") do |http|
75
- response = http.get("/#{ipm.full_name}/archive/master.zip")
76
- installed = File.new("#{ipm.name}.zip", "w")
77
- installed.print(response.body)
78
- installed.close
85
+ next if Dir.exists? SYSTEM + "/#{ipm.name}"
86
+
87
+ # Need to wrap this sequence in a try/catch of some kind...
88
+
89
+ download = open("https://github.com/#{ipm.full_name}/archive/master.zip")
90
+ IO.copy_stream(download, SYSTEM + "/#{ipm.name}.zip")
91
+
92
+ Zip::File.open(SYSTEM + "/#{ipm.name}.zip") do |zip_file|
93
+ zip_file.each do |entry|
94
+ entry.extract(SYSTEM + "/#{entry.name}")
95
+ end
79
96
  end
97
+
98
+ FileUtils.mv SYSTEM + "/#{ipm.name}-master", SYSTEM + "/#{ipm.name}"
99
+ FileUtils.rm SYSTEM + "/#{ipm.name}.zip"
80
100
  puts "ipm - Installed #{ipm.name}\n\n"
81
101
  end
82
102
  end
@@ -86,12 +106,37 @@ if ARGV[0] && ARGV[0] == "install"
86
106
  end
87
107
  end
88
108
 
89
- # If no options dipslay the list of packages...
109
+ # If "uninstall" passed.
110
+ if ARGV[0] && ARGV[0] == "uninstall"
111
+
112
+ #ARGV.shift
113
+
114
+ if ARGV[0]
115
+ ARGV.each do |uninstall|
116
+ abort "ipm - Sorry, uninstall doesn't work yet.\n\n"
117
+ end
118
+ end
119
+ end
120
+
121
+ # If no options passed.
90
122
  unless ARGV[0]
91
- packages.each do |ipm|
92
- puts ipm.name
93
- puts ipm.description
94
- puts "https://github.com/#{ipm.full_name}/archive/master.zip"
95
- puts ""
123
+
124
+ if available_packages.length > 0
125
+ puts "ipm - Packages available for installation.\n\n"
126
+
127
+ available_packages.each do |ipm|
128
+ puts ipm.name
129
+ puts ipm.description
130
+ #puts "https://github.com/#{ipm.full_name}/archive/master.zip"
131
+ puts ""
132
+ end
96
133
  end
97
- end
134
+
135
+ if installed_packages.length > 0
136
+ puts "ipm - Packages currently installed.\n\n"
137
+
138
+ installed_packages.each do |ipm|
139
+ puts ipm
140
+ end
141
+ end
142
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iniquity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Stephenson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-05 00:00:00.000000000 Z
11
+ date: 2017-11-06 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A re-imagining of the iconic BBS software.
14
14
  email: ispyhumanfly@gmail.com
@@ -28,8 +28,7 @@ metadata:
28
28
  post_install_message:
29
29
  rdoc_options: []
30
30
  require_paths:
31
- - "./examples"
32
- - "./docs"
31
+ - "./doc"
33
32
  required_ruby_version: !ruby/object:Gem::Requirement
34
33
  requirements:
35
34
  - - ">="