cmess 0.4.0 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6388ed1476587af57eb196817003d94d58ecb268
4
- data.tar.gz: 41551903b954d2de73b62203467d93955ac2516f
3
+ metadata.gz: ac20cb55f5cf6cf51e70976198b7c92587fa2f16
4
+ data.tar.gz: e249042daace0a5ec023e4f6ae0af745b652f254
5
5
  SHA512:
6
- metadata.gz: 4ffc33d0ed9392797a97a5eb535cb0652687e0b8abcd2b6a30de85d41beb63b65ebfa434a625b6aa91bfa379ad5fe8a2f46286aa3450b930633bea9241ba30e7
7
- data.tar.gz: e11d90e25d6b5fb5c0f6d81f7d2824e2c7dd662e5feef1f7978cd66588fcd0a5a18cc0d60fbe2d1ee6b3cac254198ff07a64bd985b1d7bb5f3a1f27aa7d7096a
6
+ metadata.gz: efb2614cc280ddfe49a530f14081b054d4ed46f80f0202c9c075c71ef0d039d14521d447ecc577bf358c120cf35825026aa0f29e83fa9c85424846dd04c46f27
7
+ data.tar.gz: c590474057294fea1e463fc111777691b60d100f5550a51d1f4660b7639d42a95e7bdb9196afd2d4e71c8719d160725343459de7bf13961107c56142f48b9a5a
data/ChangeLog CHANGED
@@ -2,6 +2,11 @@
2
2
 
3
3
  = Revision history for cmess
4
4
 
5
+ == 0.4.1 [2014-06-20]
6
+
7
+ * Various updates/refactorings.
8
+ * Housekeeping.
9
+
5
10
  == 0.4.0 [2013-08-02]
6
11
 
7
12
  * Updated for Ruby 1.9.2+. <b>Ruby 1.8 no longer supported.</b>
data/README CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  == VERSION
4
4
 
5
- This documentation refers to cmess version 0.4.0
5
+ This documentation refers to cmess version 0.4.1
6
6
 
7
7
 
8
8
  == DESCRIPTION
@@ -31,10 +31,9 @@ Ruby versions. CMess has been tested with ruby 2.0.0p247 on x86_64-linux.
31
31
 
32
32
  == LINKS
33
33
 
34
- <b></b>
35
- Documentation:: http://blackwinter.github.com/cmess
36
- Source code:: http://github.com/blackwinter/cmess
37
- RubyGem:: http://rubygems.org/gems/cmess
34
+ Documentation:: https://blackwinter.github.com/cmess
35
+ Source code:: https://github.com/blackwinter/cmess
36
+ RubyGem:: https://rubygems.org/gems/cmess
38
37
 
39
38
 
40
39
  == AUTHORS
@@ -54,7 +53,7 @@ RubyGem:: http://rubygems.org/gems/cmess
54
53
  Copyright (C) 2007-2012 University of Cologne,
55
54
  Albertus-Magnus-Platz, 50923 Cologne, Germany
56
55
 
57
- Copyright (C) 2013 Jens Wille
56
+ Copyright (C) 2013-2014 Jens Wille
58
57
 
59
58
  cmess is free software: you can redistribute it and/or modify it under the
60
59
  terms of the GNU Affero General Public License as published by the Free
data/Rakefile CHANGED
@@ -15,10 +15,10 @@ following tools: #{Dir['bin/*'].map { |e| File.basename(e) }.sort.join(', ')})
15
15
  EOT
16
16
  author: %q{Jens Wille},
17
17
  email: %q{jens.wille@gmail.com},
18
- license: %q{AGPL},
18
+ license: %q{AGPL-3.0},
19
19
  homepage: :blackwinter,
20
20
  extra_files: FileList['data/**/*'].to_a,
21
- dependencies: [['ruby-nuggets', '>= 0.3.3'], 'htmlentities'],
21
+ dependencies: %w[htmlentities nuggets safe_yaml],
22
22
 
23
23
  required_ruby_version: '>= 1.9.2'
24
24
  }
@@ -40,7 +40,7 @@ module CMess
40
40
  autoload :DecodeEntities, 'cmess/decode_entities'
41
41
  autoload :GuessEncoding, 'cmess/guess_encoding'
42
42
 
43
- DATA_DIR = File.expand_path('../../data', __FILE__)
43
+ DATA_DIR = ENV['CMESS_DATA'] || File.expand_path('../../data', __FILE__)
44
44
 
45
45
  class << self
46
46
 
@@ -29,7 +29,7 @@
29
29
  #++
30
30
 
31
31
  require 'cmess'
32
- require 'yaml'
32
+ require 'safe_yaml/load'
33
33
 
34
34
  # Convert between bibliographic (and other) encodings.
35
35
 
@@ -51,7 +51,7 @@ class CMess::BConv
51
51
  chartab = load_chartab(chartab)
52
52
 
53
53
  chartab[chartab.keys.first].keys.map { |encoding|
54
- encoding.upcase unless encoding =~ /\A__/
54
+ encoding.upcase unless encoding.start_with?('__')
55
55
  }.compact.sort
