nimbu 0.2.9 → 0.2.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,6 @@
1
1
  require 'sinatra'
2
2
  require "sinatra/reloader"
3
+ require "sinatra/multi_route"
3
4
  require "vendor/nimbu/okjson"
4
5
  require 'term/ansicolor'
5
6
 
@@ -7,6 +8,8 @@ module Nimbu
7
8
  module Server
8
9
  class Base < Sinatra::Base
9
10
  include Term::ANSIColor
11
+ register Sinatra::MultiRoute
12
+
10
13
  enable :sessions
11
14
 
12
15
  configure :development do
@@ -30,23 +33,32 @@ module Nimbu
30
33
  return ""
31
34
  end
32
35
 
33
- post '*' do
34
- path = request.path == "/" ? request.path : request.path.gsub(/\/$/,'')
35
- result = json_decode(nimbu.post_request({:path => path, :extra => params, :session => session}))
36
+ # post '*' do
37
+ # path = request.path == "/" ? request.path : request.path.gsub(/\/$/,'')
38
+ # result = json_decode(nimbu.post_request({:path => path, :extra => params, :session => session}))
36
39
 
37
- session[:logged_in] = true if result["logged_in"]
38
- session[:flash] = result["flash"] if result["flash"]
39
- redirect result["redirect_to"] if result["redirect_to"]
40
- end
40
+ # session[:logged_in] = true if result["logged_in"]
41
+ # session[:flash] = result["flash"] if result["flash"]
42
+ # redirect result["redirect_to"] and return if result["redirect_to"]
43
+ # end
41
44
 
42
- get '*' do
43
- # First get the template name and necessary subtemplates
44
- puts green("Getting template for #{request.fullpath}")
45
- path = request.path == "/" ? request.path : request.path.gsub(/\/$/,'')
46
- result = json_decode(nimbu.get_template({:path => path, :extra => params}))
45
+ route :get, :post, '*' do
46
+ if request.post?
47
+ path = request.path == "/" ? request.path : request.path.gsub(/\/$/,'')
48
+ result = json_decode(nimbu.post_request({:path => path, :extra => params, :session => session, :method => "post"}))
49
+
50
+ session[:logged_in] = true if result["logged_in"]
51
+ session[:flash] = result["flash"] if result["flash"]
52
+ redirect result["redirect_to"] and return if result["redirect_to"]
53
+ else
54
+ # First get the template name and necessary subtemplates
55
+ puts green("Getting template for #{request.fullpath}")
56
+ path = request.path == "/" ? request.path : request.path.gsub(/\/$/,'')
57
+ result = json_decode(nimbu.get_template({:path => path, :extra => params, :method => "get"}))
47
58
 
48
- session[:logged_in] = result["logged_in"] if result.has_key?("logged_in")
49
- redirect result["redirect_to"] if result["redirect_to"]
59
+ session[:logged_in] = result["logged_in"] if result.has_key?("logged_in")
60
+ redirect result["redirect_to"] and return if result["redirect_to"]
61
+ end
50
62
 
51
63
  if result["template"].nil?
52
64
  raise Sinatra::NotFound
@@ -86,14 +98,12 @@ module Nimbu
86
98
 
87
99
  # Send the templates to the browser
88
100
  begin
89
- response = nimbu.get_request({:path => path, :template => template_code, :layout => layout_code, :extra => params, :logged_in => session[:logged_in]})
101
+ response = nimbu.get_request({:path => path, :template => template_code, :layout => layout_code, :extra => params, :logged_in => session[:logged_in], :method => request.post? ? "post" : "get"})
90
102
  results = json_decode(response)
91
103
  return "#{results["result"]}"
92
104
  rescue RestClient::Exception => error
93
105
  return error.http_body
94
- end
95
-
96
-
106
+ end
97
107
  end
98
108
 
99
109
  error 404 do
data/lib/nimbu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nimbu
2
- VERSION = "0.2.9"
2
+ VERSION = "0.2.10"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nimbu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.2.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-16 00:00:00.000000000 Z
12
+ date: 2012-04-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: term-ansicolor
16
- requirement: &70345210152760 !ruby/object:Gem::Requirement
16
+ requirement: &70211995749860 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 1.0.5
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70345210152760
24
+ version_requirements: *70211995749860
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rest-client
27
- requirement: &70345210148320 !ruby/object:Gem::Requirement
27
+ requirement: &70211995749340 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.6.1
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70345210148320
35
+ version_requirements: *70211995749340
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: launchy
38
- requirement: &70345210143660 !ruby/object:Gem::Requirement
38
+ requirement: &70211995748780 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.3.2
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70345210143660
46
+ version_requirements: *70211995748780
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rubyzip
49
- requirement: &70345210095020 !ruby/object:Gem::Requirement
49
+ requirement: &70211995748300 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70345210095020
57
+ version_requirements: *70211995748300
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sinatra
60
- requirement: &70345210090660 !ruby/object:Gem::Requirement
60
+ requirement: &70211995747680 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70345210090660
68
+ version_requirements: *70211995747680
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra-contrib
71
- requirement: &70345210073100 !ruby/object:Gem::Requirement
71
+ requirement: &70211995747120 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *70345210073100
79
+ version_requirements: *70211995747120
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: compass
82
- requirement: &70345210069800 !ruby/object:Gem::Requirement
82
+ requirement: &70211995741560 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ! '>='
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '0'
88
88
  type: :runtime
89
89
  prerelease: false
90
- version_requirements: *70345210069800
90
+ version_requirements: *70211995741560
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: haml
93
- requirement: &70345210067160 !ruby/object:Gem::Requirement
93
+ requirement: &70211995741120 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ! '>='
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: '0'
99
99
  type: :runtime
100
100
  prerelease: false
101
- version_requirements: *70345210067160
101
+ version_requirements: *70211995741120
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: fssm
104
- requirement: &70345214459200 !ruby/object:Gem::Requirement
104
+ requirement: &70211995740700 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :runtime
111
111
  prerelease: false
112
- version_requirements: *70345214459200
112
+ version_requirements: *70211995740700
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: thin
115
- requirement: &70345214456780 !ruby/object:Gem::Requirement
115
+ requirement: &70211995740280 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,7 +120,7 @@ dependencies:
120
120
  version: '0'
121
121
  type: :runtime
122
122
  prerelease: false
123
- version_requirements: *70345214456780
123
+ version_requirements: *70211995740280
124
124
  description: Client library and command-line tool to design and manage websites on
125
125
  the Nimbu platform.
126
126
  email: