Class: RuneBlog::View
- Inherits:
-
Object
show all
- Includes:
- Helpers
- Defined in:
- lib/global.rb,
lib/view.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Helpers
#create_dir, #dump, #error, #find_src_slugs, #get_views, #interpolate, #new_dotfile, #new_sequence, #read_config, #subdirs, #write_config
Constructor Details
#initialize(name) ⇒ View
Returns a new instance of View.
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/view.rb', line 10
def initialize(name)
raise NoBlogAccessor if RuneBlog.blog.nil?
@blog = RuneBlog.blog
@name = name
@can_publish = false
pub_file = @blog.root + "/views/#@name/publish"
unless File.size(pub_file) == 0
@publisher = RuneBlog::Publishing.new(read_config(pub_file))
@can_publish = true
end
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
5
6
7
|
# File 'lib/view.rb', line 5
def name
@name
end
|
#publisher ⇒ Object
Returns the value of attribute publisher.
6
7
8
|
# File 'lib/view.rb', line 6
def publisher
@publisher
end
|
#state ⇒ Object
Returns the value of attribute state.
5
6
7
|
# File 'lib/view.rb', line 5
def state
@state
end
|
Instance Method Details
#can_publish? ⇒ Boolean
46
47
48
|
# File 'lib/view.rb', line 46
def can_publish?
@can_publish
end
|
#dir ⇒ Object
22
23
24
|
# File 'lib/view.rb', line 22
def dir
@blog.root + "/views/#@name/"
end
|
#files(recent = false) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/view.rb', line 34
def files(recent = false)
vdir = dir()
files = [index()]
debug "Looking in #{vdir}"
others = Dir.entries(vdir).grep(/^\d\d\d\d/)
files += others.map {|x| "#{vdir}/#{x}" }
debug "Found #{files.inspect}"
files.reject! {|f| ! recent?(f) } if recent
debug "Now files = #{files.inspect}"
files
end
|
#index ⇒ Object
26
27
28
|
# File 'lib/view.rb', line 26
def index
dir + "index.html"
end
|
#publish ⇒ Object
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/view.rb', line 50
def publish
output_newline
list = files(true)
@publisher.publish(list)
rescue => err
error(err)
end
|
#recent?(file) ⇒ Boolean
61
62
63
64
65
|
# File 'lib/view.rb', line 61
def recent?(file)
File.mtime(file) > File.mtime("#{dir()}/last_published")
rescue
true
end
|
#to_s ⇒ Object
30
31
32
|
# File 'lib/view.rb', line 30
def to_s
@name
end
|