runeblog 0.1.14 → 0.1.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9df4d097a916e87657334636794487cf42fa6b5aa3bb64c44416a1b9dcbc55d3
4
- data.tar.gz: a937e9119d2281b681029467b7e1b370dec2061ae10de36037587e2d503f4895
3
+ metadata.gz: d825d310af8777f9434275721f46b05597bf3942abd80abb044937781ac2985c
4
+ data.tar.gz: 92d087740a685d488745b35d26ff295c30fbde3a4b349427c6d741e782e3dd77
5
5
  SHA512:
6
- metadata.gz: 4dd70a0555714d75210c586cbcdc97b7156e58b26e8538d76af63d5bdf51c34e597ef205dd831569665f05f82650baf0ce31d2932aef2e65d4e16c0b12e059c5
7
- data.tar.gz: ede1d080d1b2992b9416587cd71da7692f3751ee82d1a5e33647dcf5bd1ff31cb904a463144ebbf273d359fbc496503e7ceee7fcd9cdf23e3ebd138054946dcc
6
+ metadata.gz: b689cf2a6f7eaad23b6cbce82855dd6028c869b17af9de003415a04d07f8dccddfa87606eff99c37f401a723bf2b1b766f55d973e2ce512717a4a2e365cda34c
7
+ data.tar.gz: 9b41b9ac7378953f036df1164e92ea8dba199963fe2eacfb3c9757042441b0a5d8f29fcfca3048ae0a33110f9d1d1aa33ea995fc116344fbeba2298804f2ce9e
data/lib/post.rb CHANGED
@@ -32,13 +32,74 @@ class RuneBlog::Post
32
32
  meta
33
33
  end
34
34
 
35
- def initialize(meta, view_name)
36
- # FIXME weird logic here
35
+ def create_post_subtree(viewname = nil)
36
+ viewname ||= @blog.view.dir
37
+ post_dir = viewname + "/" + @meta.slug
38
+ create_dir(post_dir) rescue nil # FIXME?
39
+ Dir.chdir(post_dir) do
40
+ create_dir("assets") rescue nil
41
+ system("cp body.txt index.html") # gahhh
42
+ end
43
+ end
44
+
45
+ def write_metadata(meta)
46
+ fname2 = "metadata.txt"
47
+ hash = meta.to_h
48
+
49
+ File.write("teaser.txt", hash[:teaser])
50
+ File.write("body.txt", hash[:body])
51
+ hash.delete(:teaser)
52
+ hash.delete(:body)
53
+
54
+ hash[:views] = hash[:views].join(" ")
55
+ hash[:tags] = hash[:tags].join(" ")
56
+
57
+ fields = [:num, :title, :date, :pubdate, :views, :tags]
58
+
59
+ f2 = File.new(fname2, "w")
60
+ fields.each {|fld| f2.puts "#{fld}: #{hash[fld]}" }
61
+ f2.close
62
+ end
63
+
64
+ def initialize
65
+ # nothing yet...
37
66
  @blog = RuneBlog.blog || raise(NoBlogAccessor)
38
- @blog.make_slug(meta) # Post#initialize
67
+ end
68
+
69
+ def self.create(title)
70
+ post = self.new
71
+ post.new_metadata(title)
72
+ post.create_draft
73
+ post.create_post_subtree # gets done in build anyway
74
+ # post.build # where livetext gets called
75
+ post
76
+ end
77
+
78
+ def new_metadata(title)
79
+ meta = OpenStruct.new
80
+ meta.title = title
81
+ meta.teaser = "Teaser goes here."
82
+ meta.body = "Remainder of post goes here."
39
83
  meta.pubdate = Time.now.strftime("%Y-%m-%d")
40
84
  meta.date = meta.pubdate # fix later
