microengine 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -3,10 +3,9 @@ require 'rake/rdoctask'
3
3
  require 'rake/gempackagetask'
4
4
 
5
5
  PKG_NAME = "microengine"
6
- PKG_VERSION = "0.0.9"
6
+ PKG_VERSION = "0.1.0"
7
7
 
8
8
  RUBY_FORGE_PROJECT = "microengine"
9
- RUBY_FORGE_USER = "iskin"
10
9
 
11
10
  # RDoc
12
11
  Rake::RDocTask.new do |rd|
data/bin/microengine CHANGED
@@ -18,7 +18,7 @@ if '/' != path[-1..-1]
18
18
  path += '/'
19
19
  end
20
20
 
21
- if not File.directory? path
21
+ unless File.directory? path
22
22
  begin
23
23
  FileUtils.mkdir path
24
24
  rescue
@@ -29,7 +29,7 @@ end
29
29
 
30
30
  distr = File.dirname(__FILE__) + '/../'
31
31
 
32
- if not File.exists? path + 'content/layout'
32
+ unless File.exists? path + 'content/layout'
33
33
  files = [
34
34
  "config/*",
35
35
  "content/**/*",
@@ -43,14 +43,10 @@ if not File.exists? path + 'content/layout'
43
43
  Dir.glob(distr + pattern, File::FNM_DOTMATCH) do |file|
44
44
  filename = path + file[distr.length..-1]
45
45
  FileUtils.mkpath File.dirname(filename)
46
- if not File.directory? file
47
- FileUtils.install file, filename
48
- end
46
+ FileUtils.install file, filename unless File.directory? file
49
47
  end
50
48
  end
51
- if not File.directory? path + 'cache/'
52
- FileUtils.mkdir path + 'cache/'
53
- end
49
+ FileUtils.mkdir path + 'cache/' unless File.directory? path + 'cache/'
54
50
 
55
51
  FileUtils.chmod_R 0777, path + 'content/'
56
52
  FileUtils.chmod 0777, path + 'cache/'
data/lib/admin.rb CHANGED
@@ -59,7 +59,7 @@ module Microengine
59
59
  end
60
60
 
61
61
  if not blocked? http.ip and right? password
62
- if http.cookie['password'].nil?
62
+ unless http.cookie['password']
63
63
  http.set_cookie 'password', password
64
64
  end
65
65
 
@@ -81,7 +81,7 @@ module Microengine
81
81
  AdminPage.new(http, path, self).error(e.message)
82
82
  end
83
83
  else
84
- #TODO delete cookie
84
+ http.set_cookie 'password', ''
85
85
  block http.ip, 5
86
86
  @access_logger.warn 'Wrong password from ' + http.ip
87
87
  http.status = '403 Forbidden'
data/lib/admin_page.rb CHANGED
@@ -55,7 +55,7 @@ module Microengine
55
55
  return
56
56
  end
57
57
 
58
- if not File.exists? MICROENGINE_ROOT + "/layouts/#{@layout}/#{@lang}.yaml"
58
+ unless File.exists? MICROENGINE_ROOT + "/layouts/#{@layout}/#{@lang}.yaml"
59
59
  @old_lang = @lang
60
60
  @lang = @admin.dispatcher.language(@http, @layout_langs)
61
61
  error 'untranslated_layout'
@@ -77,27 +77,17 @@ module Microengine
77
77
  layout_langs.push File.basename(lang, '.yaml')
78
78
  end
79
79
  untranslated = langs - layout_langs
80
- if not untranslated.empty?
81
- @untranslated_layouts[layout] = untranslated
82
- end
80
+ @untranslated_layouts[layout] = untranslated unless untranslated.empty?
83
81
  end
84
82
 
85
83
  if @http.post['body'].nil?
86
- begin
87
- @body = IO.read MICROENGINE_ROOT + "/content#{@path}#{@lang}.body"
88
- rescue
89
- @body = ''
90
- end
84
+ @body = IO.read MICROENGINE_ROOT + "/content#{@path}#{@lang}.body" rescue @body = ''
91
85
  else
92
86
  @body = @http.post['body']
93
87
  end
94
88
 
95
89
  if @http.post['header'].nil?
96
- begin
97
- @header = IO.read MICROENGINE_ROOT + "/content#{@path}#{@lang}.header"
98
- rescue
99
- @header = ''
100
- end
90
+ @header = IO.read MICROENGINE_ROOT + "/content#{@path}#{@lang}.header" rescue @header = ''
101
91
  else
102
92
  @header = @http.post['header']
103
93
  end
data/lib/assambler.rb CHANGED
@@ -32,7 +32,7 @@ module Microengine
32
32
  @layouts = {}
33
33
 
34
34
  begin
35
- if not File.directory? MICROENGINE_ROOT + '/cache/'
35
+ unless File.directory? MICROENGINE_ROOT + '/cache/'
36
36
  FileUtils.mkdir MICROENGINE_ROOT + '/cache/'
37
37
  end
38
38
  FileUtils.rm_r Dir.glob(MICROENGINE_ROOT + '/cache/*')
@@ -108,7 +108,7 @@ module Microengine
108
108
  def cache_dir(dir)
109
109
  path = MICROENGINE_ROOT + '/content' + dir
110
110
  cache = MICROENGINE_ROOT + '/cache' + dir
111
- if not File.directory? cache
111
+ unless File.directory? cache
112
112
  begin
113
113
  Dir.mkdir cache
114
114
  rescue
@@ -153,9 +153,8 @@ module Microengine
153
153
  # Check name and layout
154
154
  name = name.sub(/(^|\/)\.\.?/, '')
155
155
  dir = MICROENGINE_ROOT + '/layouts/' + name + '/';
156
- if not File.directory?(dir) or not File.exists? dir + 'layout.rhtml'
157
- raise "Can't find layout #{name} ."
158
- end
156
+
157
+ raise "Can't find layout #{name} ." unless File.directory?(dir) and File.exists? dir + 'layout.rhtml'
159
158
 
160
159
  # Load layout
161
160
  layout = {
@@ -165,9 +164,7 @@ module Microengine
165
164
  # Load translation
166
165
  Dir.glob(dir + '**.yaml') do |file|
167
166
  lang = File.basename file, '.yaml'
168
- if 'layout' == lang
169
- next
170
- end
167
+ next if 'layout' == lang
171
168
  layout[lang] = load_translation(file)
172
169
  end
173
170
  layout
data/lib/dispatcher.rb CHANGED
@@ -48,7 +48,7 @@ module Microengine
48
48
 
49
49
  if spider? http.agent
50
50
  # Search engine spiders (another i18n logic)
51
- if not http.get['lang'].nil?
51
+ unless http.get['lang'].nil?
52
52
  if langs.include? http.get['lang']
53
53
  http << @cache.get(http.url, http.get['lang'])
54
54
  request.finish
@@ -60,7 +60,7 @@ module Microengine
60
60
  # Human visitor
61
61
  if http.get['lang']
62
62
  http.set_cookie 'lang', http.get['lang'], 30
63
- if not langs.include? http.get['lang']
63
+ unless langs.include? http.get['lang']
64
64
  http.redirect http.url
65
65
  request.finish
66
66
  next
@@ -84,21 +84,15 @@ module Microengine
84
84
  def language(http, available)
85
85
  # Language selected manually
86
86
  if not http.get['lang'].nil?
87
- if available.include? http.get['lang']
88
- return http.get['lang']
89
- end
87
+ return http.get['lang'] if available.include? http.get['lang']
90
88
  elsif http.cookie['lang']
91
- if available.include? http.cookie['lang']
92
- return http.cookie['lang']
93
- end
89
+ return http.cookie['lang'] if available.include? http.cookie['lang']
94
90
  end
95
91
 
96
92
  # Select user language
97
93
  http.langs.each do |lang|
98
94
  lang.downcase!
99
- if available.include? lang
100
- return lang
101
- end
95
+ return lang if available.include? lang
102
96
  end
103
97
 
104
98
  # Select any language
@@ -114,9 +108,7 @@ module Microengine
114
108
  # Check HTTP_USER_AGENT value for search engine spiders
115
109
  def spider?(agent)
116
110
  @spiders.each do |spider|
117
- if agent.include? spider
118
- return true
119
- end
111
+ return true if agent.include? spider
120
112
  end
121
113
  false
122
114
  end
data/lib/file_cache.rb CHANGED
@@ -49,7 +49,7 @@ module Microengine
49
49
  langs.push entry[8..-6]
50
50
  end
51
51
  end
52
- if not langs.empty?
52
+ unless langs.empty?
53
53
  cache_content dir, langs
54
54
  end
55
55
  end
data/lib/http.rb CHANGED
@@ -48,9 +48,7 @@ module Microengine
48
48
  end
49
49
 
50
50
  def post
51
- if @post.nil?
52
- @post = format_post @request.in
53
- end
51
+ @post = format_post @request.in if @post.nil?
54
52
  @post
55
53
  end
56
54
 
@@ -66,9 +64,7 @@ module Microengine
66
64
 
67
65
  # Send content to user
68
66
  def << (content)
69
- if not header_sended?
70
- send_headers
71
- end
67
+ send_headers unless header_sended?
72
68
  @out.print content
73
69
  end
74
70
 
@@ -85,16 +81,13 @@ module Microengine
85
81
 
86
82
  # Set header
87
83
  def header(name, value)
88
- if header_sended?
89
- Initializer.logger.warning 'Header already sended'
90
- end
91
84
  @headers << [name, value]
92
85
  end
93
86
 
94
87
  # Set cookie
95
88
  def set_cookie(name, value, days=nil)
96
89
  cookie = name + '=' + value + '; path=/'
97
- if not days.nil?
90
+ unless days.nil?
98
91
  time = Time.now + (days * 86400)
99
92
  cookie += '; expires=' + time.gmtime.strftime('%a %d-%b-%Y %H:%M:S %Z')
100
93
  end
@@ -111,13 +104,11 @@ module Microengine
111
104
 
112
105
  # Format accept languages from string to array
113
106
  def format_langs(langs)
114
- if langs.nil? or '' == langs
115
- return []
116
- end
107
+ return [] if langs.nil? or langs.empty?
117
108
  langs = langs.split(',')
118
109
  langs.map! do |lang|
119
110
  index = lang.index(';')
120
- if not index.nil?
111
+ unless index.nil?
121
112
  lang[0...index]
122
113
  else
123
114
  lang
@@ -127,18 +118,12 @@ module Microengine
127
118
 
128
119
  # Format GET variables in URI as array
129
120
  def format_get(query)
130
- if query.empty?
131
- return {}
132
- end
121
+ return {} if query.empty?
133
122
 
134
123
  vars = {}
135
124
  query = query.split('&').each do |var|
136
125
  var = var.split('=')
137
- if 2 == var.length
138
- vars[var[0]] = var[1]
139
- else
140
- vars[var[0]] = true
141
- end
126
+ vars[var[0]] = var[1].nil? ? true : var[1]
142
127
  end
143
128
  vars
144
129
  end
@@ -155,9 +140,7 @@ module Microengine
155
140
 
156
141
  # Format cookies as array
157
142
  def format_cookie(string)
158
- if string.nil? or string.empty?
159
- return {}
160
- end
143
+ return {} if string.nil? or string.empty?
161
144
 
162
145
  cookies = {}
163
146
  string = string.split(';')
@@ -170,21 +153,14 @@ module Microengine
170
153
 
171
154
  # Format POST variables
172
155
  def format_post(input)
173
- if 'application/x-www-form-urlencoded' != @env['CONTENT_TYPE']
174
- return {}
175
- end
176
-
156
+ return {} if 'application/x-www-form-urlencoded' != @env['CONTENT_TYPE']
177
157
  post = input.read
178
- if post.nil?
179
- return {}
180
- end
158
+ return {} if post.nil?
181
159
 
182
160
  vars = {}
183
161
  post.split('&').each do |var|
184
162
  var = var.split '='
185
- if var[1].nil?
186
- var[1] = ''
187
- end
163
+ var[1] = '' if var[1].nil?
188
164
  vars[var[0]] = CGI.unescape(var[1].nil? ? '' : var[1])
189
165
  end
190
166
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: microengine
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.9
7
- date: 2008-02-01 00:00:00 +03:00
6
+ version: 0.1.0
7
+ date: 2008-02-05 00:00:00 +03:00
8
8
  summary: MicroEngine is a fast, simple and minimalistic site engine.
9
9
  require_paths:
10
10
  - lib