Sha256: 6b3a17cfd04c8d9d37a2a2317c204673a4782ab2b6c03543e71075b707e92862

Contents?: true

Size: 1.26 KB

Versions: 44

Compression:

Stored size: 1.26 KB

Contents

module TDiary
	class DiaryContainer
		# YYYYMMDD
		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

		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

		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

		def conf
			@controller.conf
		end

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

		class FakeCGI < CGI
			def refeter; nil end
			def user_agent; nil; end
			def mobile_agent?; nil; end
			def request_method; 'GET'; end
		end
	end
end

# Local Variables:
# mode: ruby
# indent-tabs-mode: t
# tab-width: 3
# ruby-indent-level: 3
# End:
# vim: ts=3

Version data entries

44 entries across 33 versions & 1 rubygems

Version Path
tdiary-5.3.0 lib/tdiary/diary_container.rb
tdiary-5.2.4 lib/tdiary/diary_container.rb
tdiary-5.2.3 lib/tdiary/diary_container.rb
tdiary-5.2.2 lib/tdiary/diary_container.rb
tdiary-5.2.1 lib/tdiary/diary_container.rb
tdiary-5.2.0 lib/tdiary/diary_container.rb
tdiary-5.1.7 lib/tdiary/diary_container.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/lib/tdiary/diary_container.rb
tdiary-5.1.6 lib/tdiary/diary_container.rb
tdiary-5.1.6 vendor/bundle/ruby/2.7.0/gems/tdiary-5.1.5/vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/lib/tdiary/diary_container.rb
tdiary-5.1.5 lib/tdiary/diary_container.rb
tdiary-5.1.5 vendor/bundle/ruby/3.0.0/gems/tdiary-5.1.4/lib/tdiary/diary_container.rb
tdiary-5.1.4 lib/tdiary/diary_container.rb
tdiary-5.1.3 lib/tdiary/diary_container.rb
tdiary-5.1.2 vendor/bundle/ruby/2.6.0/gems/tdiary-5.0.14/lib/tdiary/diary_container.rb
tdiary-5.1.2 lib/tdiary/diary_container.rb
tdiary-5.1.1 lib/tdiary/diary_container.rb
tdiary-5.1.1 vendor/bundle/ruby/2.6.0/gems/tdiary-5.0.14/lib/tdiary/diary_container.rb
tdiary-5.1.0 lib/tdiary/diary_container.rb
tdiary-5.0.14 lib/tdiary/diary_container.rb