nimbu 0.8.1 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 286ea890b648d427d6f1dcaf0ba56b6b8bce4f0f
4
- data.tar.gz: 1f6589038fa7c7ed6ec9d481fe4fb04a775ef1de
3
+ metadata.gz: c581b5231f557f8ed777afbcebef95f3ff62c456
4
+ data.tar.gz: b39c7560c7ba9f46bcc72c3a26aa17fd7ec57670
5
5
  SHA512:
6
- metadata.gz: b94023c5347a5223d94c1b2f7d4909826aa1a810ec94fafed1844698cc1a5ef2b4435aa919ff0856b2b5bfd3fb43971c17a335d53660da724ef71b9d80a0d2ec
7
- data.tar.gz: 3743d9c8652ba8a189be511ae82f0c6199f587a2af79ed3db7295612402e67931a452a140191448f0958cf2338e28f20750a24dfc51ca3e9a813718d56f5813a
6
+ metadata.gz: acac0d5ce9e1e8a500b10355ebf862a0df81d94883c33be72920aae8e38abecdc91cfa1d08717a0151c896f89be9f79a9d3d6c91242ace1007b05c813c6e4ba6
7
+ data.tar.gz: a030800db60811c118c8f010c519c0c4e804fe8c95babac08ed713009bf8e13653dead61c7a94709db75334a7c2fd160060f7bce7f6190c39402ee583be99874
@@ -78,6 +78,15 @@ module Nimbu
78
78
  }
79
79
  }
80
80
 
81
+ if request.env["rack.tempfiles"]
82
+ # inspect params for tempfiles and base64-encode them
83
+ request.env["rack.input"].rewind
84
+ params[:simulator][:multipart] = Base64.encode64(request.env["rack.input"].read)
85
+ request.env["rack.request.form_hash"] = convert_tempfiles(request.env["rack.request.form_hash"])
86
+ params[:simulator][:request][:headers] = request.env.to_json
87
+ params[:simulator][:request][:params] = convert_tempfiles(params[:simulator][:request][:params])
88
+ end
89
+
81
90
  # Send the templates to the browser
82
91
  begin
83
92
  results = nimbu.simulator(subdomain: Nimbu::Auth.site).render(params)
@@ -100,6 +109,25 @@ module Nimbu
100
109
 
101
110
  protected
102
111
 
112
+ def convert_tempfiles(params)
113
+ params.update(params){|key,value| convert_single_value(value)}
114
+ end
115
+
116
+ def convert_single_value(value)
117
+ if value.is_a?(Array)
118
+ value.map { |item| convert_single_value(item) }
119
+ elsif value.is_a?(Hash)
120
+ convert_tempfiles(value)
121
+ elsif value.is_a?(Tempfile)
122
+ bytes = value.read
123
+ filename = Pathname.new(value.path).basename.to_s
124
+ value.rewind
125
+ {"__type" => "file", "data" => Base64.encode64(bytes), "filename" => filename}
126
+ else
127
+ value
128
+ end
129
+ end
130
+
103
131
  def detect_http_method(request)
104
132
  if request.get? then "get"
105
133
  elsif request.post? then "post"
data/lib/nimbu/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Nimbu
3
- VERSION = "0.8.1"
3
+ VERSION = "0.8.2"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nimbu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.8.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zenjoy BVBA
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-28 00:00:00.000000000 Z
11
+ date: 2016-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: term-ansicolor
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: sinatra
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 1.4.7
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: 1.4.7
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra-contrib
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -126,30 +126,30 @@ dependencies:
126
126
  name: rack-streaming-proxy
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 2.0.1
131
+ version: '0'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 2.0.1
138
+ version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rack
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - '='
144
144
  - !ruby/object:Gem::Version
145
- version: 1.5.2
145
+ version: 1.6.4
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - '='
151
151
  - !ruby/object:Gem::Version
152
- version: 1.5.2
152
+ version: 1.6.4
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: json
155
155
  requirement: !ruby/object:Gem::Requirement
@@ -311,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
311
311
  version: '0'
312
312
  requirements: []
313
313
  rubyforge_project:
314
- rubygems_version: 2.4.5
314
+ rubygems_version: 2.6.7
315
315
  signing_key:
316
316
  specification_version: 4
317
317
  summary: Client library and CLI to design websites on the Nimbu platform.