OSDN Git Service

import all source code
[pettanr/pettanr.git] / lib / local_picture.rb
1 require 'picture_io'
2 class PictureIO
3   class LocalPicture
4     def initialize base_dir = Rails.root + 'public/images/'
5       @base = base_dir
6     end
7     
8     def base
9       @base
10     end
11     
12     def base=(b)
13       @base = b
14     end
15     
16     def self.subdirs
17       ['', 'v', 'h', 'vh', 'thumbnail']
18     end
19     
20     def dir(subdir = nil)
21       sd = if subdir.to_s.empty?
22         self.base
23       else
24         self.base + (subdir.to_s + '/')
25       end
26       sd
27     end
28     
29     def mkdir subdir = nil
30       Dir.mkdir(base) unless File.exist?(base)
31       return if subdir.to_s.empty?
32       Dir.mkdir(dir(subdir)) unless File.exist?(dir(subdir))
33     end
34     
35     def put(bindata, filename, subdir = nil)
36       mkdir subdir
37       open(dir(subdir) + filename, 'wb') do |f|
38         f.write bindata
39       end
40     end
41     
42     def get(filename, subdir = nil)
43       bindata = ''
44       open(dir(subdir) + filename, 'rb') do |f|
45         bindata += f.read
46       end
47       bindata
48     end
49     
50   end
51 end