Class: TDiary::Configuration

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cgi = nil, request = nil) ⇒ Configuration

Returns a new instance of Configuration.



9
10
11
12
13
14
15
# File 'lib/tdiary/configuration.rb', line 9

def initialize( cgi = nil, request = nil )
	@request = request
	configure_attrs
	configure_bot_pattern
	setup_attr_accessor_to_all_ivars
	load_logger
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*m) ⇒ Object (private)



222
223
224
225
# File 'lib/tdiary/configuration.rb', line 222

def method_missing( *m )
	(class << self; self; end).class_eval { attr_accessor m[0] } if m.length == 1
	nil
end

Instance Attribute Details

#database_urlObject (readonly)

Returns the value of attribute database_url.



7
8
9
# File 'lib/tdiary/configuration.rb', line 7

def database_url
  @database_url
end

Instance Method Details

#[](key) ⇒ Object

get/set/delete plugin options



26
27
28
# File 'lib/tdiary/configuration.rb', line 26

def []( key )
	@options[key]
end

#[]=(key, val) ⇒ Object



30
31
32
# File 'lib/tdiary/configuration.rb', line 30

def []=( key, val )
	@options2[key] = @options[key] = val
end

#base_urlObject

backward compatibility, you can use TDiary::ViewHelper#base_url



56
57
58
59
60
61
62
63
64
# File 'lib/tdiary/configuration.rb', line 56

def base_url
	if @options['base_url'] && @options['base_url'].length > 0
		@options['base_url']
	elsif @request
		@request.base_url
	else
		''
	end
end

#bot?Boolean

backward compatibility, you can use bot? or @conf.bot =~ @cgi.user_agent

Returns:

  • (Boolean)


51
52
53
# File 'lib/tdiary/configuration.rb', line 51

def bot?
	@bot =~ @request.user_agent
end

#delete(key) ⇒ Object



34
35
36
37
# File 'lib/tdiary/configuration.rb', line 34

def delete( key )
	@options.delete( key )
	@options2.delete( key )
end

#mobile_agent?Boolean

backward compatibility, returns NOT mobile phone always

Returns:

  • (Boolean)


40
41
42
# File 'lib/tdiary/configuration.rb', line 40

def mobile_agent?
	false
end

#saveObject



17
18
19
20
21
# File 'lib/tdiary/configuration.rb', line 17

def save
	result = ERB.new(File.read("#{File.dirname(__FILE__)}/../../views/tdiary.rconf")).result(binding)
	eval( result, binding, "(TDiary::Configuration#save)", 1 )
	@io_class.save_cgi_conf(self, result)
end

#smartphone?Boolean Also known as: iphone?

backward compatibility, returns NOT smartphone always

Returns:

  • (Boolean)


45
46
47
# File 'lib/tdiary/configuration.rb', line 45

def smartphone?
	false
end

#to_native(str, charset = nil) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/tdiary/configuration.rb', line 66

def to_native( str, charset = nil )
	str = str.dup
	if str.encoding == Encoding::ASCII_8BIT
		str.force_encoding(charset || 'utf-8')
	end
	unless str.valid_encoding?
		str.encode!('utf-16be', invalid: :replace, undef: :replace)
	end
	unless str.encoding == Encoding::UTF_8
		str.encode!('utf-8', invalid: :replace, undef: :replace)
	end
	str
end