coder 0.3.0 → 0.4.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 05008d6a5f6e5b73c5942a0f93221000d1b8e3b6
4
+ data.tar.gz: fecd70dbfe2e5718a17e55e82ec69cff626a12ea
5
+ SHA512:
6
+ metadata.gz: 553714ab9e39480878b5aa61f7014adccfae4625c65006612f6cd9fd5a2622a91778307accde08747b1d031a55b01812623165b380749f246a77d22de5a39a1b
7
+ data.tar.gz: f92c33188b5d5317030ebf7f4a68abfb232e07ac1fcd5fb90efcfa50afc6bba07680476dd3ce9fdcff920cfbc233740915a291939e3d0a49fb535f11dbb5058e
@@ -2,6 +2,7 @@ rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
4
  - 1.9.3
5
+ - 2.0.0
5
6
  - rbx-18mode
6
7
  - rbx-19mode
7
8
  - jruby-18mode
@@ -28,7 +28,7 @@ module Coder
28
28
 
29
29
  def initialize(encoding)
30
30
  @encoding = encoding.to_s.upcase
31
- @dummy = @encoding == 'UTF-8' ? 'UTF-16BE' : 'UTF-8' if needs_dummy?
31
+ @dummy = @encoding == 'UTF-8' ? 'UTF-16BE' : 'UTF-8'
32
32
  @dummy ||= @encoding
33
33
 
34
34
  check_encoding
@@ -47,10 +47,6 @@ module Coder
47
47
  return if self.class.supports? @encoding
48
48
  raise Coder::InvalidEncoding, "unknown encoding name - #{@encoding}"
49
49
  end
50
-
51
- def needs_dummy?
52
- RUBY_VERSION < '2.0'
53
- end
54
50
  end
55
51
  end
56
52
  end
@@ -33,7 +33,7 @@ module Coder
33
33
  buffer = ::Java::JavaNio::ByteBuffer.wrap(str.to_java_bytes)
34
34
  string = @decoder.decode(buffer).to_s
35
35
  Coder.force_encoding!(string, @encoding).gsub(@nullbyte, '')
36
- rescue Java::JavaLang::RuntimeException => e
36
+ rescue ::Java::JavaLang::RuntimeException => e
37
37
  raise Coder::Error, e.message, e.backtrace
38
38
  end
39
39
  end
@@ -14,7 +14,7 @@ module Coder
14
14
  clear_buffer
15
15
  elsif encoding.single_byte? byte, buffer
16
16
  add(byte)
17
- elsif encoding.multibyte? byte, buffer
17
+ elsif encoding.multibyte_body? byte, buffer
18
18
  fill_buffer(byte)
19
19
  elsif encoding.multibyte_start? byte, buffer
20
20
  start_buffer(byte, encoding.multibyte_size(byte, buffer))
@@ -19,11 +19,15 @@ module Coder
19
19
  input.between? 1, 127
20
20
  end
21
21
 
22
+ def multibyte?(input, buffered)
23
+ input.between? 128, 244
24
+ end
25
+
22
26
  def multibyte_start?(input, buffered)
23
27
  input.between? 192, 244
24
28
  end
25
29
 
26
- def multibyte?(input, buffered)
30
+ def multibyte_body?(input, buffered)
27
31
  input.between? 128, 191
28
32
  end
29
33
 
@@ -52,11 +56,15 @@ module Coder
52
56
  false
53
57
  end
54
58
 
59
+ def multibyte?(input, buffered)
60
+ true
61
+ end
62
+
55
63
  def multibyte_start?(input, buffered)
56
64
  buffered.size % multibyte_size == 0
57
65
  end
58
66
 
59
- def multibyte?(input, buffered)
67
+ def multibyte_body?(input, buffered)
60
68
  not multibyte_start? input, buffered
61
69
  end
62
70
 
@@ -1,3 +1,3 @@
1
1
  module Coder
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Konstantin Haase
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-09-27 00:00:00.000000000 Z
11
+ date: 2013-06-10 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: activesupport
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ~>
44
39
  - !ruby/object:Gem::Version
@@ -46,17 +41,15 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  description: handle encodings, no matter what
@@ -93,27 +86,26 @@ files:
93
86
  - spec/support/clean_helpers.rb
94
87
  homepage: http://github.com/rkh/coder
95
88
  licenses: []
89
+ metadata: {}
96
90
  post_install_message:
97
91
  rdoc_options: []
98
92
  require_paths:
99
93
  - lib
100
94
  required_ruby_version: !ruby/object:Gem::Requirement
101
- none: false
102
95
  requirements:
103
- - - ! '>='
96
+ - - '>='
104
97
  - !ruby/object:Gem::Version
105
98
  version: '0'
106
99
  required_rubygems_version: !ruby/object:Gem::Requirement
107
- none: false
108
100
  requirements:
109
- - - ! '>='
101
+ - - '>='
110
102
  - !ruby/object:Gem::Version
111
103
  version: '0'
112
104
  requirements: []
113
105
  rubyforge_project:
114
- rubygems_version: 1.8.23
106
+ rubygems_version: 2.0.2
115
107
  signing_key:
116
- specification_version: 3
108
+ specification_version: 4
117
109
  summary: library to handle encodings
118
110
  test_files:
119
111
  - spec/coder/cleaner_spec.rb