leangem 2.0.2 → 2.1.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: 69b806d26a5ac227c062e8d817db9bfb34e5bf6d
4
- data.tar.gz: 78cb720698ccc39aa5f09bd6e169298d40cc83fa
3
+ metadata.gz: 888190a3bf33554cc5c8a68ad0cd1258f9480ad2
4
+ data.tar.gz: f797196b103cc32d7f60c52aa7323a7c38f7aa7a
5
5
  SHA512:
6
- metadata.gz: 16adf7e99ec23d203406038a69a716267d8c6f73b8b754905dbe83c361b798844206e7d1bd7d96123c2a949c93ceb3df72b4a9e01c256af587384a09983390d8
7
- data.tar.gz: 1ccb94c1e16b14198657c6cdb5879225326c28af88c45de1c741097824adc024af1583ad9a33e2f83d82c63be61d6ebf2035f3a6bee9f1dea95d1d7728a06765
6
+ metadata.gz: 3403d4bcb39fcb50652ff090f942fcf31e305d99504467c824ad2199d0f3bf7e05846018c53de37c34e4ce9265ea994b8efa52e188dba8e7c37ba5c52d6a4bed
7
+ data.tar.gz: ba659fdca50238e1753acf8c4396ae806b4038c61c09adbafe3eca9afd81db76f5f88f8597f18f24f8365c5c9a4c6a1c80a2b47f19bf64100cc916186fdbeba9
data/lib/fileupload.rb CHANGED
@@ -1,49 +1,96 @@
1
1
  class Fileupload
2
- def initialize(filepath="",min=1,max=4000)
3
- @filepath=filepath
4
- @message=""
5
- @minsize =min*1024
6
- @maxsize=max*1024
7
- end
8
-
9
- def upload(file)
10
- if self.img_validata(file)
11
- sname = self.getname(file.original_filename)
12
- File.open(@filepath+sname, "wb") do |f|
13
- f.write(file.read)
2
+ #file upload
3
+ #params: file->file stream,filepath->file save path,rule->can upload file format("jpg|xls"),minsize and maxsize->minsize<file's size<maxsize
4
+ #return: {state: true, result: "new filename"} or {state: false, result: "error message"}
5
+ def Fileupload.upload(file, filepath="", rule="jpg|xls", minsize=1, maxsize=4000)
6
+ result = Fileupload.rule_validata(file, rule, minsize, maxsize)
7
+ if result[:state]
8
+ sname = Fileupload.getname(file.original_filename, filepath)
9
+ begin
10
+ unless Dir::exist?(filepath)
11
+ Dir.mkdir(filepath)
12
+ end
13
+ File.open(filepath+sname, "wb") do |f|
14
+ f.write(file.read)
15
+ end
16
+ rescue
17
+ return {state: false, result: "写入文件失败:#{$!}"}
14
18
  end
15
- sname
19
+ return {state: true, result: sname}
20
+ else
21
+ return {state: false, result: result[:message]}
16
22
  end
17
23
  end
18
24
 
19
- #大小限制,类型限制,都放进模型层中。
20
- def img_validata(file)
21
- img_for = /\.(f4v|mp4|mp3)+$/.match(file.original_filename)
22
- if img_for.nil? || img_for.blank?
23
- @message="错误:影音文件格式不对,只允许上传f4v,mp4,mp3格式!\\n"
24
- return false
25
+ #validate file
26
+ #params:file->file stream,rule->can upload file format,minsize<file's size<maxsize
27
+ #return:{state: true} or return {state: false, message: "error message"}
28
+ def Fileupload.rule_validata(file, rule, minsize, maxsize)
29
+ rule_for = eval("/\.(#{rule})+$/").match(file.original_filename)
30
+ if rule_for.nil? || rule_for.blank?
31
+ return {state: false, message: "错误:文件格式不对,只允许上传#{rule}格式!\\n"}
25
32
  end
26
- if file.size<@minsize || file.size>@maxsize
27
- @message="错误:影音文件大小错误,只允许#{@minsize}kb~#{@maxsize}kb!\\n"
28
- return false
33
+ if file.size<minsize*1024 || file.size>maxsize*1024
34
+ return {state: false, message: "错误:文件大小错误,只允许#{minsize}kb~#{maxsize}kb!\\n"}
29
35
  end
30
- return true
31
- end
32
-
33
- #错误提示
34
- def message
35
- @message
36
+ return {state: true}
36
37
  end
37
38
 
