boxlet 0.1.3 → 0.2.0

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: 22646441910e91687f19be25595a7cc6c1108a2f
4
- data.tar.gz: 83fe75aabecf937edc30ddd6122359278427ac88
3
+ metadata.gz: 2cad509b0ace0721f642bdbfa0a3642762eed408
4
+ data.tar.gz: 0f698f040646e23326774e6b71346b336a4d8232
5
5
  SHA512:
6
- metadata.gz: a44b3cafb4d413ec7a7742589a4c8a7ad8bc59aa6e56226d9447b0b29d8b7edf970f088f4ff94765862e7182dc396e3d6d0267e3b1275821b443e7193ab2c100
7
- data.tar.gz: a73abaeb3f52dd21a737737bcebc90e58f1ef2e9782f3db811d500ffe7061a5eb4a4f523ce7c3bd3ffb0ea47e00e60f39cbeb3cf4c2dbebe2cf5e2dc94bc1a2e
6
+ metadata.gz: 9efe8a0f63c60c1c8b82d06784225b5be520d18832aced1060397673adeae075c3a9377ba66408ce1a0b1105c4c656a3d8530424b41f3a67e4e80be84b97e7f0
7
+ data.tar.gz: 1b9c03604c0e9fd6b98ae4b70818a804f4c80a55b158d54f41d18ce299a6ccec30c81693caaab91cdca778a70b38776e2eb0252154e9f1504fdef7015da6b27e
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
@@ -51,6 +51,13 @@ host: localhost
51
51
  server_type: thin
52
52
  daemonize: false
53
53
 
54
+ #use s3
55
+ s3:
56
+ enabled: false
57
+ access_key_id:
58
+ secret_access_key:
59
+ bucket: boxlet
60
+
54
61
  # Database config
55
62
  db:
56
63
  development:
@@ -65,7 +72,7 @@ db:
65
72
 
