fossilize 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ -f d
@@ -2,8 +2,28 @@
2
2
 
3
3
  require "fossilize"
4
4
 
5
- delta = Fossilize.create(ARGV[0], ARGV[1])
6
- output = Fossilize.apply(ARGV[0], delta)
5
+ usage = "usage: fossilize <create|apply> old_version <new_version|delta_string>"
7
6
 
8
- File.write("fossilized_#{ARGV[0]}", output)
7
+ if ARGV.size < 2
8
+ puts usage
9
+ exit -1
10
+ end
9
11
 
12
+ old_version = ARGV[1]
13
+ new_or_delta = ARGV[2]
14
+
15
+ if ARGV[0] == "create"
16
+ delta = Fossilize.create(old_version, new_or_delta)
17
+ File.write("#{old_version}.delta", delta)
18
+ puts "Wrote delta string to: #{old_version}.fdelta\n\n"
19
+ puts delta
20
+ exit 0
21
+ elsif ARGV[0] == "apply"
22
+ result = Fossilize.apply(old_version, new_or_delta)
23
+ File.write("#{old_version}.fossilized", result)
24
+ puts "Wrote new version to: #{old_version}.fossilized"
25
+ exit 0
26
+ else
27
+ puts usage
28
+ exit -1
29
+ end
@@ -54,20 +54,14 @@ module Fossilize
54
54
  source_string = check_input(source)
55
55
  target_string = check_input(target)
56
56
 
57
- # Create native memory buffers for the input Strings.
58
- source_ptr = FFI::MemoryPointer.new(:char, source_string.size)
59
- source_ptr.put_bytes(0, source_string)
60
- target_ptr = FFI::MemoryPointer.new(:char, target_string.size)
61
- target_ptr.put_bytes(0, target_string)
62
-
63
57
  # Create a bare string to hold to returning delta from the C function that's the
64
58
  # size of the target + 60 (according to the Fossil source docs).
65
- delta = (' ' * (target_string.size + 60))
59
+ delta = ("\0" * (target_string.size + 60))
66
60
 
67
61
  # create the delta, retaining the size of the delta output and return the delta,
68
62
  # stripping out any excess left over (needs refinement...).
69
- delta_size = delta_create(source_ptr, source_ptr.size, target_ptr, target_ptr.size, delta)
70
- return delta.strip!
63
+ delta_size = delta_create(source_string, source_string.size, target_string, target_string.size, delta)
64
+ return delta.rstrip!
71
65
  end
72
66
 
73
67
  # Access
@@ -96,7 +90,6 @@ module Fossilize
96
90
 
97
91
  # Get the eventual size of the deltaed file and create a string to hold it
98
92
  expected_output_size = delta_output_size(delta_string, delta_string.size)
99
- puts "expected = #{expected_output_size}"
100
93
 
101
94
  # The algorithm will return -1 as the output size if there was an error
102
95
  if expected_output_size == -1
@@ -116,7 +109,7 @@ module Fossilize
116
109
  return nil
117
110
  end
118
111
 
119
- return output.strip!
112
+ return output
120
113
  end
121
114
 
122
115
  private
@@ -1,3 +1,3 @@
1
1
  module Fossilize
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fossilize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-15 00:00:00.000000000 Z
12
+ date: 2012-10-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi
@@ -86,6 +86,7 @@ extensions:
86
86
  extra_rdoc_files: []
87
87
  files:
88
88
  - .gitignore
89
+ - .rspec
89
90
  - Gemfile
90
91
  - LICENSE
91
92
  - README.md