56
56
  end
57
57
 
@@ -61,7 +61,7 @@ class CMess::BConv
61
61
  chartab
62
62
  when String
63
63
  raise "chartab file not found: #{chartab}" unless File.readable?(chartab)
64
- YAML.load_file(chartab)
64
+ SafeYAML.load_file(chartab)
65
65
  else
66
66
  raise ArgumentError, "invalid chartab of type #{chartab.class}"
67
67
  end
@@ -74,9 +74,6 @@ class CMess::BConv
74
74
  :input, :output, :source_encoding, :target_encoding
75
75
  )
76
76
 
77
- @source_encoding = options[:source_encoding].upcase
78
- @target_encoding = options[:target_encoding].upcase
79
-
80
77
  @chartab = self.class.load_chartab(options[:chartab] || DEFAULT_CHARTAB_FILE)
81
78
  @encodings = self.class.encodings(@chartab)
82
79
 
@@ -58,7 +58,7 @@ module CMess::Cinderella
58
58
  input.each { |line|
59
59
  out = line =~ regexp ? crop : pot or next
60
60
 
61
- line.gsub!(regexp) { |m| encoded[m] } if repair
61
+ line.gsub!(regexp, encoded) if repair
62
62
  out.puts(line)
63
63
  }
64
64
  end
@@ -32,7 +32,6 @@ require 'cmess'
32
32
 
33
33
  require 'optparse'
34
34
  require 'tempfile'
35
- require 'yaml'
36
35
  require 'nuggets/env/user_encoding'
37
36
  require 'nuggets/string/capitalize_first'
38
37
  require 'nuggets/string/word_wrap'
@@ -68,7 +67,7 @@ module CMess::CLI
68
67
  when 'r' then STDIN
69
68
  when 'w' then STDOUT
70
69
  when 'a' then STDERR
71
- else raise ArgumentError, "don't know how to handle mode `#{mode}'"
70
+ else raise ArgumentError, "don't know how to handle mode `#{mode}'"
72
71
  end
73
72
  else
74
73
  ensure_readable(file) unless mode == 'w'
@@ -84,7 +83,7 @@ module CMess::CLI
84
83
  STDIN.each { |line| temp << line }
85
84
  else
86
85
  ensure_readable(file)
87
- File.open(file) { |f| f.each { |line| temp << line } }
86
+ File.foreach(file) { |line| temp << line }
88
87
  end
89
88
  }
90
89
 
@@ -95,11 +94,9 @@ module CMess::CLI
95
94
 
96
95
  def trailing_args_as_input(options)
97
96
  unless ARGV.empty? || options[:input_set]
98
- options[:input] = if ARGV.size == 1
99
- open_file_or_std(ARGV.first)
100
- else
97
+ options[:input] = ARGV.size == 1 ?
98
+ open_file_or_std(ARGV.first) :
101
99
  open_temporary_input(*ARGV)
102
- end
103
100
  end
104
101
  end
105
102
 
@@ -9,7 +9,7 @@
9
9
  # Albertus-Magnus-Platz, #
10
10
  # 50923 Cologne, Germany #
11
11
  # #
12
- # Copyright (C) 2013 Jens Wille #
12
+ # Copyright (C) 2013-2014 Jens Wille #
13
13
  # #
14
14
  # Authors: #
15
15
  # Jens Wille <jens.wille@gmail.com> #
@@ -36,9 +36,9 @@
36
36
 
37
37
  require 'cmess/guess_encoding'
38
38
 
39
- require 'yaml'
40
39
  require 'stringio'
41
40
  require 'forwardable'
41
+ require 'safe_yaml/load'
42
42
 
43
43
  # Tries to detect the encoding of a given input by applying several
44
44
  # heuristics to determine the <b>most likely</b> candidate. If no
@@ -91,7 +91,7 @@ class CMess::GuessEncoding::Automatic
91
91
  e, f = self[k], UTF_8
92
92
  TEST_ENCODINGS << e unless TEST_ENCODINGS.include?(e)
93
93
  h[e] = CHARS_TO_TEST.flat_map { |c| c.encode(e, f).unpack('C') }
94
- }.update(YAML.load_file(File.join(CMess::DATA_DIR, 'test_chars.yaml')))
94
+ }.update(SafeYAML.load_file(File.join(CMess::DATA_DIR, 'test_chars.yaml')))
95
95
 
96
96
  # Relative count of TEST_CHARS must exceed this threshold to yield
97
97
  # a direct match.
@@ -122,9 +122,9 @@ class CMess::GuessEncoding::Automatic
122
122
 
123
123
  def encoding(*encodings, &block)
124
124
  encodings.flatten.each { |encoding|
125
- unless @supported_encodings.include?(encoding)
126
- @supported_encodings << encoding
127
- @encoding_guessers << block
125
+ unless supported_encoding?(encoding)
126
+ supported_encodings << encoding
127
+ encoding_guessers << block
128
128
  end
129
129
  }