38
- #保证名称不重复
39
- def getname(filestream)
40
- img_for = filestream[filestream.length-4, 4]
41
- filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<img_for
42
- file = @filepath+filename
39
+ #get new file's name
40
+ #params:filestream->file stream file name,filepath->file save path
41
+ #return:new file's name
42
+ def Fileupload.getname(filestream, filepath)
43
+ file_for = Fileupload.file_format(filestream)
44
+ filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<file_for
45
+ file = filepath+filename
43
46
  while File.exist?(file) do
44
- filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<img_for
45
- file = @filepath+filename
47
+ filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<file_for
48
+ file = filepath+filename
46
49
  end
47
50
  filename
48
51
  end
52
+
53
+ #get file format
54
+ #params: filename->file's name
55
+ #return: file format '.jpg','.exe'
56
+ def Fileupload.file_format(filename)
57
+ /\.[^\.]+$/.match(filename)[0]
58
+ end
59
+
60
+ #image upload
61
+ #params: file->file stream; filepath->file save path; rule->can upload file format("jpg|xls"); minsize and maxsize->minsize<file's size<maxsize; w->new image width, h->new image height
62
+ #return: {state: true, result: "new filename"} or {state: false, result: "error message"}
63
+ def Fileupload.imageupload(imgfile, filepath="", rule="jpg|jpeg", minsize=0, maxsize=2000, w=0, h=0)
64
+ result = Fileupload.rule_validata(imgfile, rule, minsize, maxsize)
65
+ if result[:state]
66
+ sname = Fileupload.getname(imgfile.original_filename, filepath)
67
+ begin
68
+ unless Dir::exist?(filepath)
69
+ Dir.mkdir(filepath)
70
+ end
71
+ File.open(filepath+sname, "wb") do |f|
72
+ f.write(imgfile.read)
73
+ end
74
+ rescue
75
+ return {state: false, result: "写入图片失败:#{$!}"}
76
+ end
77
+ Fileupload.resize(filepath + sname, w, h)
78
+ return {state: true, result: sname}
79
+ else
80
+ return {state: false, result: result[:message]}
81
+ end
82
+ end
83
+
84
+ #image resize
85
+ #params: imagepath-> image file path; w-> new image width; h-> new image height
86
+ def Fileupload.resize(imagepath, w, h)
87
+ img = Magick::Image.read(imagepath)[0]
88
+ if w==0 || h==0
89
+ w=img.columns
90
+ h=img.rows
91
+ end
92
+ newimg = img.resize_to_fill(w, h)
93
+ newimg.write(imagepath)
94
+ end
95
+
49
96
  end
data/lib/pay_gateway.rb CHANGED
@@ -11,7 +11,7 @@ class PayGateway
11
11
  # v_mid:商户编号
12
12
  # key:商户md5密钥
13
13
  # v_url:支付成功后跳转的页面
14
- # remark2:异步订单状态地址,remark2 = "[url:=http://domain/chinabank/AutoReceive.aspx]"格式必须是[url:=xxx]
14
+ # remark2:异步订单状态地址
15
15
  # v_oid:订单编号
16
16
  # v_amount:订单金额
17
17
  # v_moneytype:支付货币类型
@@ -28,15 +28,6 @@ class PayGateway
28
28
  # 功能:自动验证结果
29
29
  # 参数:
30
30
  # params参数
31
- # v_oid = Request["v_oid"];
32
- # v_pstatus = Request["v_pstatus"];
33
- # v_pstring = Request["v_pstring"];
34
- # v_pmode = Request["v_pmode"];
35
- # v_md5str = Request["v_md5str"];
36
- # v_amount = Request["v_amount"];
37
- # v_moneytype = Request["v_moneytype"];
38
- # remark1 = Request["remark1"];
39
- # remark2 = Request["remark2"];
40
31
  # key商户的md5密钥
41
32
  # 返回:如果支付成功返回订单号,否则返回nil
42
33
  def self.receive(params,key)
data/lib/vcode.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #首先 gem 'rmagick'
2
2
  class Vcode
3
- #控制器
3
+ #controller
4
4
  #def getcode
5
5
  # vcode = Vcode.getvcode
6
6
  # session[:code]=vcode[:code]
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leangem
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lean
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-13 00:00:00.000000000 Z
11
+ date: 2010-04-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: vcode,fileupload,pager,imageupload,func,pay_gateway
13
+ description: vcode,fileupload,pager,func,pay_gateway
14
14
  email: leanv@sina.com
15
15
  executables: []
16
16
  extensions: []
@@ -18,7 +18,6 @@ extra_rdoc_files: []
18
18
  files:
19
19
  - lib/fileupload.rb
20
20
  - lib/func.rb
21
- - lib/imageupload.rb
22
21
  - lib/pager.rb
23
22
  - lib/pay_gateway.rb
24
23
  - lib/vcode.rb
@@ -42,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
42
41
  version: '0'
43
42
  requirements: []
44
43
  rubyforge_project:
45
- rubygems_version: 2.4.6
44
+ rubygems_version: 2.2.2
46
45
  signing_key:
47
46
  specification_version: 4
48
47
  summary: leangem!
data/lib/imageupload.rb DELETED
@@ -1,107 +0,0 @@
1
- class Imageupload
2
- #初始化
3
- #临时路径
4
- #图片路径
5
- #清理垃圾,=0不清理
6
- def initialize(minsize=10, maxsize=400, snappath="app/assets/images/snap/", imagepath="app/assets/images/upload/", cleartime=10, bigpath="app/assets/images/upload/")
7
- @minsize = minsize*1024
8
- @maxsize = maxsize*1024
9
- @snappath = snappath
10
- @imagepath = imagepath
11
- @cleartime = cleartime
12
- @bigpath = bigpath
13
- @message=""
14
- end
15
-
16
- #忽略高宽就是自定义大小,传原图到临时空间
17
- def upload(imgfile, rw=0, rh=0, dw=0, dh=0)
18
- if self.img_validata(imgfile)
19
- sname = self.getname(imgfile.original_filename)
20
- imgpath = rw==0 || rh==0 ? @snappath+sname : @imagepath+sname
21
- File.open(imgpath, "wb") do |f|
22
- f.write(imgfile.read)
23
- end
24
- if @cleartime>0
25
- self.clearsnap(sname)
26
- end
27
- if rw==0 || rh==0
28
- return sname
29
- else
30
- self.resize(rw, rh, sname, dw, dh)
31
- end
32
- end
33
- end
34
-
35
- #自定义剪裁缩放
36
- def reimage(x, y, w, h, rw, rh, pname)
37
- imgsnap = @snappath+pname
38
- imgp = @imagepath+pname
39
- img = Magick::Image.read(imgsnap)[0]
40
- if w==0 || h==0
41
- rc = img.resize(rw, rh)
42
- rc.write(imgp)
43
- else
44
- chopped = img.crop(x, y, w, h)
45
- rc = chopped.resize(rw, rh)
46
- rc.write(imgp)
47
- end
48
- File.delete(imgsnap)
49
- end
50
-
51
- #错误提示
52
- def message
53
- @message
54
- end
55
-
56
- #固定剪裁缩放
57
- def resize(rw, rh, imgname, dw, dh)
58
- img = Magick::Image.read(@imagepath+imgname)[0]
59
- newimg = img.resize_to_fill(rw, rh)
60
- newimg.write(@imagepath+imgname)
61
- if dw!=0 && dh !=0
62
- name= imgname[0, imgname.length-4]
63
- format= imgname[imgname.length-4, 4]
64
- bigimg=img.resize_to_fill(dw, dh)
65
- bigimg.write(@bigpath+name+"b"+format)
66
- end
67
- end
68
-
69
- #大小限制,类型限制,都放进模型层中。
70
- def img_validata(img_file)
71
-
72
- img_for = /\.(jpg|gif|GIF|png|jpeg|bmp|BMP|JPG|JPEG|PNG)+$/.match(img_file.original_filename)
73
- if img_for.nil? || img_for.blank?
74
- @message="错误:图片格式不对,只允许上传jpg,gif,png,bmp,jpeg格式!\\n"
75
- return false
76
- end
77
- if img_file.size<@minsize || img_file.size>@maxsize
78
- @message="错误:图片大小错误,只允许#{@minsize}kb~#{@maxsize}kb!\\n"
79
- return false
80
- end
81
- return true
82
- end
83
-
84
- #保证名称不重复
85
- def getname(img_file)
86
- img_for = img_file[img_file.length-4, 4]
87
- filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<img_for
88
- file = @imagepath+filename
89
- while File.exist?(file) do
90
- filename = Time.now.strftime("%Y%m%d%h%m%s")<<rand(99999).to_s<<img_for
91
- file = @imagepath+filename
92
- end
93
- filename
94
- end
95
-
96
- #删除原图
97
- def clearsnap(snapname)
98
- Thread.new do
99
- snapimg = @snappath+snapname
100
- sleep @cleartime
101
- if File.exist?(snapimg)
102
- File.delete(snapimg)
103
- end
104
- Thread.current.kill
105
- end
106
- end
107
- end