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
#copy, #copy!, #create_dirs, #dump, #error, #find_draft_slugs, #get_views, #interpolate, #new_dotfile, #new_sequence, #read_config, #subdirs, #try_read_config, #write_config
Constructor Details
#initialize(name) ⇒ View
Returns a new instance of View.
10
11
12
13
14
15
16
17
|
# File 'lib/view.rb', line 10
def initialize(name)
log!(enter: __method__, args: [name], level: 3)
raise NoBlogAccessor if RuneBlog.blog.nil?
@blog = RuneBlog.blog
@name = name
@publisher = RuneBlog::Publishing.new(name)
@can_publish = true 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
53
54
55
|
# File 'lib/view.rb', line 53
def can_publish?
@can_publish
end
|
#dir ⇒ Object
19
20
21
|
# File 'lib/view.rb', line 19
def dir
@blog.root + "/views/#@name/"
end
|
#index ⇒ Object
27
28
29
|
# File 'lib/view.rb', line 27
def index
dir + "index.html"
end
|
#local_index ⇒ Object
23
24
25
|
# File 'lib/view.rb', line 23
def local_index
dir + "/remote/index.html"
end
|
#publishable_files ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/view.rb', line 35
def publishable_files
log!(enter: __method__, level: 2)
vdir = dir()
remote = local_index()
files = [remote]
others = Dir.entries(vdir/:remote) - %w[. ..]
others.map! {|x| "#{vdir}/remote/#{x}" }
assets = Dir.entries("#{vdir}/assets") - %w[. ..]
assets.map! {|x| "#{vdir}/assets/#{x}" }
assets.reject! {|x| File.directory?(x) }
files = files + others
all = files.dup
dirty = files.reject {|f| ! recent?(f) }
[dirty, all, assets]
end
|
#recent?(file) ⇒ Boolean
57
58
59
60
61
|
# File 'lib/view.rb', line 57
def recent?(file)
File.mtime(file) > File.mtime("#{self.dir()}/last_published")
rescue
true
end
|
#to_s ⇒ Object
31
32
33
|
# File 'lib/view.rb', line 31
def to_s
@name
end
|