zippy 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/zippy.rb +7 -5
  2. metadata +31 -41
  3. data/rails/README +0 -18
  4. data/rails/init.rb +0 -23
@@ -1,3 +1,4 @@
1
+ #encoding: utf-8
1
2
  require 'zip/zip'
2
3
 
3
4
  class Zippy
@@ -7,16 +8,17 @@ class Zippy
7
8
 
8
9
 
9
10
  #Make an archive
10
- #Filename is optional; if none is provided, a generated, temporary
11
+ #Takes a hash of options and entries. Options use symbols and entries use strings.
12
+ #The :filename option is optional; if none is provided, a generated, temporary
11
13
  #filename will be used.
12
- #If a block is provided, the archive is yielded
13
- #Takes an optional second parameter which is a hash of entries that will
14
- #be added after initialization
14
+ #
15
+ #Example: Zippy.new(:filename => 'my.zip', 'README' => 'Thank you for reading me.')
15
16
  def initialize(entries_and_options={})
16
17
  entries_and_options.each{|k,v| send("#{k}=", v) if respond_to?("#{k}=") && k.is_a?(Symbol) }
17
18
  without_autocommit do
18
19
  entries_and_options.each{|k,v| self[k] = v if k.is_a?(String) }
19
20
  end
21
+ zipfile.commit if autocommit?
20
22
  yield self if block_given?
21
23
  end
22
24
 
@@ -103,7 +105,7 @@ class Zippy
103
105
  def data
104
106
  return nil if empty?
105
107
  zipfile.commit
106
- File.read(filename)
108
+ File.read(filename, :encoding => Encoding::BINARY)
107
109
  end
108
110
 
109
111
 
metadata CHANGED
@@ -1,67 +1,57 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: zippy
3
- version: !ruby/object:Gem::Version
4
- version: 0.1.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ prerelease:
5
6
  platform: ruby
6
- authors:
7
+ authors:
7
8
  - Tore Darell
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
-
12
- date: 2008-07-25 00:00:00 +02:00
13
- default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-03-15 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: rubyzip
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
16
+ requirement: &2152049820 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.9.1
24
- version:
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *2152049820
25
25
  description: Zippy reads and writes zip files
26
26
  email: toredarell@gmail.com
27
27
  executables: []
28
-
29
28
  extensions: []
30
-
31
29
  extra_rdoc_files: []
32
-
33
- files:
30
+ files:
34
31
  - lib/zippy.rb
35
32
  - README
36
- - rails/init.rb
37
- - rails/README
38
- has_rdoc: true
39
33
  homepage: http://github.com/toretore/zippy
40
34
  licenses: []
41
-
42
35
  post_install_message:
43
36
  rdoc_options: []
44
-
45
- require_paths:
37
+ require_paths:
46
38
  - lib
47
- required_ruby_version: !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- version: "0"
52
- version:
53
- required_rubygems_version: !ruby/object:Gem::Requirement
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
58
- version:
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
59
51
  requirements: []
60
-
61
52
  rubyforge_project:
62
- rubygems_version: 1.3.5
53
+ rubygems_version: 1.8.10
63
54
  signing_key:
64
55
  specification_version: 3
65
56
  summary: rubyzip for dummies
66
57
  test_files: []
67
-
@@ -1,18 +0,0 @@
1
- This plugin adds a template handler for the extension "zipper", so you
2
- could for example have a view show.zip.zipper which returns a zip file.
3
- The view file is evaluated as Ruby, inside a Zippy.new{|zip|} block.
4
-
5
- Example controller:
6
- def show
7
- @gallery = Gallery.find(params[:id])
8
- respond_to do |format|
9
- format.html
10
- format.zip
11
- end
12
- end
13
-
14
- Example view:
15
- zip['description.txt'] = @gallery.description
16
- @gallery.photos.each do |photo|
17
- zip["photo_#{photo.id}.png"] = File.open(photo.url)
18
- end
@@ -1,23 +0,0 @@
1
- require 'zippy'
2
-
3
- Mime::Type.register 'application/zip', :zip
4
-
5
- module ::ActionView
6
- module TemplateHandlers
7
- class Zipper < TemplateHandler
8
- include Compilable
9
-
10
- def compile(template)
11
- "Zippy.new do |zip|" +
12
- (template.respond_to?(:source) ? template.source : template) +
13
- "end.data"
14
- end
15
- end
16
- end
17
- end
18
-
19
- if defined? ::ActionView::Template and ::ActionView::Template.respond_to? :register_template_handler
20
- ::ActionView::Template
21
- else
22
- ::ActionView::Base
23
- end.register_template_handler(:zipper, ::ActionView::TemplateHandlers::Zipper)