zipit 0.2.0 → 0.3.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.
- data/Rakefile +21 -1
- data/VERSION +1 -0
- data/bin/zipit +1 -70
- data/lib/zipit_helper.rb +64 -0
- data/zipit.gemspec +33 -16
- metadata +39 -19
- data/bin/zipit.bat +0 -6
data/Rakefile
CHANGED
@@ -8,9 +8,29 @@ task :zip do
|
|
8
8
|
zip :archive => "zipit.zip", :dir => "."
|
9
9
|
end
|
10
10
|
|
11
|
+
begin
|
12
|
+
require 'jeweler'
|
13
|
+
Jeweler::Tasks.new do |gemspec|
|
14
|
+
gemspec.name = "zipit"
|
15
|
+
gemspec.summary = "Rake helper for zipping/unzipping project files. (Summary)."
|
16
|
+
gemspec.description = "Rake helper for zipping/unzipping project files."
|
17
|
+
gemspec.email = "alexander.shvets@gmail.com"
|
18
|
+
gemspec.homepage = "http://github.com/shvets/zipit"
|
19
|
+
gemspec.authors = ["Alexander Shvets"]
|
20
|
+
gemspec.files = FileList["CHANGES", "zipit.gemspec", "Rakefile", "README", "VERSION", "lib/**/*"]
|
21
|
+
gemspec.add_dependency "rubyzip", ">= 0.9.4"
|
22
|
+
gemspec.executables = ['zipit']
|
23
|
+
gemspec.requirements = ["none"]
|
24
|
+
gemspec.bindir = "bin"
|
25
|
+
end
|
26
|
+
Jeweler::GemcutterTasks.new
|
27
|
+
rescue LoadError
|
28
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalsteaks-jeweler -s http://gems.github.com"
|
29
|
+
end
|
30
|
+
|
11
31
|
desc "Run gem code locally"
|
12
32
|
task :"run:gem" do
|
13
|
-
command = "bin/zipit
|
33
|
+
command = "bin/zipit a.zip ."
|
14
34
|
puts ruby("#{command}")
|
15
35
|
end
|
16
36
|
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.3.1
|
data/bin/zipit
CHANGED
@@ -8,74 +8,5 @@ $:.unshift(File::join(File::dirname(File::dirname(__FILE__)), "lib"))
|
|
8
8
|
|
9
9
|
require 'zipit_helper'
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
# class ZipIt
|
14
|
-
#
|
15
|
-
# # USAGE= <<-TEXT
|
16
|
-
# # Usage:
|
17
|
-
# # translate list - displays the list of supported languages
|
18
|
-
# # translate detect "hello world" - detects language of text
|
19
|
-
# # translate en:ru "hello world" - translates from en to ru
|
20
|
-
# # translate ru "hello world" - translated from auto-detected language to ru
|
21
|
-
# # TEXT
|
22
|
-
#
|
23
|
-
# def initialize
|
24
|
-
# @zipit = ZipItHelper.new
|
25
|
-
# end
|
26
|
-
#
|
27
|
-
# def print_languages list, title
|
28
|
-
# puts title
|
29
|
-
# puts list.join(', ')
|
30
|
-
# end
|
31
|
-
#
|
32
|
-
# def display text
|
33
|
-
# if RUBY_PLATFORM =~ /mswin32/
|
34
|
-
# File.open("temp.txt", "w") {|f| f.write text }
|
35
|
-
# %x[notepad temp.txt]
|
36
|
-
# else
|
37
|
-
# puts text
|
38
|
-
# end
|
39
|
-
# end
|
40
|
-
#
|
41
|
-
# def run
|
42
|
-
# if(ARGV.size == 0)
|
43
|
-
# puts USAGE and return
|
44
|
-
# end
|
45
|
-
#
|
46
|
-
# case ARGV.shift
|
47
|
-
#
|
48
|
-
# when 'list' then
|
49
|
-
# hash = @translator.supported_languages
|
50
|
-
#
|
51
|
-
# print_languages hash[:from_languages], "From Languages:"
|
52
|
-
# print_languages hash[:to_languages], "To Languages:"
|
53
|
-
# when 'detect' then
|
54
|
-
# language = @translator.detect_language(ARGV.shift)
|
55
|
-
#
|
56
|
-
# puts "Language: #{language.inspect}"
|
57
|
-
# when /(..):(..)/ then
|
58
|
-
# from_text = ARGV.join(' ')
|
59
|
-
# from = $1
|
60
|
-
# to = $2
|
61
|
-
#
|
62
|
-
# display(@translator.translate(from.to_sym, to.to_sym, from_text))
|
63
|
-
# when /(..)/ then
|
64
|
-
# from_text = ARGV.join(' ')
|
65
|
-
#
|
66
|
-
# from = @translator.detect_language(from_text)['language']
|
67
|
-
# to = $1
|
68
|
-
#
|
69
|
-
# begin
|
70
|
-
# display(@translator.translate(from.to_sym, to.to_sym, from_text))
|
71
|
-
# rescue Exception => e
|
72
|
-
# puts "Error: " + e.message
|
73
|
-
# end
|
74
|
-
# end
|
75
|
-
# end
|
76
|
-
# end
|
77
|
-
#
|
78
|
-
# Translate.new.run
|
79
|
-
|
80
|
-
zip ARGV
|
11
|
+
zip_cmd_line ARGV
|
81
12
|
|
data/lib/zipit_helper.rb
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'zip/zip'
|
2
|
+
|
3
|
+
class ZipitHelper
|
4
|
+
def create_zip_file params
|
5
|
+
file_name = params[:file_name]
|
6
|
+
dir = params[:dir]
|
7
|
+
@global_excludes = params[:global_excludes].nil? ? [] : params[:global_excludes]
|
8
|
+
@includes = params[:includes].nil? ? [] : params[:includes]
|
9
|
+
@excludes = params[:excludes].nil? ? [] : params[:excludes]
|
10
|
+
|
11
|
+
Zip::ZipOutputStream.open(file_name) do |zos|
|
12
|
+
zip(zos, dir, dir)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def zip zos, name, basedir
|
17
|
+
Dir.new(name).each do |filename|
|
18
|
+
if(filename != '.' and filename != '..')
|
19
|
+
full_name = name + '/' + filename
|
20
|
+
|
21
|
+
if File.directory? full_name
|
22
|
+
zip(zos, full_name, basedir)
|
23
|
+
else
|
24
|
+
new_name = full_name[basedir.length+1..full_name.length]
|
25
|
+
|
26
|
+
if (match?(new_name, @global_excludes) or match?(new_name, @excludes)) and
|
27
|
+
not match?(new_name, @includes)
|
28
|
+
;
|
29
|
+
else
|
30
|
+
puts "Adding #{new_name} ..."
|
31
|
+
# Create a new entry with some arbitrary name
|
32
|
+
zos.put_next_entry(new_name)
|
33
|
+
# Add the contents of the file, don't read the stuff linewise if its binary, instead use direct IO
|
34
|
+
zos.print IO.read(name + '/' + filename)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def match? name, list
|
42
|
+
list.each do |pattern|
|
43
|
+
return true if File.fnmatch(pattern, name)
|
44
|
+
end
|
45
|
+
|
46
|
+
false
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def zip_cmd_line params
|
51
|
+
zipit = ZipitHelper.new
|
52
|
+
|
53
|
+
zipit.create_zip_file(
|
54
|
+
:file_name => params[0], :dir => params[1],
|
55
|
+
:global_excludes => ['.svn'], :excludes => ["*.zip"])
|
56
|
+
end
|
57
|
+
|
58
|
+
def zip params
|
59
|
+
zipit = ZipitHelper.new
|
60
|
+
|
61
|
+
zipit.create_zip_file(
|
62
|
+
:file_name => params[:archive], :dir => params[:dir],
|
63
|
+
:global_excludes => ['.svn'], :excludes => ["*.zip"])
|
64
|
+
end
|
data/zipit.gemspec
CHANGED
@@ -1,31 +1,48 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
1
4
|
# -*- encoding: utf-8 -*-
|
2
5
|
|
3
6
|
Gem::Specification.new do |s|
|
4
7
|
s.name = %q{zipit}
|
5
|
-
s.version = "0.
|
8
|
+
s.version = "0.3.1"
|
6
9
|
|
7
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
|
-
|
9
11
|
s.authors = ["Alexander Shvets"]
|
10
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-05-11}
|
13
|
+
s.default_executable = %q{zipit}
|
11
14
|
s.description = %q{Rake helper for zipping/unzipping project files.}
|
12
15
|
s.email = %q{alexander.shvets@gmail.com}
|
13
|
-
|
14
|
-
s.
|
15
|
-
|
16
|
-
|
16
|
+
s.executables = ["zipit"]
|
17
|
+
s.extra_rdoc_files = [
|
18
|
+
"README"
|
19
|
+
]
|
20
|
+
s.files = [
|
21
|
+
"CHANGES",
|
22
|
+
"README",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"lib/zipit_helper.rb",
|
26
|
+
"zipit.gemspec"
|
27
|
+
]
|
17
28
|
s.homepage = %q{http://github.com/shvets/zipit}
|
29
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
18
30
|
s.require_paths = ["lib"]
|
19
|
-
s.
|
20
|
-
s.rubygems_version = %q{1.3.
|
21
|
-
s.summary = %q{Rake helper for zipping/unzipping project files.}
|
31
|
+
s.requirements = ["none"]
|
32
|
+
s.rubygems_version = %q{1.3.6}
|
33
|
+
s.summary = %q{Rake helper for zipping/unzipping project files. (Summary).}
|
22
34
|
|
23
35
|
if s.respond_to? :specification_version then
|
24
|
-
|
25
|
-
|
36
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
37
|
+
s.specification_version = 3
|
26
38
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
40
|
+
s.add_runtime_dependency(%q<rubyzip>, [">= 0.9.4"])
|
41
|
+
else
|
42
|
+
s.add_dependency(%q<rubyzip>, [">= 0.9.4"])
|
43
|
+
end
|
44
|
+
else
|
45
|
+
s.add_dependency(%q<rubyzip>, [">= 0.9.4"])
|
46
|
+
end
|
31
47
|
end
|
48
|
+
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zipit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 3
|
8
|
+
- 1
|
9
|
+
version: 0.3.1
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Alexander Shvets
|
@@ -9,52 +14,67 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
13
|
-
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
17
|
+
date: 2010-05-11 00:00:00 -04:00
|
18
|
+
default_executable: zipit
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: rubyzip
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 0
|
29
|
+
- 9
|
30
|
+
- 4
|
31
|
+
version: 0.9.4
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
16
34
|
description: Rake helper for zipping/unzipping project files.
|
17
35
|
email: alexander.shvets@gmail.com
|
18
36
|
executables:
|
19
37
|
- zipit
|
20
38
|
extensions: []
|
21
39
|
|
22
|
-
extra_rdoc_files:
|
23
|
-
|
40
|
+
extra_rdoc_files:
|
41
|
+
- README
|
24
42
|
files:
|
25
43
|
- CHANGES
|
26
|
-
- zipit.gemspec
|
27
|
-
- Rakefile
|
28
44
|
- README
|
29
|
-
-
|
30
|
-
-
|
45
|
+
- Rakefile
|
46
|
+
- VERSION
|
47
|
+
- lib/zipit_helper.rb
|
48
|
+
- zipit.gemspec
|
31
49
|
has_rdoc: true
|
32
50
|
homepage: http://github.com/shvets/zipit
|
33
51
|
licenses: []
|
34
52
|
|
35
53
|
post_install_message:
|
36
|
-
rdoc_options:
|
37
|
-
|
54
|
+
rdoc_options:
|
55
|
+
- --charset=UTF-8
|
38
56
|
require_paths:
|
39
57
|
- lib
|
40
58
|
required_ruby_version: !ruby/object:Gem::Requirement
|
41
59
|
requirements:
|
42
60
|
- - ">="
|
43
61
|
- !ruby/object:Gem::Version
|
62
|
+
segments:
|
63
|
+
- 0
|
44
64
|
version: "0"
|
45
|
-
version:
|
46
65
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
47
66
|
requirements:
|
48
67
|
- - ">="
|
49
68
|
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
50
71
|
version: "0"
|
51
|
-
version:
|
52
72
|
requirements:
|
53
73
|
- none
|
54
|
-
rubyforge_project:
|
55
|
-
rubygems_version: 1.3.
|
74
|
+
rubyforge_project:
|
75
|
+
rubygems_version: 1.3.6
|
56
76
|
signing_key:
|
57
|
-
specification_version:
|
58
|
-
summary: Rake helper for zipping/unzipping project files.
|
77
|
+
specification_version: 3
|
78
|
+
summary: Rake helper for zipping/unzipping project files. (Summary).
|
59
79
|
test_files: []
|
60
80
|
|