nimbu 0.8.1 → 0.8.2

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.
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.