packable 1.3.2 → 1.3.5
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +2 -1
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.rdoc +1 -1
- data/Rakefile +1 -111
- data/lib/packable.rb +1 -1
- data/lib/packable/extensions/float.rb +7 -5
- data/lib/packable/version.rb +3 -0
- data/packable.gemspec +16 -59
- data/test/packing_doc_test.rb +1 -1
- data/test/packing_test.rb +21 -17
- metadata +53 -55
- data/LICENSE +0 -26
- data/VERSION.yml +0 -4
data/.gitignore
CHANGED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2012 Marc-Andre Lafortune
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
CHANGED
@@ -32,7 +32,7 @@ It's easy to make you own classes (un)packable. All the previous goodies are thu
|
|
32
32
|
end
|
33
33
|
|
34
34
|
=== Filters
|
35
|
-
It's also easy to define special shortcuts that will call blocks to (un)pack any
|
35
|
+
It's also easy to define special shortcuts that will call blocks to (un)pack any class.
|
36
36
|
As an example, this could be useful to add special packing features to String (without monkey patching String::pack).
|
37
37
|
|
38
38
|
== Installation
|
data/Rakefile
CHANGED
@@ -1,111 +1 @@
|
|
1
|
-
|
2
|
-
require 'rake'
|
3
|
-
require 'rake/testtask'
|
4
|
-
require 'rake/rdoctask'
|
5
|
-
require 'rcov/rcovtask'
|
6
|
-
|
7
|
-
begin
|
8
|
-
require 'jeweler'
|
9
|
-
Jeweler::Tasks.new do |gem|
|
10
|
-
gem.name = "packable"
|
11
|
-
gem.add_dependency "backports"
|
12
|
-
gem.summary = "Extensive packing and unpacking capabilities"
|
13
|
-
gem.email = "github@marc-andre.ca"
|
14
|
-
gem.homepage = "http://github.com/marcandre/packable"
|
15
|
-
gem.description = <<-EOS
|
16
|
-
If you need to do read and write binary data, there is of course <Array::pack and String::unpack
|
17
|
-
The packable library makes (un)packing nicer, smarter and more powerful.
|
18
|
-
EOS
|
19
|
-
gem.authors = ["Marc-André Lafortune"]
|
20
|
-
gem.rubyforge_project = "packable"
|
21
|
-
gem.has_rdoc = true
|
22
|
-
gem.rdoc_options << '--title' << 'Packable library' <<
|
23
|
-
'--main' << 'README.rdoc' <<
|
24
|
-
'--line-numbers' << '--inline-source'
|
25
|
-
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
26
|
-
end
|
27
|
-
rescue LoadError
|
28
|
-
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
29
|
-
end
|
30
|
-
|
31
|
-
Rake::TestTask.new do |t|
|
32
|
-
t.libs << 'lib'
|
33
|
-
t.pattern = 'test/**/*_test.rb'
|
34
|
-
t.verbose = false
|
35
|
-
end
|
36
|
-
|
37
|
-
Rake::RDocTask.new do |rdoc|
|
38
|
-
rdoc.rdoc_dir = 'rdoc'
|
39
|
-
rdoc.title = 'packable'
|
40
|
-
rdoc.options << '--line-numbers' << '--inline-source'
|
41
|
-
rdoc.rdoc_files.include('README*')
|
42
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
43
|
-
end
|
44
|
-
|
45
|
-
Rcov::RcovTask.new do |t|
|
46
|
-
t.libs << 'test'
|
47
|
-
t.test_files = FileList['test/**/*_test.rb']
|
48
|
-
t.verbose = true
|
49
|
-
end
|
50
|
-
|
51
|
-
task :default => :rcov
|
52
|
-
|
53
|
-
# stats
|
54
|
-
begin
|
55
|
-
gem 'rails'
|
56
|
-
require 'code_statistics'
|
57
|
-
namespace :spec do
|
58
|
-
desc "Use Rails's rake:stats task for a gem"
|
59
|
-
task :statsetup do
|
60
|
-
class CodeStatistics
|
61
|
-
def calculate_statistics
|
62
|
-
@pairs.inject({}) do |stats, pair|
|
63
|
-
if 3 == pair.size
|
64
|
-
stats[pair.first] = calculate_directory_statistics(pair[1], pair[2]); stats
|
65
|
-
else
|
66
|
-
stats[pair.first] = calculate_directory_statistics(pair.last); stats
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
71
|
-
::STATS_DIRECTORIES = [['Libraries', 'lib', /.(sql|rhtml|erb|rb|yml)$/],
|
72
|
-
['Tests', 'test', /.(sql|rhtml|erb|rb|yml)$/]]
|
73
|
-
::CodeStatistics::TEST_TYPES << "Tests"
|
74
|
-
end
|
75
|
-
end
|
76
|
-
desc "Report code statistics (KLOCs, etc) from the application"
|
77
|
-
task :stats => "spec:statsetup" do
|
78
|
-
CodeStatistics.new(*STATS_DIRECTORIES).to_s
|
79
|
-
end
|
80
|
-
rescue Gem::LoadError => le
|
81
|
-
task :stats do
|
82
|
-
raise RuntimeError, "'rails' gem not found - you must install it in order to use this task.n"
|
83
|
-
end
|
84
|
-
end
|
85
|
-
|
86
|
-
|
87
|
-
begin
|
88
|
-
require 'rake/contrib/sshpublisher'
|
89
|
-
namespace :rubyforge do
|
90
|
-
|
91
|
-
desc "Release gem and RDoc documentation to RubyForge"
|
92
|
-
task :release => ["rubyforge:release:gem", "rubyforge:release:docs"]
|
93
|
-
|
94
|
-
namespace :release do
|
95
|
-
desc "Publish RDoc to RubyForge."
|
96
|
-
task :docs => [:rdoc] do
|
97
|
-
config = YAML.load(
|
98
|
-
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
99
|
-
)
|
100
|
-
|
101
|
-
host = "#{config['username']}@rubyforge.org"
|
102
|
-
remote_dir = "/var/www/gforge-projects/packable/"
|
103
|
-
local_dir = 'rdoc'
|
104
|
-
|
105
|
-
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
rescue LoadError
|
110
|
-
puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
|
111
|
-
end
|
1
|
+
require "bundler/gem_tasks"
|
data/lib/packable.rb
CHANGED
@@ -13,21 +13,23 @@ module Packable
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
end
|
16
|
-
|
16
|
+
|
17
17
|
def write_packed(io, options)
|
18
18
|
io << pack(self.class.pack_option_to_format(options))
|
19
19
|
end
|
20
20
|
|
21
21
|
module ClassMethods #:nodoc:
|
22
22
|
ENDIAN_TO_FORMAT = Hash.new{|h, endian| raise ArgumentError, "Endian #{endian} is not valid. It must be one of #{h.keys.join(', ')}."}.
|
23
|
-
merge!(:big => "G", :network => "G", :little => "E", :native => "
|
24
|
-
|
23
|
+
merge!(:big => "G", :network => "G", :little => "E", :native => "D").freeze
|
24
|
+
|
25
|
+
FORMAT_TO_SINGLE_PRECISION = {'G' => 'g', 'E' => 'e', 'D' => 'f'}.freeze
|
26
|
+
|
25
27
|
PRECISION = Hash.new{|h, precision| raise ArgumentError, "Precision #{precision} is not valid. It must be one of #{h.keys.join(', ')}."}.
|
26
28
|
merge!(:single => 4, :double => 8).freeze
|
27
29
|
|
28
30
|
def pack_option_to_format(options)
|
29
31
|
format = ENDIAN_TO_FORMAT[options[:endian]]
|
30
|
-
format
|
32
|
+
format = FORMAT_TO_SINGLE_PRECISION[format] if options[:precision] == :single
|
31
33
|
format
|
32
34
|
end
|
33
35
|
|
@@ -36,7 +38,7 @@ module Packable
|
|
36
38
|
s && s.unpack(pack_option_to_format(options)).first
|
37
39
|
end
|
38
40
|
end
|
39
|
-
|
41
|
+
|
40
42
|
end
|
41
43
|
end
|
42
44
|
end
|
data/packable.gemspec
CHANGED
@@ -1,63 +1,20 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'packable/version'
|
2
5
|
|
3
|
-
Gem::Specification.new do |
|
4
|
-
|
5
|
-
|
6
|
+
Gem::Specification.new do |gem|
|
7
|
+
gem.name = "packable"
|
8
|
+
gem.version = Packable::VERSION
|
9
|
+
gem.authors = ["Marc-André Lafortune"]
|
10
|
+
gem.email = ["github@marc-andre.ca"]
|
11
|
+
gem.description = %q{If you need to do read and write binary data, there is of course <Array::pack and String::unpack\n The packable library makes (un)packing nicer, smarter and more powerful.\n}
|
12
|
+
gem.summary = %q{Extensive packing and unpacking capabilities}
|
13
|
+
gem.homepage = ""
|
6
14
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
s.extra_rdoc_files = [
|
13
|
-
"LICENSE",
|
14
|
-
"README.rdoc"
|
15
|
-
]
|
16
|
-
s.files = [
|
17
|
-
".gitignore",
|
18
|
-
"CHANGELOG.rdoc",
|
19
|
-
"LICENSE",
|
20
|
-
"README.rdoc",
|
21
|
-
"Rakefile",
|
22
|
-
"VERSION.yml",
|
23
|
-
"lib/packable.rb",
|
24
|
-
"lib/packable/extensions/array.rb",
|
25
|
-
"lib/packable/extensions/float.rb",
|
26
|
-
"lib/packable/extensions/integer.rb",
|
27
|
-
"lib/packable/extensions/io.rb",
|
28
|
-
"lib/packable/extensions/object.rb",
|
29
|
-
"lib/packable/extensions/proc.rb",
|
30
|
-
"lib/packable/extensions/string.rb",
|
31
|
-
"lib/packable/mixin.rb",
|
32
|
-
"lib/packable/packers.rb",
|
33
|
-
"packable.gemspec",
|
34
|
-
"test/packing_doc_test.rb",
|
35
|
-
"test/packing_test.rb",
|
36
|
-
"test/test_helper.rb"
|
37
|
-
]
|
38
|
-
s.has_rdoc = true
|
39
|
-
s.homepage = %q{http://github.com/marcandre/packable}
|
40
|
-
s.rdoc_options = ["--charset=UTF-8", "--title", "Packable library", "--main", "README.rdoc", "--line-numbers", "--inline-source"]
|
41
|
-
s.require_paths = ["lib"]
|
42
|
-
s.rubyforge_project = %q{packable}
|
43
|
-
s.rubygems_version = %q{1.3.1}
|
44
|
-
s.summary = %q{Extensive packing and unpacking capabilities}
|
45
|
-
s.test_files = [
|
46
|
-
"test/packing_doc_test.rb",
|
47
|
-
"test/packing_test.rb",
|
48
|
-
"test/test_helper.rb"
|
49
|
-
]
|
50
|
-
|
51
|
-
if s.respond_to? :specification_version then
|
52
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
53
|
-
s.specification_version = 2
|
54
|
-
|
55
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
56
|
-
s.add_runtime_dependency(%q<backports>, [">= 0"])
|
57
|
-
else
|
58
|
-
s.add_dependency(%q<backports>, [">= 0"])
|
59
|
-
end
|
60
|
-
else
|
61
|
-
s.add_dependency(%q<backports>, [">= 0"])
|
62
|
-
end
|
15
|
+
gem.files = `git ls-files`.split($/)
|
16
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
17
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
|
+
gem.require_paths = ["lib"]
|
19
|
+
gem.add_runtime_dependency 'backports'
|
63
20
|
end
|
data/test/packing_doc_test.rb
CHANGED
data/test/packing_test.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/test_helper'
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/test_helper')
|
2
2
|
# Warning: ugly...
|
3
3
|
|
4
4
|
class XYZ
|
@@ -13,7 +13,7 @@ class XYZ
|
|
13
13
|
end
|
14
14
|
|
15
15
|
class TestingPack < Test::Unit::TestCase
|
16
|
-
|
16
|
+
|
17
17
|
context "Original form" do
|
18
18
|
should "pack like before" do
|
19
19
|
assert_equal "a \000\000\000\001", ["a",1,66].pack("A3N")
|
@@ -23,17 +23,17 @@ class TestingPack < Test::Unit::TestCase
|
|
23
23
|
assert_equal ["a",1,2.34, 66].pack({:bytes=>3}, {:bytes=>4, :endian=>:big}, {:precision=>:double, :endian=>:big}), ["a",1,2.34, 66].pack("A3NG")
|
24
24
|
end
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def test_shortcuts
|
28
28
|
assert_equal 0x123456.pack(:short), 0x123456.pack(:bytes => 2)
|
29
29
|
assert_equal 0x3456, 0x123456.pack(:short).unpack(:short)
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
def test_custom_form
|
33
|
-
assert_equal "xyz", XYZ.new.pack
|
33
|
+
assert_equal "xyz", XYZ.new.pack
|
34
34
|
assert_equal XYZ, "xyz".unpack(XYZ).class
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
def test_pack_default
|
38
38
|
assert_equal "\000\000\000\006", 6.pack
|
39
39
|
assert_equal "abcd", "abcd".pack
|
@@ -41,7 +41,7 @@ class TestingPack < Test::Unit::TestCase
|
|
41
41
|
String.packers.set :flv_signature, :bytes => 3, :fill => "FLV"
|
42
42
|
assert_equal "xFL", "x".pack(:flv_signature)
|
43
43
|
end
|
44
|
-
|
44
|
+
|
45
45
|
def test_integer
|
46
46
|
assert_equal "\002\001\000", 258.pack(:bytes => 3, :endian => :little)
|
47
47
|
assert_equal 258, Integer.unpack("\002\001\000", :bytes => 3, :endian => :little)
|
@@ -50,19 +50,23 @@ class TestingPack < Test::Unit::TestCase
|
|
50
50
|
assert_equal 42, 42.pack('L').unpack(Integer, :bytes => 4, :endian => :native)
|
51
51
|
assert_raise(ArgumentError){ 42.pack(:endian => "Geronimo")}
|
52
52
|
end
|
53
|
-
|
53
|
+
|
54
54
|
def test_bignum
|
55
55
|
assert_equal 1.pack(:long), ((1 << 69) + 1).pack(:long)
|
56
56
|
assert_equal "*" + ("\000" * 15), (42 << (8*15)).pack(:bytes => 16)
|
57
57
|
assert_equal 42 << (8*15), (42 << (8*15)).pack(:bytes => 16).unpack(Integer, :bytes => 16)
|
58
58
|
assert_equal 42 << (8*15), (42 << (8*15)).pack(:bytes => 16).unpack(Bignum, :bytes => 16)
|
59
59
|
end
|
60
|
-
|
60
|
+
|
61
61
|
def test_float
|
62
|
-
assert_equal Math::PI.pack(:precision => :double, :endian => :native), Math::PI.pack('F')
|
63
62
|
assert_raise(ArgumentError){ Math::PI.pack(:endian => "Geronimo")}
|
63
|
+
assert_equal Math::PI, Math::PI.pack(:precision => :double, :endian => :native).unpack(Float, :precision => :double, :endian => :native)
|
64
|
+
# Issue #1
|
65
|
+
assert_equal Math::PI.pack(:precision => :double), Math::PI.pack('G')
|
66
|
+
assert_equal Math::PI.pack(:precision => :single), Math::PI.pack('g')
|
67
|
+
assert_equal Math::PI.pack(:precision => :double), Math::PI.pack('G')
|
64
68
|
end
|
65
|
-
|
69
|
+
|
66
70
|
def test_io
|
67
71
|
io = StringIO.new("\000\000\000\006abcdE!")
|
68
72
|
n, s, c = io >> [Fixnum, {:signed=>false}] >> [String, {:bytes => 4}] >> :char
|
@@ -71,11 +75,11 @@ class TestingPack < Test::Unit::TestCase
|
|
71
75
|
assert_equal 69, c
|
72
76
|
assert_equal "!", io.read
|
73
77
|
end
|
74
|
-
|
78
|
+
|
75
79
|
should "do basic type checking" do
|
76
80
|
assert_raise(TypeError) {"".unpack(42, :short)}
|
77
81
|
end
|
78
|
-
|
82
|
+
|
79
83
|
context "Reading beyond the eof" do
|
80
84
|
should "raises an EOFError when reading" do
|
81
85
|
["", "x"].each do |s|
|
@@ -85,7 +89,7 @@ class TestingPack < Test::Unit::TestCase
|
|
85
89
|
assert_raise(EOFError) {io.read(String, :bytes => 4)}
|
86
90
|
end
|
87
91
|
end
|
88
|
-
|
92
|
+
|
89
93
|
should "return nil for unpacking" do
|
90
94
|
assert_nil "".unpack(:double)
|
91
95
|
assert_nil "".unpack(:short)
|
@@ -93,7 +97,7 @@ class TestingPack < Test::Unit::TestCase
|
|
93
97
|
assert_nil "x".unpack(:short)
|
94
98
|
end
|
95
99
|
end
|
96
|
-
|
100
|
+
|
97
101
|
context "Filters" do
|
98
102
|
context "for Object" do
|
99
103
|
Object.packers.set :generic_class_writer do |packer|
|
@@ -121,5 +125,5 @@ class TestingPack < Test::Unit::TestCase
|
|
121
125
|
end
|
122
126
|
end
|
123
127
|
end
|
124
|
-
|
125
|
-
end
|
128
|
+
|
129
|
+
end
|
metadata
CHANGED
@@ -1,43 +1,47 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: packable
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.3.5
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
|
-
authors:
|
7
|
-
-
|
7
|
+
authors:
|
8
|
+
- Marc-André Lafortune
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-11-01 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: backports
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
17
22
|
type: :runtime
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
description: If you need to do read and write binary data, there is of course <Array::pack
|
26
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
description: If you need to do read and write binary data, there is of course <Array::pack
|
31
|
+
and String::unpack\n The packable library makes (un)packing nicer, smarter
|
32
|
+
and more powerful.\n
|
33
|
+
email:
|
34
|
+
- github@marc-andre.ca
|
27
35
|
executables: []
|
28
|
-
|
29
36
|
extensions: []
|
30
|
-
|
31
|
-
|
32
|
-
- LICENSE
|
33
|
-
- README.rdoc
|
34
|
-
files:
|
37
|
+
extra_rdoc_files: []
|
38
|
+
files:
|
35
39
|
- .gitignore
|
36
40
|
- CHANGELOG.rdoc
|
37
|
-
-
|
41
|
+
- Gemfile
|
42
|
+
- LICENSE.txt
|
38
43
|
- README.rdoc
|
39
44
|
- Rakefile
|
40
|
-
- VERSION.yml
|
41
45
|
- lib/packable.rb
|
42
46
|
- lib/packable/extensions/array.rb
|
43
47
|
- lib/packable/extensions/float.rb
|
@@ -48,43 +52,37 @@ files:
|
|
48
52
|
- lib/packable/extensions/string.rb
|
49
53
|
- lib/packable/mixin.rb
|
50
54
|
- lib/packable/packers.rb
|
55
|
+
- lib/packable/version.rb
|
51
56
|
- packable.gemspec
|
52
57
|
- test/packing_doc_test.rb
|
53
58
|
- test/packing_test.rb
|
54
59
|
- test/test_helper.rb
|
55
|
-
|
56
|
-
|
60
|
+
homepage: ''
|
61
|
+
licenses: []
|
57
62
|
post_install_message:
|
58
|
-
rdoc_options:
|
59
|
-
|
60
|
-
- --title
|
61
|
-
- Packable library
|
62
|
-
- --main
|
63
|
-
- README.rdoc
|
64
|
-
- --line-numbers
|
65
|
-
- --inline-source
|
66
|
-
require_paths:
|
63
|
+
rdoc_options: []
|
64
|
+
require_paths:
|
67
65
|
- lib
|
68
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
66
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
67
|
+
none: false
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0'
|
72
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
80
78
|
requirements: []
|
81
|
-
|
82
|
-
|
83
|
-
rubygems_version: 1.3.1
|
79
|
+
rubyforge_project:
|
80
|
+
rubygems_version: 1.8.24
|
84
81
|
signing_key:
|
85
|
-
specification_version:
|
82
|
+
specification_version: 3
|
86
83
|
summary: Extensive packing and unpacking capabilities
|
87
|
-
test_files:
|
84
|
+
test_files:
|
88
85
|
- test/packing_doc_test.rb
|
89
86
|
- test/packing_test.rb
|
90
87
|
- test/test_helper.rb
|
88
|
+
has_rdoc:
|
data/LICENSE
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# packable library
|
2
|
-
# Copyright (c) 2008, Marc-André Lafortune.
|
3
|
-
# All rights reserved.
|
4
|
-
# Licensed under the terms of the (modified) BSD License below:
|
5
|
-
#
|
6
|
-
# Redistribution and use in source and binary forms, with or without
|
7
|
-
# modification, are permitted provided that the following conditions are met:
|
8
|
-
# * Redistributions of source code must retain the above copyright
|
9
|
-
# notice, this list of conditions and the following disclaimer.
|
10
|
-
# * Redistributions in binary form must reproduce the above copyright
|
11
|
-
# notice, this list of conditions and the following disclaimer in the
|
12
|
-
# documentation and/or other materials provided with the distribution.
|
13
|
-
# * Neither the name of the author nor the
|
14
|
-
# names of its contributors may be used to endorse or promote products
|
15
|
-
# derived from this software without specific prior written permission.
|
16
|
-
#
|
17
|
-
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY
|
18
|
-
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
19
|
-
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
20
|
-
# DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
21
|
-
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
22
|
-
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
23
|
-
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
24
|
-
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
26
|
-
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/VERSION.yml
DELETED