megalith 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/megalith/essentials.rb +1 -0
- data/lib/megalith/scheme.rb +13 -10
- data/lib/megalith/version.rb +1 -1
- metadata +3 -3
data/lib/megalith/essentials.rb
CHANGED
data/lib/megalith/scheme.rb
CHANGED
@@ -9,9 +9,10 @@ class Megalith
|
|
9
9
|
attr_reader :key
|
10
10
|
|
11
11
|
def initialize(base_url, log, key)
|
12
|
-
|
12
|
+
relative_log = (log < 1) ? fetch_subjects(base_url).size : log
|
13
|
+
@novel = fetch_novel(base_url, relative_log, key)
|
13
14
|
@base_url = base_url
|
14
|
-
@log =
|
15
|
+
@log = relative_log
|
15
16
|
@key = key
|
16
17
|
end
|
17
18
|
|
@@ -30,7 +31,7 @@ class Megalith
|
|
30
31
|
:aft => aft,
|
31
32
|
:author => Author.new(:name => meta[1], :email => meta[2], :website => meta[3]),
|
32
33
|
:tags => meta[12].split(/[\s ]/),
|
33
|
-
:log =>
|
34
|
+
:log => relative_log,
|
34
35
|
:key => key,
|
35
36
|
:created_at => Time.at(key),
|
36
37
|
:updated_at => Time.parse(meta[7]),
|
@@ -43,7 +44,7 @@ class Megalith
|
|
43
44
|
:text_color => meta[10],
|
44
45
|
:convert_newline => meta[11],
|
45
46
|
:size => text.bytesize / 1024,
|
46
|
-
:url => URI.join(base_url, "?mode=read&key=#{key}&log=#{
|
47
|
+
:url => URI.join(base_url, "?mode=read&key=#{key}&log=#{relative_log}").to_s,
|
47
48
|
:comments => comments
|
48
49
|
}
|
49
50
|
return novel
|
@@ -203,8 +204,10 @@ class Megalith
|
|
203
204
|
end
|
204
205
|
|
205
206
|
def fetch_subject(base_url, log)
|
206
|
-
|
207
|
-
|
207
|
+
fs = fetch_subjects(base_url)
|
208
|
+
absolute_log = (fs.size <= log || log < 1) ? "" : log
|
209
|
+
relative_log = (log < 1) ? fs.size : log
|
210
|
+
page = send_req(File.join(base_url, "sub", "subject#{absolute_log}.txt"))
|
208
211
|
subject = page.split("\n").map{|i| i.split("<>")}
|
209
212
|
|
210
213
|
indexes = []
|
@@ -212,7 +215,7 @@ class Megalith
|
|
212
215
|
key = index[0].gsub(/[^0-9]/, "").to_i
|
213
216
|
comment_count, review_count = index[5].split("/")
|
214
217
|
indexes << Index.new(base_url, {
|
215
|
-
:log =>
|
218
|
+
:log => relative_log,
|
216
219
|
:key => key,
|
217
220
|
:title => index[1],
|
218
221
|
:author => index[2],
|
@@ -228,19 +231,19 @@ class Megalith
|
|
228
231
|
:text_color => index[11],
|
229
232
|
:convert_newline => index[12],
|
230
233
|
:size => index[14].to_f,
|
231
|
-
:url => URI.join(base_url, "?mode=read&key=#{key}&log=#{
|
234
|
+
:url => URI.join(base_url, "?mode=read&key=#{key}&log=#{absolute_log}").to_s
|
232
235
|
})
|
233
236
|
end
|
234
237
|
return indexes.reverse
|
235
238
|
end
|
236
239
|
|
237
240
|
def next_page
|
238
|
-
Subject.new(@base_url,
|
241
|
+
Subject.new(@base_url, @log-1)
|
239
242
|
end
|
240
243
|
alias_method :next, :next_page
|
241
244
|
|
242
245
|
def prev_page
|
243
|
-
Subject.new(@base_url,
|
246
|
+
Subject.new(@base_url, @log+1)
|
244
247
|
end
|
245
248
|
alias_method :prev, :prev_page
|
246
249
|
|
data/lib/megalith/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: megalith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.2'
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -46,7 +46,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
46
46
|
version: '0'
|
47
47
|
segments:
|
48
48
|
- 0
|
49
|
-
hash: -
|
49
|
+
hash: -4054981728964153712
|
50
50
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
@@ -55,7 +55,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
55
55
|
version: '0'
|
56
56
|
segments:
|
57
57
|
- 0
|
58
|
-
hash: -
|
58
|
+
hash: -4054981728964153712
|
59
59
|
requirements: []
|
60
60
|
rubyforge_project:
|
61
61
|
rubygems_version: 1.8.24
|