130
130
  end
@@ -134,9 +134,9 @@ class CMess::GuessEncoding::Automatic
134
134
  end
135
135
 
136
136
  def bom_encoding(encoding, &block)
137
- unless @supported_boms.include?(encoding)
138
- @supported_boms << encoding
139
- @bom_guessers << lambda { |*| encoding if instance_eval(&block) }
137
+ unless supported_bom?(encoding)
138
+ supported_boms << encoding
139
+ bom_guessers << lambda { |*| encoding if instance_eval(&block) }
140
140
  end
141
141
  end
142
142
 
@@ -4,7 +4,7 @@ module CMess
4
4
 
5
5
  MAJOR = 0
6
6
  MINOR = 4
7
- TINY = 0
7
+ TINY = 1
8
8
 
9
9
  class << self
10
10
 
metadata CHANGED
@@ -1,41 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cmess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Wille
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-02 00:00:00.000000000 Z
11
+ date: 2014-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: ruby-nuggets
14
+ name: htmlentities
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.3
19
+ version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.3
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: htmlentities
28
+ name: nuggets
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: safe_yaml
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - '>='
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - '>='
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: hen
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
39
81
  - !ruby/object:Gem::Version
40
82
  version: '0'
41
83
  description: |
@@ -53,16 +95,10 @@ extra_rdoc_files:
53
95
  - COPYING
54
96
  - ChangeLog
55
97
  files:
56
- - lib/cmess.rb
57
- - lib/cmess/bconv.rb
58
- - lib/cmess/cinderella.rb
59
- - lib/cmess/cli.rb
60
- - lib/cmess/decode_entities.rb
61
- - lib/cmess/guess_encoding.rb
62
- - lib/cmess/guess_encoding/automatic.rb
63
- - lib/cmess/guess_encoding/encoding.rb
64
- - lib/cmess/guess_encoding/manual.rb
65
- - lib/cmess/version.rb
98
+ - COPYING
99
+ - ChangeLog
100
+ - README
101
+ - Rakefile
66
102
  - bin/bconv
67
103
  - bin/cinderella
68
104
  - bin/decode_entities
@@ -87,10 +123,6 @@ files:
87
123
  - data/csets/utf-8.yaml
88
124
  - data/csets/utf8.yaml
89
125
  - data/test_chars.yaml
90
- - COPYING
91
- - ChangeLog
92
- - README
93
- - Rakefile
94
126
  - example/cinderella/crop
95
127
  - example/cinderella/crop_repaired
96
128
  - example/cinderella/empty6-slash.txt
@@ -101,35 +133,51 @@ files:
101
133
  - example/guess_encoding/en.utf-8.txt
102
134
  - example/guess_encoding/fr.utf-8.txt
103
135
  - example/guess_encoding/it.utf-8.txt
136
+ - lib/cmess.rb
137
+ - lib/cmess/bconv.rb
138
+ - lib/cmess/cinderella.rb
139
+ - lib/cmess/cli.rb
140
+ - lib/cmess/decode_entities.rb
141
+ - lib/cmess/guess_encoding.rb
142
+ - lib/cmess/guess_encoding/automatic.rb
143
+ - lib/cmess/guess_encoding/encoding.rb
144
+ - lib/cmess/guess_encoding/manual.rb
145
+ - lib/cmess/version.rb
104
146
  homepage: http://github.com/blackwinter/cmess
105
147
  licenses:
106
- - AGPL
148
+ - AGPL-3.0
107
149
  metadata: {}
108
- post_install_message:
150
+ post_install_message: |2+
151
+
152
+ cmess-0.4.1 [2014-06-20]:
153
+
154
+ * Various updates/refactorings.
155
+ * Housekeeping.
156
+
109
157
  rdoc_options:
110
- - --charset
158
+ - "--title"
159
+ - cmess Application documentation (v0.4.1)
160
+ - "--charset"
111
161
  - UTF-8
112
- - --line-numbers
113
- - --all
114
- - --title
115
- - cmess Application documentation (v0.4.0)
116
- - --main
162
+ - "--line-numbers"
163
+ - "--all"
164
+ - "--main"
117
165
  - README
118
166
  require_paths:
119
167
  - lib
120
168
  required_ruby_version: !ruby/object:Gem::Requirement
121
169
  requirements:
122
- - - '>='
170
+ - - ">="
123
171
  - !ruby/object:Gem::Version
124
172
  version: 1.9.2
125
173
  required_rubygems_version: !ruby/object:Gem::Requirement
126
174
  requirements:
127
- - - '>='
175
+ - - ">="
128
176
  - !ruby/object:Gem::Version
129
177
  version: '0'
130
178
  requirements: []
131
179
  rubyforge_project:
132
- rubygems_version: 2.0.6
180
+ rubygems_version: 2.3.0
133
181
  signing_key:
134
182
  specification_version: 4
135
183
  summary: 'Assist with handling messed up encodings (Currently includes the following