Class: TDiary::TDiaryView

Inherits:
TDiaryBase show all
Defined in:
lib/tdiary/view.rb

Overview

class TDiaryView

base of view mode classes

Direct Known Subclasses

TDiaryDay, TDiaryLatest, TDiaryMonthBase

Constant Summary

Constants inherited from TDiaryBase

TDiary::TDiaryBase::DIRTY_COMMENT, TDiary::TDiaryBase::DIRTY_DIARY, TDiary::TDiaryBase::DIRTY_NONE, TDiary::TDiaryBase::DIRTY_REFERER

Instance Attribute Summary

Attributes inherited from TDiaryBase

#cgi, #conf, #cookies, #date, #diaries, #ignore_parser_cache, #rhtml

Instance Method Summary collapse

Methods inherited from TDiaryBase

#[], #calendar, #eval_rhtml

Methods included from ViewHelper

#base_url, #bot?

Constructor Details

#initialize(cgi, rhtml, conf) ⇒ TDiaryView

Returns a new instance of TDiaryView.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/tdiary/view.rb', line 7

def initialize( cgi, rhtml, conf )
  super

  unless referer_filter( @cgi.referer )
    def @cgi.referer; nil; end
  end

  # save referer to latest
  if (!@conf.referer_day_only or (@cgi.params['date'][0] and @cgi.params['date'][0].length == 8)) and @cgi.referer then
    ym = latest_month
    @date = ym ? Time::local( ym[0], ym[1] ) : Time::now
    @io.transaction( @date ) do |diaries|
      @diaries = diaries
      dirty = DIRTY_NONE
      @diaries.keys.sort.reverse_each do |key|
        @diary = @diaries[key]
        break if @diary.visible?
      end
      if @diary then
        @diary.add_referer( @cgi.referer )
        dirty = DIRTY_REFERER
      end
      dirty
    end
    @date = @diary.date if @diary
  end
end

Instance Method Details

#last_modifiedObject



35
36
37
38
39
40
41
42
# File 'lib/tdiary/view.rb', line 35

def last_modified
  lm = Time::at( 0 )
  @diaries.each_value do |diary|
    lmd = diary.last_modified
    lm = lmd if lm < lmd and diary.visible?
  end
  lm
end