boxlet 0.0.3 → 0.1.1

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: a6d7e5f493bed4061382d3948eeefd5e8c05c69a
4
- data.tar.gz: 1110db140ef82acce692bf102e0813dde7213060
3
+ metadata.gz: a8ccc8e3e2d33bcd02ae4ad95387f2f7b356dcbb
4
+ data.tar.gz: baefad60c68d00b903da3a60a17035297d2424ed
5
5
  SHA512:
6
- metadata.gz: 7a1086d5b524547e517f5b99454c3d9a035754c3c2bd131860f466675ecb8bfda12190f415361ecd0c39e90c111ceb15dc15b71ba957eb5ed52f473e907a4dd8
7
- data.tar.gz: 4116a07c56b25aab3848b5deddbe6d1ece5af309053ea84ea4cb034d2a99b610db822bfc294b17ad839aed353010ac3354d80195500517192f02dfb176b27850
6
+ metadata.gz: d633624ee6ebcf811baa9e274827949e81f2d6a6c6b038977c8e54be1c44c735715a1037ce3faa845121dbda76b7fff5e63f775caff684cc1b8eed0a892dfe50
7
+ data.tar.gz: 442348771e3e1266b458884165e5f6a6ef388ad1e48cb93f073fb6fc1418782496078eb916325748ad6a757e2f2021fe397c0e5a1fa693a2a143d7bc53cb4928
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Boxlet
2
2
 
3
- Boxlet is a server + mobile app system that allows you to take advantage of free space on any cloud server you may have ssh access to.
3
+ Boxlet is a server + mobile app system that allows you to take advantage of free space on any cloud server you have ssh access to as a backup/sync for your photos.
4
4
 
5
5
  From the mobile iOS app, you can specify any server:port where the Boxlet server is running to sync and backup your photos to a remote server.
6
6
 
data/config.yml CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Environment
4
4
  environment: development
5
- debug: true
5
+ debug: false
6
6
 
7
7
  # File system parameters
8
8
  # path: ./
@@ -18,6 +18,8 @@ port: 8077
18
18
  host: localhost
19
19
  server_type: thin
20
20
  daemonize: false
21
+ pid_file: server.pid
22
+ log_file: server.log
21
23
 
22
24
  # Database config
23
25
  db:
data/lib/boxlet.rb CHANGED
@@ -19,7 +19,6 @@ module Boxlet
19
19
 
20
20
  def run!(argv, command='run', config_file='config.yml', &blk)
21
21
  populate_params!(argv, config_file)
22
-
23
22
  app = Boxlet::App.new
24
23
 
25
24
  case command
data/lib/boxlet/app.rb CHANGED
@@ -34,15 +34,17 @@ module Boxlet
34
34
  def bind
35
35
  Rack::Builder.new do
36
36
  use Rack::Reloader
37
- # use Rack::Static, :urls => ["/public"]
38
- use Rack::FileUpload, :upload_dir => [Boxlet.config[:upload_dir] || APP_ROOT + '/uploads']
37
+ use Rack::FileUpload, :upload_dir => [Boxlet.config[:upload_dir] || APP_ROOT + "/uploads"]
38
+ use Rack::Static, :urls => ["/uploads"]
39
39
 
40
+ # map "/uploads" do
41
+ # run Rack::File.new(Boxlet.config[:upload_dir])
42
+ # end
40
43
  Boxlet::App.routes.each do |route, action|
41
44
  map route[0] do
42
45
  run Boxlet::Router.new(route[1] || :*, action)
43
46
  end
44
47
  end
45
-
46
48
  end.to_app
47
49
  end
48
50
 
@@ -1,4 +1,5 @@
1
1
  require 'date'
2
+ require 'digest'
2
3
 
3
4
  # routes = {
4
5
  # ["/", :get] => :index,
@@ -92,7 +93,7 @@ module Boxlet
92
93
  file = File.open(new_path, 'r')
93
94
  # asset_date = Date.parse(@params[:asset_date])
