boxlet 0.1.3 → 0.2.0

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