oldskool 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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