94
95
  asset = {
95
- filename: upload_file[:filename],
96
+ filename: new_filename,
96
97
  size: file.size,
97
98
  local_date: file.mtime.to_i,
98
99
  asset_path: @params[:asset_path],
@@ -133,9 +134,24 @@ module Boxlet
133
134
  end
134
135
 
135
136
  def user_upload_dir
136
- user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + (@params[:uuid] || '')
137
+ dir_name = @params[:uuid] || ''
138
+ user_upload_dir_name = Boxlet.config[:upload_dir] + "/" + dir_name
137
139
  Dir.mkdir(user_upload_dir_name) unless File.exists?(user_upload_dir_name)
138
- user_upload_dir_name
140
+
141
+ if @params[:uuid]
142
+ dir_shortname = Digest::MD5.hexdigest(dir_name)
143
+ user_upload_dir_shortname = Boxlet.config[:upload_dir] + "/" + dir_shortname
144
+
145
+ File.symlink(dir_name, user_upload_dir_shortname) if !File.symlink? user_upload_dir_shortname
146
+
147
+ if File.symlink? user_upload_dir_shortname
148
+ user_upload_dir_shortname
149
+ else
150
+ user_upload_dir_name
151
+ end
152
+ else
153
+ user_upload_dir_name
154
+ end
139
155
  end
140
156
 
141
157
  def free_space?
data/lib/boxlet/config.rb CHANGED
@@ -2,6 +2,10 @@ module Boxlet
2
2
  module Config
3
3
 
4
4
  ARGS = {
5
+ :environment => {
6
+ :short => 'E',
7
+ :default => 'development'
8
+ },
5
9
  :path => {
6
10
  :short => 'f',
7
11
  :default => Proc.new { Dir.pwd }
@@ -20,19 +24,15 @@ module Boxlet
20
24
  :default => 'rack',
21
25
  :sanitizer => Proc.new { |p| p.to_sym }
22
26
  },
23
- :environment => {
24
- :short => 'E',
25
- :default => 'development'
26
- },
27
27
  :daemonize => {
28
- :short => 'D',
28
+ :short => 'd',
29
29
  :default => 'false',
30
- :sanitizer => Proc.new { |p| p == 'true' }
30
+ :sanitizer => Proc.new { |p| p == true || p == 'true' }
31
31
  },
32
32
  :debug => {
33
- :short => 'd',
33
+ :short => 'D',
34
34
  :default => 'true',
35
- :sanitizer => Proc.new { |p| p == 'true' }
35
+ :sanitizer => Proc.new { |p| p == true || p == 'true' }
36
36
  },
37
37
  :upload_dir => {
38
38
  :short => 'U',
@@ -50,6 +50,14 @@ module Boxlet
50
50
  :short => 'C',
51
51
  :default => '90%',
52
52
  :sanitizer => Proc.new { |p| (p.to_i.to_s == p) ? p.to_i : p }
53
+ },
54
+ :pid_file => {
55
+ :short => 'P',
56
+ :default => Proc.new { Dir.pwd + "/server.pid" }
57
+ },
58
+ :log_file => {
59
+ :short => 'L',
60
+ :default => Proc.new { Dir.pwd + "/server.log" }
53
61
  }
54
62
  }
55
63
 
@@ -57,8 +65,8 @@ module Boxlet
57
65
  def populate_params!(argv, path_to_config)
58
66
  @raw_config = load_config_file(path_to_config)
59
67
  @raw_params = parse_arguments(argv)
60
- # @config = @raw_params.merge(@raw_config)
61
- @config = @raw_config.merge(@raw_params)
68
+
69
+ @config = @raw_params
62
70
 
63
71
  @config[:debug] = @raw_config[:debug] || @raw_params[:debug]
64
72
  if @config[:debug]
@@ -80,7 +88,8 @@ module Boxlet
80
88
  private
81
89
 
82
90
  def parse_arguments(argv)
83
- params = Hash.new
91
+ # params = Hash.new
92
+ params = @raw_config
84
93
 
85
94
  ARGS.each_pair do |param_name, param_attrs|
86
95
  param_short_name = param_attrs[:short]
@@ -1,3 +1,3 @@
1
1
  module Boxlet
2
- VERSION = "0.0.3"
2
+ VERSION = "0.1.1"
3
3
  end
data/lib/handlers/thin.rb CHANGED
@@ -20,13 +20,19 @@ 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
-
23
+ # pp @params
24
24
  args = [host, port, @app, @params]
25
25
 
26
26
  # Thin versions below 0.8.0 do not support additional options
27
27
  args.pop if ::Thin::VERSION::MAJOR < 1 && ::Thin::VERSION::MINOR < 8
28
28
  server = ::Thin::Server.new(*args)
29
29
  yield server if block_given?
30
+
31
+ if @params[:daemonize] == true
32
+ server.pid_file = @params[:pid_file]
33
+ server.log_file = @params[:log_file]
34
+ server.daemonize
35
+ end
30
36
  server.start
31
37
  end
32
38
  end
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.0.3
4
+ version: 0.1.1
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-10 00:00:00.000000000 Z
11
+ date: 2014-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack