Class: TDiary::DiaryContainer

Inherits:
Object
  • Object
show all
Defined in:
lib/tdiary/diary_container.rb

Defined Under Namespace

Classes: FakeCGI

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(conf, year, month, day = nil) ⇒ DiaryContainer

Returns a new instance of DiaryContainer.



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/tdiary/diary_container.rb', line 18

def initialize(conf, year, month, day = nil)
	cgi = FakeCGI.new
	if year && month && day
		cgi.params['date'] = ["#{year}#{month}#{day}"]
		@controller = TDiaryDayWithoutFilter::new(cgi, '', conf)
	elsif year && month
		cgi.params['date'] = ["#{year}#{month}"]
		@controller = TDiaryMonthWithoutFilter::new(cgi, '', conf)
	else
		raise StandardError.new
	end
end

Class Method Details

.find_by_day(conf, date) ⇒ Object

YYYYMMDD

Raises:

  • (ArgumentError)


4
5
6
7
8
9
# File 'lib/tdiary/diary_container.rb', line 4

def self.find_by_day(conf, date)
	# date: YYYYMMDD
	m = date.match(/^(?<year>\d{4})(?<month>\d{2})(?<day>\d{2})$/)
	raise ArgumentError.new("date must be YYYYMMDD format") unless m
	new(conf, m[:year], m[:month], m[:day])
end

.find_by_month(conf, date) ⇒ Object

Raises:

  • (ArgumentError)


11
12
13
14
15
16
# File 'lib/tdiary/diary_container.rb', line 11

def self.find_by_month(conf, date)
	# date: YYYYMM
	m = date.match(/^(?<year>\d{4})(?<month>\d{2})$/)
	raise ArgumentError.new("date must be YYYYMM format") unless m
	new(conf, m[:year], m[:month])
end

Instance Method Details

#confObject



31
32
33
# File 'lib/tdiary/diary_container.rb', line 31

def conf
	@controller.conf
end

#diariesObject



35
36
37
38
# File 'lib/tdiary/diary_container.rb', line 35

def diaries
	# Hash of 'YYYYMMDD' => TDiary::Style::WikiDiary
	@controller.diaries
end