oldskool 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,38 +11,42 @@ module Oldskool
11
11
  def route(params)
12
12
  defaulting = false
13
13
 
14
+ k = ""
15
+ q = params[:q].strip
16
+
14
17
  if params[:q] =~ /^(\w+?)(\s.+)*$/
15
18
  k = $1
16
19
  q = $2.strip rescue ""
17
- default = nil
18
- handler = nil
20
+ end
19
21
 
20
- @config[:keywords].each do |keyword|
21
- default = keyword if [keyword[:keywords]].flatten.include?(:default)
22
+ default = nil
23
+ handler = nil
22
24
 
23
- handler = keyword if [keyword[:keywords]].flatten.include?(k)
25
+ @config[:keywords].each do |keyword|
26
+ default = keyword if [keyword[:keywords]].flatten.include?(:default)
24
27
 
25
- break if handler
26
- end
28
+ handler = keyword if [keyword[:keywords]].flatten.include?(k)
27
29
 
28
- if (!handler && default)
29
- defaulting = true
30
- handler = default
31
- elsif !handler
32
- return error("No handler for keyword #{k} found and no default handler specified")
33
- end
30
+ break if handler
31
+ end
32
+
33
+ if (!handler && default)
34
+ defaulting = true
35
+ handler = default
36
+ elsif !handler
37
+ return error("No handler for keyword #{k} found and no default handler specified")
38
+ end
34
39
 
35
- handler_class = "%sHandler" % [handler[:type].to_s.capitalize]
40
+ handler_class = "%sHandler" % [handler[:type].to_s.capitalize]
36
41
 
37
- if Oldskool.constants.include?(handler_class)
38
- if defaulting
39
- Oldskool.const_get(handler_class).new(params, handler, @config).handle_request("", params[:q])
40
- else
41
- Oldskool.const_get(handler_class).new(params, handler, @config).handle_request(k, q)
42
- end
42
+ if Oldskool.constants.include?(handler_class)
43
+ if defaulting
44
+ Oldskool.const_get(handler_class).new(params, handler, @config).handle_request("", params[:q])
43
45
  else
44
- return error("Do not know how to handle type %s keywords" % [ handler[:type] ])
46
+ Oldskool.const_get(handler_class).new(params, handler, @config).handle_request(k, q)
45
47
  end
48
+ else
49
+ return error("Do not know how to handle type %s keywords" % [ handler[:type] ])
46
50
  end
47
51
  end
48
52
  end
@@ -43,9 +43,11 @@ module Oldskool
43
43
  if params[:q]
44
44
  @result = @router.route(params)
45
45
 
46
- @sidemenu = @result.delete(:sidemenu)
47
- @topmenu = @result.delete(:topmenu)
48
- @error = @result.delete(:error)
46
+ if @result
47
+ @sidemenu = @result.delete(:sidemenu)
48
+ @topmenu = @result.delete(:topmenu)
49
+ @error = @result.delete(:error)
50
+ end
49
51
 
50
52
  case (template = @result[:template])
51
53
  when :redirect
@@ -1,7 +1,5 @@
1
1
  module Oldskool
2
2
  class UrlHandler
3
- include Rack::Utils
4
-
5
3
  def initialize(params, keyword, config)
6
4
  @params = params
7
5
  @keyword = keyword
@@ -10,7 +8,7 @@ module Oldskool
10
8
  end
11
9
 
12
10
  def handle_request(keyword, query)
13
- url = @keyword[:url].gsub(/%Q%/, escape_html(query))
11
+ url = @keyword[:url].gsub(/%Q%/, URI.escape(query))
14
12
 
15
13
  {:template => :redirect, :url => url}
16
14
  end
@@ -1,3 +1,3 @@
1
1
  module Oldskool
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -17,7 +17,7 @@
17
17
  <% end %>
18
18
  </ul>
19
19
  <% end %>
20
- <form action="/do" method="get" class="pull-right"><input name="q" type="text" placeholder="#" /></form>
20
+ <form action="/do" method="get" class="pull-right"><input name="q" type="text" placeholder="#" value="<%= params[:q] == nil ? "" : h(params[:q]) %>"/></form>
21
21
  </div>
22
22
  </div>
23
23
  </div>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oldskool
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - R.I.Pienaar
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-15 00:00:00 +00:00
18
+ date: 2012-01-19 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -69,27 +69,27 @@ extensions: []
69
69
  extra_rdoc_files: []
70
70
 
71
71
  files:
72
- - lib/oldskool/router.rb
72
+ - lib/oldskool.rb
73
73
  - lib/oldskool/error_handler.rb
74
- - lib/oldskool/url_handler.rb
75
74
  - lib/oldskool/version.rb
76
75
  - lib/oldskool/sinatra_app.rb
77
- - lib/oldskool.rb
76
+ - lib/oldskool/url_handler.rb
77
+ - lib/oldskool/router.rb
78
+ - views/do.erb
78
79
  - views/layout.erb
79
80
  - views/index.erb
80
81
  - views/opensearch_xml.erb
81
- - views/do.erb
82
+ - public/favicon.ico
82
83
  - public/js/less-1.1.3.min.js
83
- - public/lib/forms.less
84
- - public/lib/scaffolding.less
85
- - public/lib/bootstrap.less
86
- - public/lib/tables.less
87
84
  - public/lib/patterns.less
88
- - public/lib/reset.less
89
- - public/lib/mixins.less
85
+ - public/lib/bootstrap.less
90
86
  - public/lib/variables.less
87
+ - public/lib/mixins.less
91
88
  - public/lib/type.less
92
- - public/favicon.ico
89
+ - public/lib/forms.less
90
+ - public/lib/tables.less
91
+ - public/lib/scaffolding.less
92
+ - public/lib/reset.less
93
93
  - config/oldskool.yaml.dist
94
94
  - config.ru
95
95
  - Gemfile