66
73
  ```
67
74
 
68
- All config options are available as command-line parameters
75
+ Many config options are available as command-line parameters
69
76
 
70
77
  - Path: `-f` or `--path`
71
78
  - Default: `./`
data/Rakefile CHANGED
File without changes
data/boxlet.gemspec CHANGED
@@ -21,10 +21,11 @@ Gem::Specification.new do |spec|
21
21
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
22
22
  spec.require_paths = ["lib"]
23
23
 
24
- spec.add_dependency "rack", "~> 1.5"
25
- spec.add_dependency "rack-contrib", "~> 1.1"
24
+ spec.add_dependency "rack", "~> 1.5.2"
25
+ spec.add_dependency "rack-contrib", "~> 1.1.0"
26
26
  spec.add_dependency "thin", "~> 1.6"
27
27
  spec.add_dependency "ImageResize", "~> 0.0.5"
28
+ spec.add_dependency "aws-sdk", "~> 1.58.0"
28
29
 
29
30
  spec.add_runtime_dependency 'multi_json', '~> 1.10', '>= 1.10.1'
30
31
  spec.add_runtime_dependency 'mongo', '~> 1.10', '>= 1.10.2'
@@ -33,4 +34,4 @@ Gem::Specification.new do |spec|
33
34
 
34
35
  spec.add_development_dependency "bundler", "~> 1.3"
35
36
  spec.add_development_dependency "rake", "~> 10.3"
36
- end
37
+ end
data/config.yml CHANGED
@@ -21,6 +21,13 @@ daemonize: false
21
21
  pid_file: server.pid
22
22
  log_file: server.log
23
23
 
24
+ #use s3
25
+ s3:
26
+ enabled: false
27
+ access_key_id:
28
+ secret_access_key:
29
+ bucket: boxlet
30
+
24
31
  # Database config
25
32
  db:
26
33
  development:
data/lib/boxlet.rb CHANGED
File without changes
data/lib/boxlet/app.rb CHANGED
File without changes
@@ -2,6 +2,7 @@ require 'date'
2
2
  require 'digest'
3
3
  require 'thread'
4
4
  require 'ImageResize'
5
+ require 'aws-sdk'
5
6
 
6
7
  # routes = {
7
8
  # ["/", :get] => :index,
@@ -111,6 +112,28 @@ module Boxlet
111
112
 
112
113
  t = Thread.new do
113
114
  Image.resize(new_path, new_thumb_path, 150, 150)
115
+
116
+ if Boxlet.config[:s3][:enabled]
117
+ pp 'Uploading to S3...' if Boxlet.config[:debug]
118
+
119
+ s3 = AWS::S3.new(
120
+ :access_key_id => Boxlet.config[:s3][:access_key_id],
121
+ :secret_access_key => Boxlet.config[:s3][:secret_access_key]
122
+ )
123
+ if s3.buckets[Boxlet.config[:s3][:bucket]]
124
+ .objects["#{@params[:uuid]}/#{new_filename}"]
125
+ .write(:file => new_path) &&
126
+ s3.buckets[Boxlet.config[:s3][:bucket]]
127
+ .objects["#{@params[:uuid]}/#{new_thumb_filename}"]
128
+ .write(:file => new_thumb_path)
129
+
130
+ FileUtils.rm(new_path)
131
+ FileUtils.rm(new_thumb_path)
132
+ pp 'Uploading to S3... Done!' if Boxlet.config[:debug]
133
+ else
134
+ pp 'Uploading to S3... Error!!' if Boxlet.config[:debug]
135
+ end
136
+ end
114
137
  end
115
138
 
116
139
  {response: true}
@@ -147,61 +170,61 @@ module Boxlet
147
170
 
148
171
  private
149
172
 
150
- def db
151
- Boxlet::Db.connection
152
- end
173
+ def db
174
+ Boxlet::Db.connection
175
+ end
153
176
 
154
- def set_user
155
- user_model.merge db.collection('users').find({uuid: @params[:uuid]}).to_a.first || {}
156
- end
177
+ def set_user
178
+ user_model.merge db.collection('users').find({uuid: @params[:uuid]}).to_a.first || {}
179
+ end
157
180
 
158
- def user_upload_dir
159
- dir_name = @params[:uuid] || ''
160
- user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + dir_name
161
- Dir.mkdir(user_upload_dir_name) unless File.exists?(user_upload_dir_name)
181
+ def user_upload_dir
182
+ dir_name = @params[:uuid] || ''
183
+ user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + dir_name
184
+ Dir.mkdir(user_upload_dir_name) unless File.exists?(user_upload_dir_name)
162
185
 
163
- if @params[:uuid]
164
- dir_shortname = Digest::MD5.hexdigest(dir_name)
165
- user_upload_dir_shortname = Boxlet.config[:upload_dir] + "/" + dir_shortname
186
+ if @params[:uuid]
187
+ dir_shortname = Digest::MD5.hexdigest(dir_name)
188
+ user_upload_dir_shortname = Boxlet.config[:upload_dir] + "/" + dir_shortname
166
189
 
167
- File.symlink(dir_name, user_upload_dir_shortname) if !File.symlink? user_upload_dir_shortname
190
+ File.symlink(dir_name, user_upload_dir_shortname) if !File.symlink? user_upload_dir_shortname
168
191
 
169
- if File.symlink? user_upload_dir_shortname
170
- user_upload_dir_shortname
192
+ if File.symlink? user_upload_dir_shortname
193
+ user_upload_dir_shortname
194
+ else
195
+ user_upload_dir_name
196
+ end
171
197
  else
172
198
  user_upload_dir_name
173
199
  end
174
- else
175
- user_upload_dir_name
176
200
  end
177
- end
178
201
 
179
- def free_space?
180
- Boxlet::App.free_space > 50
181
- end
202
+ def free_space?
203
+ Boxlet::App.free_space > 50
204
+ end
182
205
 
183
206
 
184
- # Models
207
+ # Models
185
208
 
186
- def file_model
187
- {
188
- filename: '',
189
- size: 0,
190
- local_date: 0,
191
- thumbnail: '',
192
- asset_path: '',
193
- asset_date: '',
194
- uuid: []
195
- }
196
- end
209
+ def file_model
210
+ {
211
+ filename: '',
212
+ size: 0,
213
+ local_date: 0,
214
+ thumbnail: '',
215
+ asset_path: '',
216
+ asset_date: '',
217
+ uuid: []
218
+ }
219
+ end
197
220
 
198
- def user_model
199
- {
200
- uuid: '',
201
- notifications: 1,
202
- last_activity: Time.now
203
- }
204
- end
221
+ def user_model
222
+ {
223
+ uuid: '',
224
+ notifications: 1,
225
+ last_activity: Time.now
226
+ }
227
+ end
205
228
 
206
229
  end
207
230
  end
File without changes
data/lib/boxlet/config.rb CHANGED
File without changes
data/lib/boxlet/db.rb CHANGED
File without changes
data/lib/boxlet/log.rb CHANGED
File without changes
data/lib/boxlet/runner.rb CHANGED
File without changes
@@ -1,3 +1,3 @@
1
1
  module Boxlet
2
- VERSION = "0.1.3"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/handlers/thin.rb CHANGED
@@ -20,7 +20,6 @@ module Boxlet
20
20
  # default_host = environment == 'development' ? : '0.0.0.0'
21
21
  host = @params.delete(:Host) || 'localhost'
22
22
  port = @params.delete(:Port) || 8077
23
- # pp @params
24
23
  args = [host, port, @app, @params]
25
24
 
26
25
  # Thin versions below 0.8.0 do not support additional options
File without changes
@@ -36,14 +36,14 @@ module Rack
36
36
  def call(env)
37
37
  path = env["PATH_INFO"]
38
38
  script_name = env['SCRIPT_NAME']
39
- hHost = env['HTTP_HOST']
40
- sName = env['SERVER_NAME']
41
- sPort = env['SERVER_PORT']
39
+ http_host = env['HTTP_HOST']
40
+ server_name = env['SERVER_NAME']
41
+ server_port = env['SERVER_PORT']
42
42
 
43
43
  @mapping.each do |host, location, match, app|
44
- unless hHost == host \
45
- || sName == host \
46
- || (!host && (hHost == sName || hHost == sName+':'+sPort))
44
+ unless http_host == host \
45
+ || server_name == host \
46
+ || (!host && (http_host == server_name || http_host == server_name + ':' + server_port))
47
47
  next
48
48
  end
49
49
 
File without changes
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boxlet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - arktisklada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-30 00:00:00.000000000 Z
11
+ date: 2015-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: 1.5.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.5'
26
+ version: 1.5.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rack-contrib
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.1'
33
+ version: 1.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.1'
40
+ version: 1.1.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: thin
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.0.5
69
+ - !ruby/object:Gem::Dependency
70
+ name: aws-sdk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 1.58.0
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 1.58.0
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: multi_json
71
85
  requirement: !ruby/object:Gem::Requirement