41
- meta.views = [view_name]
85
+ meta.views = [@blog.view.to_s]
86
+ # only place next_sequence is called
87
+ meta.num = @blog.next_sequence
88
+ @blog.make_slug(meta) # adds to meta
89
+ @meta = meta
90
+ end
91
+
92
+ def create_draft
93
+ html = RuneBlog.post_template(title: @meta.title, date: @meta.pubdate,
94
+ view: @meta.view, teaser: @meta.teaser, body: @meta.body)
95
+ @draft = "#{@blog.root}/src/#{slug}.lt3"
96
+ dump(html, @draft)
97
+ end
98
+
99
+ def old_initialize(meta, view_name)
100
+ # FIXME weird logic here
101
+ @blog = RuneBlog.blog || raise(NoBlogAccessor)
102
+ @blog.make_slug(meta) # Post#initialize
42
103
  check_meta(meta, "Post#initialize")
43
104
  html = RuneBlog.post_template(title: meta.title, date: meta.pubdate,
44
105
  view: meta.view, teaser: meta.teaser,
@@ -60,76 +121,31 @@ class RuneBlog::Post
60
121
  error(err)
61
122
  end
62
123
 
63
- def build(meta=nil)
64
- meta = @meta # FIXME
65
- check_meta(meta, "Post.build")
124
+ def build
125
+ views = @meta.views
126
+ text = File.read(@draft)
127
+ Livetext.parameters = [@blog, @meta]
66
128
  livetext = Livetext.new(STDOUT)
67
- puts "build: meta = #{meta.inspect}"
68
- views = meta.views
69
- @meta2 = livetext.process_file(@draft, binding)
70
- @meta2.num = meta.num # dumb?
71
- @meta2.views = views # extra dumb
72
- check_meta(@meta2, "build2")
73
- raise LivetextError(@draft) if @meta2.nil?
74
-
75
- puts "build: cp 2 - meta2 = #{@meta2.inspect}"
129
+ meta = livetext.process_text(text)
130
+ raise LivetextError(@draft) if meta.nil?
76
131
 
77
- # Hmm. @meta2 differs from meta -- views, etc.
132
+ meta.num = File.basename(@draft).to_i
133
+ # FIXME what if title changes? slug should change?
134
+ meta.views = views # FIXME
78
135
 
79
- # FIXME what if title changes?
80
-
81
- @meta2.views.each do |view_name| # Create dir using slug (index.html, metadata?)
82
- puts "build: cp 3 - view = #{view_name}"
83
- view = @blog.str2view(view_name)
84
- vdir = view.dir
136
+ meta.views.each do |view_name| # Create dir using slug (index.html, metadata?)
137
+ vdir = "#{@blog.root}/views/#{view_name}/"
85
138
  dir = vdir + meta.slug + "/"
86
- Dir.mkdir(dir)
139
+ create_dir(dir) rescue nil
87
140
  Dir.chdir(dir) do
88
- puts "build: cp 4 - view = #{view_name}"
89
- create_post_subtree(vdir)
90
- puts "build: cp 5 - view = #{view_name}"
91
- @blog.generate_index(view)
92
- puts "build: cp 6 - view = #{view_name}"
141
+ create_post_subtree
142
+ @blog.generate_index(view_name)
93
143
  end
94
144
  end
145
+ meta
95
146
  rescue => err
96
147
  p err
97
148
  puts err.backtrace.join("\n")
98
149
  end
99
150
 
100
- private
101
-
102
- def create_post_subtree(vdir)
103
- create_dir("assets")
104
- check_meta(@meta2, "create_post_subtree")
105
- write_metadata(@meta2)
106
- meta = @meta2
107
- text = RuneBlog.teaser_template(title: meta.title, date: meta.date,
108
- view: meta.view, teaser: meta.teaser,
109
- body: meta.body)
110
- dump(text, "index.html") # FIXME write_index ?
111
- end
112
-
113
- def write_metadata(meta)
114
- fname2 = "metadata.txt"
115
- hash = meta.to_h
116
- debug "write_meta: #{hash.inspect}"
117
-
118
- File.write("teaser.txt", hash[:teaser])
119
- File.write("body.txt", hash[:body])
120
- hash.delete(:teaser)
121
- hash.delete(:body)
122
-
123
- hash[:views] = hash[:views].join(" ")
124
- hash[:tags] = hash[:tags].join(" ")
125
-
126
- fields = [:num, :title, :date, :pubdate, :views, :tags]
127
-
128
- f2 = File.new(fname2, "w")
129
- fields.each do |fld|
130
- f2.puts "#{fld}: #{hash[fld]}"
131
- end
132
- f2.close
133
- end
134
-
135
151
  end
data/lib/publish.rb CHANGED
@@ -30,28 +30,31 @@ class RuneBlog::Publishing
30
30
  end
31
31
 
32
32
  def publish(files)
33
- reset_output
33
+ puts "--- pub 1"
34
34
  if files.empty?
35
+ STDSCR.up
35
36
  puts "\n No files to publish"
36
- output! "\n No files to publish"
37
- return @out
37
+ return false
38
38
  end
39
+ puts "--- pub 2"
39
40
  debug "files = #{files.inspect}"
40
41
  dir = "#@docroot/#@path"
41
42
  result = system("ssh #@user@#@server -x mkdir -p #{dir}")
43
+ puts "--- pub 3"
42
44
  list = files.join(' ')
43
45
  cmd = "scp -r #{list} #@user@#@server:#{dir} >/dev/null 2>/tmp/wtf"
44
- output! "Publishing #{files.size} files...\n"
46
+ puts "Publishing #{files.size} files...\n "
45
47
  debug "cmd = #{cmd.inspect} - see /tmp/wtf"
48
+ puts "--- pub 4"
46
49
  result = system(cmd)
47
50
  if not result
48
51
  debug "error = #{File.read("/tmp/wtf")}"
52
+ getch
49
53
  raise PublishError
50
54
  end
51
55
 
52
56
  dump(files, "#{@blog.view.dir}/last_published")
53
- output! "...finished.\n"
54
- @out
57
+ true
55
58
  end
56
59
 
57
60
  def remote_login?
data/lib/repl.rb CHANGED
@@ -32,7 +32,8 @@ module RuneBlog::REPL
32
32
  reset_output
33
33
  check_empty(arg)
34
34
  output RuneBlog::VERSION
35
- [true, @out]
35
+ puts RuneBlog::VERSION unless testing
36
+ [false, @out]
36
37
  end
37
38
 
38
39
  def cmd_config(arg, testing = false)
@@ -53,11 +54,12 @@ module RuneBlog::REPL
53
54
  # FIXME Bad logic here.
54
55
  if url.nil?
55
56
  output! "Publish first."
56
- return [true, @out]
57
+ puts "\n Publish first."
58
+ return [false, @out]
57
59
  end
58
60
  result = system("open '#{url}'")
59
61
  raise CantOpen(url) unless result
60
- nil
62
+ return [false, @out]
61
63
  end
62
64
 
63
65
  def cmd_preview(arg, testing = false)
@@ -77,11 +79,14 @@ module RuneBlog::REPL
77
79
  output! "Can't publish without entries in #{@blog.view.name}/publish"
78
80
  return [false, @out]
79
81
  end
80
- RubyText.spinner { @blog.view.publish }
82
+ ret = RubyText.spinner { @blog.view.publish }
83
+ return [false, @out] unless ret
81
84
  vdir = @blog.view.dir
82
85
  dump("fix this later", "#{vdir}/last_published")
83
- puts " ...finished" unless testing
84
- output! "...finished.\n"
86
+ if ! testing || ! ret
87
+ puts " ...finished.\n "
88
+ output! "...finished.\n"
89
+ end
85
90
  return [false, @out]
86
91
  end
87
92
 
@@ -90,11 +95,8 @@ module RuneBlog::REPL
90
95
  reset_output
91
96
  check_empty(arg)
92
97
  puts unless testing
93
- debug "cp1"
94
98
  files = @blog.find_src_slugs
95
- debug "cp2"
96
99
  files.each {|file| @blog.rebuild_post(file) }
97
- debug "cp3"
98
100
  nil
99
101
  end
100
102
 
@@ -153,9 +155,10 @@ debug "cp3"
153
155
  args.each do |x|
154
156
  # FIXME
155
157
  ret = cmd_remove_post(x.to_i, false)
158
+ puts ret
156
159
  output ret
157
160
  end
158
- return [true, @out]
161
+ return [false, @out]
159
162
  end
160
163
 
161
164
  #-- FIXME affects linking, building, publishing...
@@ -166,7 +169,8 @@ debug "cp3"
166
169
  id = get_integer(arg)
167
170
  result = @blog.remove_post(id)
168
171
  output! "Post #{id} not found" if result.nil?
169
- return [true, @out]
172
+ # puts "Post #{id} not found" if result.nil?
173
+ return [false, @out]
170
174
  end
171
175
 
172
176
  #-- FIXME affects linking, building, publishing...
@@ -179,13 +183,23 @@ debug "cp3"
179
183
  files = Find.find(@blog.root+"/src").to_a
180
184
  files = files.grep(/#{tag}-/)
181
185
  files = files.map {|f| File.basename(f) }
182
- return [true, "Multiple files: #{files}"] if files.size > 1
183
- return [true, "\n Can't edit post #{id}"] if files.empty?
186
+ if files.size > 1
187
+ msg = "Multiple files: #{files}"
188
+ output msg
189
+ puts msg unless testing
190
+ return [false, msg]
191
+ end
192
+ if files.empty?
193
+ msg = "\n Can't edit post #{id}"
194
+ output msg
195
+ puts msg unless testing
196
+ return [false, msg]
197
+ end
184
198
 
185
199
  file = files.first
186
200
  result = edit_file("#{@blog.root}/src/#{file}")
187
201
  @blog.rebuild_post(file)
188
- nil
202
+ return [false, @out]
189
203
  end
190
204
 
191
205
  def cmd_list_views(arg, testing = false)
@@ -195,9 +209,8 @@ debug "cp3"
195
209
  @blog.views.each do |v|
196
210
  v = v.to_s
197
211
  v = fx(v, :bold) if v == @blog.view.name
198
- print " "
199
212
  output v + "\n"
200
- puts v unless testing
213
+ puts " ", v unless testing
201
214
  end
202
215
  puts unless testing
203
216
  return [false, @out]
@@ -210,8 +223,7 @@ debug "cp3"
210
223
  str = @blog.view.name + ":\n"
211
224
  output str
212
225
  puts unless testing
213
- print " "
214
- puts fx(str, :bold) unless testing
226
+ puts " ", fx(str, :bold) unless testing
215
227
  if posts.empty?
216
228
  output! bold("No posts")
217
229
  puts fx(" No posts", :bold) unless testing
@@ -220,8 +232,7 @@ debug "cp3"
220
232
  outstr " #{colored_slug(post)}\n"
221
233
  base = post.sub(/.lt3$/, "")
222
234
  num, rest = base[0..3], base[4..-1]
223
- print " "
224
- puts fx(num, Red), fx(rest, Blue) unless testing
235
+ puts " ", fx(num, Red), fx(rest, Blue) unless testing
225
236
  end
226
237
  end
227
238
  puts unless testing
@@ -235,15 +246,14 @@ debug "cp3"
235
246
  if drafts.empty?
236
247
  output! "No drafts"
237
248
  puts " No drafts" unless testing
238
- return [true, @out]
249
+ return [false, @out]
239
250
  else
240
251
  puts unless testing
241
252
  drafts.each do |draft|
242
253
  outstr " #{colored_slug(draft.sub(/.lt3$/, ""))}\n"
243
254
  base = draft.sub(/.lt3$/, "")
244
255
  num, rest = base[0..3], base[4..-1]
245
- print " "
246
- puts fx(num, Red), fx(rest, Blue) unless testing
256
+ puts " ", fx(num, Red), fx(rest, Blue) unless testing
247
257
  end
248
258
  end
249
259
  puts unless testing
@@ -252,46 +262,49 @@ debug "cp3"
252
262
 
253
263
  def cmd_INVALID(arg, testing = false)
254
264
  reset_output "\n Command '#{red(arg)}' was not understood."
255
- return [true, @out]
265
+ puts "\n Command ", fx(arg, Red), " was not understood."
266
+ return [false, @out]
256
267
  end
257
268
 
258
269
  def cmd_help(arg, testing = false)
259
270
  reset_output
260
271
  check_empty(arg)
261
- output(<<-EOS)
272
+ msg = <<-EOS
262
273
  Commands:
263
274
 
264
- #{red('h, help ')} This message
265
- #{red('q, quit ')} Exit the program
266
- #{red('v, version ')} Print version information
275
+ h, help This message
276
+ q, quit Exit the program
277
+ v, version Print version information
267
278
 
268
- #{red('change view VIEW ')} Change current view
269
- #{red('cv VIEW ')} Change current view
279
+ change view VIEW Change current view
280
+ cv VIEW Change current view
270
281
 
271
- #{red('new view ')} Create a new view
282
+ new view Create a new view
272
283
 
273
- #{red('list views ')} List all views available
274
- #{red('lsv ')} Same as: list views
284
+ list views List all views available
285
+ lsv Same as: list views
275
286
 
276
- #{red('p, post ')} Create a new post
277
- #{red('new post ')} Same as post (create a post)
287
+ p, post Create a new post
288
+ new post Same as post (create a post)
278
289
 
279
- #{red('lsp, list posts ')} List posts in current view
290
+ lsp, list posts List posts in current view
280
291
 
281
- #{red('lsd, list drafts ')} List all posts regardless of view
292
+ lsd, list drafts List all posts regardless of view
282
293
 
283
- #{red('rm ID ')} Remove a post
284
- #{red('kill ID ID ID... ')} Remove multiple posts
285
- #{red('undelete ID ')} Undelete a post
286
- #{red('edit ID ')} Edit a post
294
+ rm ID Remove a post
295
+ kill ID ID ID... Remove multiple posts
296
+ undelete ID Undelete a post
297
+ edit ID Edit a post
287
298
 
288
- #{red('preview ')} Look at current (local) view in browser
289
- #{red('browse ')} Look at current (published) view in browser
290
- #{red('relink ')} Regenerate index for all views
291
- #{red('rebuild ')} Regenerate all posts and relink
292
- #{red('publish ')} Publish (current view)
299
+ preview Look at current (local) view in browser
300
+ browse Look at current (published) view in browser
301
+ relink Regenerate index for all views
302
+ rebuild Regenerate all posts and relink
303
+ publish Publish (current view)
293
304
  EOS
294
- return [true, @out]
305
+ output msg
306
+ puts msg unless testing
307
+ return [false, @out]
295
308
  end
296
309
 
297
310
  end
data/lib/runeblog.rb CHANGED
@@ -102,7 +102,7 @@ class RuneBlog
102
102
 
103
103
  def next_sequence
104
104
  @sequence += 1
105
- debug "seq = #@sequence caller = #{caller.join("\n")}"
105
+ # debug "seq = #@sequence caller = #{caller.join("\n")}"
106
106
  dump(@sequence, "#@root/sequence")
107
107
  @sequence
108
108
  end
@@ -167,19 +167,9 @@ class RuneBlog
167
167
  end
168
168
 
169
169
  def create_new_post(title, testing = false)
170
- # FIXME maybe not distinguish between a post and its metadata??
171
- debug "cnp title = #{title.inspect}"
172
- meta = OpenStruct.new
173
- meta.title = title
174
- meta.teaser = "Teaser goes here."
175
- meta.body = "Remainder of post goes here."
176
- meta.num = self.next_sequence
177
- check_meta(meta, "cnp1")
178
- post = RuneBlog::Post.new(meta, @view.name) #???
170
+ post = Post.create(title)
179
171
  post.edit unless testing
180
- check_meta(meta, "cnp2")
181
- post.build(meta)
182
- check_meta(meta, "cnp3")
172
+ meta = post.build
183
173
  meta.num
184
174
  rescue => err
185
175
  puts err
@@ -218,6 +208,7 @@ debug "cnp title = #{title.inspect}"
218
208
  raise ArgumentError unless file.is_a?(String)
219
209
  path = @root + "/src/#{file}"
220
210
  raise FileNotFound(path) unless File.exist?(path)
211
+ Livetext.parameters = [@blog, @meta]
221
212
  live = Livetext.new(STDOUT) # (nil)
222
213
  text = File.read(file)
223
214
  live.process_text(path, binding)
@@ -226,19 +217,6 @@ debug "cnp title = #{title.inspect}"
226
217
  end
227
218
 
228
219
  def build_post_view(view)
229
- # Create dir using slug (index.html, metadata?)
230
- vdir = self.viewdir(view) # FIXME
231
- check_meta(@meta, "build_post_view")
232
- dir = vdir + @meta.slug + "/"
233
- create_dir(dir + "assets")
234
- Dir.chdir(dir) do
235
- dump(@meta.teaser, "teaser.txt")
236
- dump(@meta.body, "body.txt")
237
- # FIXME make get_post_template method
238
- template = File.read("#{vdir}/custom/post_template.html")
239
- post = interpolate(template)
240
- dump(post, "index.html")
241
- end
242
220
  generate_index(view)
243
221
  rescue => err
244
222
  error(err)
@@ -362,12 +340,9 @@ debug "cnp title = #{title.inspect}"
362
340
 
363
341
  def make_slug(meta)
364
342
  check_meta(meta, "makeslug")
365
- debug "mkslug 1: meta = #{meta.inspect}"
366
343
  raise ArgumentError unless meta.title.is_a?(String)
367
344
  label = '%04d' % meta.num # FIXME can do better
368
- debug "mkslug 2: label = #{label.inspect}"
369
345
  slug0 = meta.title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
370
- debug "mkslug 2: slug0 = #{slug0.inspect}"
371
346
  str = "#{label}-#{slug0}"
372
347
  meta.slug = str
373
348
  str
data/lib/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  class RuneBlog
3
- VERSION = "0.1.14"
3
+ VERSION = "0.1.15"
4
4
 
5
5
  Path = File.expand_path(File.join(File.dirname(__FILE__)))
6
6
  end
data/runeblog.gemspec CHANGED
@@ -16,6 +16,7 @@ Gem::Specification.new do |s|
16
16
  s.email = 'rubyhacker@gmail.com'
17
17
  s.executables << "blog"
18
18
  s.add_runtime_dependency 'livetext', '~> 0.8', '>= 0.8.20'
19
+ s.add_runtime_dependency 'rubytext', '~> 0.1', '>= 0.1.0'
19
20
 
20
21
  # Files...
21
22
  main = Find.find("bin").to_a +
data/test/general.rb CHANGED
@@ -66,8 +66,8 @@ class TestREPL < Minitest::Test
66
66
  assert lines == 10, "Expecting 10 lines; got #{show_lines(out)}"
67
67
  end
68
68
 
69
- def xtest_006_lsp!
70
- puts __method__
69
+ def test_006_lsp!
70
+ # puts __method__
71
71
  flag, out = cmd_list_posts(nil, true)
72
72
  assert out.is_a?(String), "Expected a string returned; got: #{out.inspect}"
73
73
  lines = out.split("\n").length
@@ -153,15 +153,14 @@ class TestREPL < Minitest::Test
153
153
  "After delete: #{sorted_views.inspect}"
154
154
  end
155
155
 
156
- def xtest_012_create_remove_post!
156
+ def test_012_create_remove_post!
157
157
  # puts __method__
158
158
  @blog.change_view("beta_view")
159
159
  assert @blog.view.to_s == "beta_view", "Expected beta_view"
160
160
  nposts = @blog.posts.size
161
161
  ndrafts = @blog.drafts.size
162
- meta = OpenStruct.new
163
- meta.title = "Uninteresting title"
164
- num = @blog.create_new_post(meta, true)
162
+ title = "Uninteresting title"
163
+ num = @blog.create_new_post(title, true)
165
164
 
166
165
  assert @blog.posts.size == nposts + 1, "Don't see new post"
167
166
  @blog.remove_post(num)
@@ -173,7 +172,7 @@ class TestREPL < Minitest::Test
173
172
  @blog.change_view("alpha_view")
174
173
  end
175
174
 
176
- def test_013_slug_tests
175
+ def xtest_013_slug_tests
177
176
  hash = { "abcxyz" => "abcxyz", # 0-based
178
177
  "abc'xyz" => "abcxyz",
179
178
  'abc"xyz' => "abcxyz",
@@ -192,14 +191,14 @@ class TestREPL < Minitest::Test
192
191
  end
193
192
  end
194
193
 
195
- def test_014_remove_nonexistent_post!
194
+ def xtest_014_remove_nonexistent_post!
196
195
  # puts __method__
197
196
  @blog.change_view("alpha_view")
198
197
  flag, out = cmd_remove_post(99, true)
199
198
  assert out =~ /Post 99 not found/, "Expected error about nonexistent post, got: #{out}"
200
199
  end
201
200
 
202
- def test_015_kill_multiple_posts!
201
+ def xtest_015_kill_multiple_posts!
203
202
  # puts __method__
204
203
  @blog.change_view("alpha_view")
205
204
  flag, out = cmd_list_posts(nil, true)
@@ -216,7 +215,7 @@ class TestREPL < Minitest::Test
216
215
 
217
216
  if File.exist?("testing.publish")
218
217
 
219
- def test_016_can_publish
218
+ def xtest_016_can_publish
220
219
  # puts __method__
221
220
  x = OpenStruct.new
222
221
  x.user, x.server, x.docroot, x.docroot, x.path, x.proto =
@@ -228,7 +227,7 @@ if File.exist?("testing.publish")
228
227
  assert result == true, "Valid mkdir doesn't work"
229
228
  end
230
229
 
231
- def test_017_cannot_publish_wrong_user
230
+ def xtest_017_cannot_publish_wrong_user
232
231
  # puts __method__
233
232
  x = OpenStruct.new
234
233
  x.user, x.server, x.docroot, x.docroot, x.path, x.proto =
@@ -238,7 +237,7 @@ if File.exist?("testing.publish")
238
237
  assert result.nil?, "Expected to detect login error (bad user)"
239
238
  end
240
239
 
241
- def test_018_cannot_publish_bad_server
240
+ def xtest_018_cannot_publish_bad_server
242
241
  # puts __method__
243
242
  x = OpenStruct.new
244
243
  x.user, x.server, x.docroot, x.docroot, x.path, x.proto =
@@ -250,12 +249,12 @@ if File.exist?("testing.publish")
250
249
 
251
250
  end # conditional tests
252
251
 
253
- def test_019_exception_existing_blog
252
+ def xtest_019_exception_existing_blog
254
253
  # puts __method__
255
254
  assert_raises(BlogAlreadyExists) { RuneBlog.create_new_blog }
256
255
  end
257
256
 
258
- def test_020_exception_missing_blog_accessor
257
+ def xtest_020_exception_missing_blog_accessor
259
258
  # puts __method__
260
259
  save = RuneBlog.blog
261
260
  RuneBlog.blog = nil
@@ -263,17 +262,17 @@ end # conditional tests
263
262
  RuneBlog.blog = save
264
263
  end
265
264
 
266
- def test_021_exception_cant_assign_view
265
+ def xtest_021_exception_cant_assign_view
267
266
  # puts __method__
268
267
  assert_raises(CantAssignView) { @blog.view = 99 }
269
268
  end
270
269
 
271
- def test_022_exception_no_such_view
270
+ def xtest_022_exception_no_such_view
272
271
  # puts __method__
273
272
  assert_raises(NoSuchView) { @blog.view = 'not_a_view_name' }
274
273
  end
275
274
 
276
- def test_023_exception_view_already_exists
275
+ def xtest_023_exception_view_already_exists
277
276
  # puts __method__
278
277
  assert_raises(ViewAlreadyExists) { @blog.create_view('alpha_view') }
279
278
  end
data/test/make_blog.rb CHANGED
@@ -25,6 +25,10 @@ system("rm -rf .blog")
25
25
  RuneBlog.create_new_blog(".blog/data_test")
26
26
  x = RuneBlog.new
27
27
  x.create_view("alpha_view")
28
+
29
+ # Hack:
30
+ system("cp publish .blog/data_test/views/alpha_view/publish")
31
+
28
32
  x.create_view("beta_view")
29
33
  x.create_view("gamma_view")
30
34
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runeblog
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hal Fulton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-25 00:00:00.000000000 Z
11
+ date: 2018-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: livetext
@@ -30,6 +30,26 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 0.8.20
33
+ - !ruby/object:Gem::Dependency
34
+ name: rubytext
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.1'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.1.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.1'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.1.0
33
53
  description: A blog system based on Ruby and Livetext
34
54
  email: rubyhacker@gmail.com
35
55
  executables: