tefil 0.0.3 → 0.1.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.
metadata CHANGED
@@ -1,152 +1,175 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tefil
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - ippei94da
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-10 00:00:00.000000000 Z
11
+ date: 2015-07-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rdoc
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '3.12'
19
+ version: 4.0.1
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
29
- version: '3.12'
26
+ version: 4.0.1
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: bundler
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: 1.3.5
33
+ version: 1.9.2
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
45
- version: 1.3.5
40
+ version: 1.9.2
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: jeweler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: 1.8.3
47
+ version: 2.0.1
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
- version: 1.8.3
54
+ version: 2.0.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: capture_stdout
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.0.1
62
69
  - !ruby/object:Gem::Dependency
63
70
  name: simplecov
64
71
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
72
  requirements:
67
- - - ! '>='
73
+ - - ">="
68
74
  - !ruby/object:Gem::Version
69
75
  version: '0'
70
76
  type: :development
71
77
  prerelease: false
72
78
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
79
  requirements:
75
- - - ! '>='
80
+ - - ">="
76
81
  - !ruby/object:Gem::Version
77
82
  version: '0'
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: builtinextension
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
- - - ! '>='
87
+ - - ">="
84
88
  - !ruby/object:Gem::Version
85
89
  version: 0.1.0
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
- - - ! '>='
94
+ - - ">="
92
95
  - !ruby/object:Gem::Version
93
96
  version: 0.1.0
94
- description: ! "This gem provides a framework of text filter.\n Tefil eneable to
97
+ description: "This gem provides a framework of text filter.\n Tefil eneable to
95
98
  make text filter commands which have overwrite option easily.\n "
96
99
  email: ippei94da@gmail.com
97
100
  executables:
98
- - formcolumn
99
- - lineedit
100
- - lineescapezsh
101
+ - columnform
102
+ - indentconv
103
+ - indentstat
101
104
  - linesub
105
+ - percentpack
106
+ - zshescape
102
107
  extensions: []
103
108
  extra_rdoc_files:
104
109
  - LICENSE.txt
105
110
  - README.rdoc
106
111
  files:
107
- - .document
112
+ - ".document"
108
113
  - CHANGES
109
114
  - Gemfile
110
115
  - LICENSE.txt
111
116
  - README.rdoc
112
117
  - Rakefile
113
118
  - VERSION
114
- - bin/formcolumn
115
- - bin/lineedit
116
- - bin/lineescapezsh
119
+ - bin/columnform
120
+ - bin/indentconv
121
+ - bin/indentstat
117
122
  - bin/linesub
123
+ - bin/percentpack
124
+ - bin/zshescape
118
125
  - lib/tefil.rb
119
126
  - lib/tefil/columnformer.rb
127
+ - lib/tefil/indentconverter.rb
128
+ - lib/tefil/indentstatistics.rb
129
+ - lib/tefil/linesubstituter.rb
130
+ - lib/tefil/percentpacker.rb
131
+ - lib/tefil/textfilterbase.rb
132
+ - lib/tefil/zshescaper.rb
133
+ - tefil.gemspec
134
+ - test/columnformer/sample.txt
120
135
  - test/formcolumn_space
121
136
  - test/helper.rb
137
+ - test/indentconv/sample0.txt
138
+ - test/indentconv/sample1.txt
139
+ - test/indentstat/indent4.txt
140
+ - test/indentstat/sample0.txt
141
+ - test/indentstat/sample1.txt
142
+ - test/percentpack/sample.txt
122
143
  - test/test_columnformer.rb
123
- - test/test_tefil.rb
144
+ - test/test_indentconverter.rb
145
+ - test/test_indentstatistics.rb
146
+ - test/test_linesubstituter.rb
147
+ - test/test_percentpacker.rb
148
+ - test/test_textfilterbase.rb
149
+ - test/test_zshescaper.rb
150
+ - test/zshescape/sample.txt
124
151
  homepage: http://github.com/ippei94da/tefil
125
152
  licenses:
126
153
  - MIT
154
+ metadata: {}
127
155
  post_install_message:
128
156
  rdoc_options: []
129
157
  require_paths:
130
158
  - lib
131
159
  required_ruby_version: !ruby/object:Gem::Requirement
132
- none: false
133
160
  requirements:
134
- - - ! '>='
161
+ - - ">="
135
162
  - !ruby/object:Gem::Version
136
163
  version: '0'
137
- segments:
138
- - 0
139
- hash: 416452449
140
164
  required_rubygems_version: !ruby/object:Gem::Requirement
141
- none: false
142
165
  requirements:
143
- - - ! '>='
166
+ - - ">="
144
167
  - !ruby/object:Gem::Version
145
168
  version: '0'
146
169
  requirements: []
147
170
  rubyforge_project:
148
- rubygems_version: 1.8.23
171
+ rubygems_version: 2.2.2
149
172
  signing_key:
150
- specification_version: 3
173
+ specification_version: 4
151
174
  summary: Basic framework of text filter
152
175
  test_files: []
data/bin/lineedit DELETED
@@ -1,38 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
- #
4
- # USAGE: textfilter [options] str0 str1 files ...
5
-
6
- require "pp"
7
- require "optparse"
8
- require "rubygems"
9
- gem "tefil"
10
- require "tefil.rb"
11
-
12
- ## option analysis
13
- OPTIONS = {}
14
- op = OptionParser.new
15
- op.on("-s" , "--sort" , "Sort."){ OPTIONS[:sort] = true}
16
- op.on("-r" , "--randomize" , "Randomize."){ OPTIONS[:random] = true}
17
- op.on("-o" , "--overwrite" , "Overwrite."){ OPTIONS[:overwrite] = true}
18
- op.parse!(ARGV)
19
-
20
- module Tefil
21
- def self.process_stream(in_io, out_io)
22
- in_io.each do |line|
23
- if OPTIONS[:sort]
24
- out_io.puts line.chomp.split(//).sort.join('')
25
- end
26
- if OPTIONS[:random]
27
- out_io.puts line.chomp.split(//).sort_by{rand}.join('')
28
- end
29
- end
30
- end
31
- end
32
-
33
- OPTIONS[:overwrite] ||= false
34
-
35
-
36
- #pp OPTIONS[:overwrite]
37
- #Tefil.run(ARGV, OPTIONS[:overwrite])
38
- Tefil.run(ARGV, OPTIONS[:overwrite])
data/bin/lineescapezsh DELETED
@@ -1,30 +0,0 @@
1
- #! /usr/bin/env ruby
2
- # coding: utf-8
3
- #
4
- # USAGE: lineescapezsh [options] files ...
5
-
6
- require "pp"
7
- require "optparse"
8
- require "rubygems"
9
- #gem "tefil"
10
- require "tefil.rb"
11
- gem "builtinextension"
12
- require "string/escapezsh"
13
-
14
- ## option analysis
15
- OPTIONS = {}
16
- op = OptionParser.new
17
- op.on("-o" , "--overwrite" , "Overwrite."){ OPTIONS[:overwrite] = true}
18
- op.parse!(ARGV)
19
-
20
- module Tefil
21
- def self.process_stream(in_io, out_io)
22
- in_io.each do |line|
23
- out_io.puts line.escape_zsh
24
- end
25
- end
26
- end
27
-
28
- OPTIONS[:overwrite] ||= false
29
-
30
- Tefil.run(ARGV, OPTIONS[:overwrite])
data/test/test_tefil.rb DELETED
@@ -1,130 +0,0 @@
1
- require 'helper'
2
-
3
- require "test/unit"
4
- require "tefil.rb"
5
- require "stringio"
6
- require "tempfile"
7
- require "fileutils"
8
-
9
- module Tefil
10
- def self.process_stream(in_file, out_file)
11
- results = []
12
- in_file.each do |line|
13
- out_file.puts line.sub('a', 'A')
14
- end
15
- end
16
- end
17
-
18
- class TestTefil < Test::Unit::TestCase
19
- TMP00 = "test/tmp00"
20
- TMP01 = "test/tmp01"
21
-
22
- def setup
23
- FileUtils.rm TMP00 if File.exist? TMP00
24
- FileUtils.rm TMP01 if File.exist? TMP01
25
- File.open(TMP00, "w") do |io|
26
- io.puts "abc"
27
- io.puts "def"
28
- end
29
- File.open(TMP01, "w") do |io|
30
- io.puts "abc"
31
- io.puts "def"
32
- io.puts "cab"
33
- end
34
- end
35
-
36
- def teardown
37
- FileUtils.rm TMP00 if File.exist? TMP00
38
- FileUtils.rm TMP01 if File.exist? TMP01
39
- end
40
-
41
- def test_self_run
42
- # Not found
43
- assert_raise(Errno::ENOENT){ Tefil.run([""]) }
44
- assert_raise(Errno::ENOENT){ Tefil.run([""], true) }
45
-
46
- # ファイル指定なしで標準入力
47
- $stdin = StringIO.new
48
- $stdin.puts "abc"
49
- $stdin.puts "def"
50
- $stdin.rewind
51
- # stdout
52
- $stdout = StringIO.new
53
- Tefil.run([], false)
54
- $stdout.rewind
55
- t = $stdout.readlines
56
- assert_equal([ "Abc\n", "def\n" ], t)
57
- $stdout.close
58
-
59
- $stdin = StringIO.new
60
- $stdin.puts "abc"
61
- $stdin.puts "def"
62
- $stdin.rewind
63
- $stdout = StringIO.new
64
- Tefil.run([], true)
65
- $stdout.rewind
66
- t = $stdout.readlines
67
- assert_equal([ "Abc\n", "def\n" ], t)
68
- $stdout.close
69
-
70
- # 単数のファイルを指定。
71
- # overwrite なし。
72
- setup
73
- $stdout = StringIO.new
74
- Tefil.run([TMP00])
75
- $stdout.rewind
76
- tmp = $stdout.readlines
77
- assert_equal(["Abc\n", "def\n"], tmp)
78
- $stdout.close
79
- tmp = File.open(TMP00, "r").readlines
80
- assert_equal(["abc\n", "def\n"], tmp)
81
- tmp = File.open(TMP01, "r").readlines
82
- assert_equal(["abc\n", "def\n", "cab\n"], tmp)
83
-
84
- # overwrite あり
85
- setup
86
- $stdout = StringIO.new
87
- Tefil.run([TMP00], true)
88
- $stdout.rewind
89
- tmp = $stdout.readlines
90
- assert_equal([], tmp)
91
- $stdout.close
92
- tmp = File.open(TMP00, "r").readlines
93
- assert_equal(["Abc\n", "def\n"], tmp)
94
- tmp = File.open(TMP01, "r").readlines
95
- assert_equal(["abc\n", "def\n", "cab\n"], tmp)
96
-
97
- # 複数のファイルを指定。
98
- # overwrite なし。
99
- setup
100
- $stdout = StringIO.new
101
- Tefil.run([TMP00, TMP01])
102
- $stdout.rewind
103
- tmp = $stdout.readlines
104
- assert_equal(["Abc\n", "def\n", "Abc\n", "def\n", "cAb\n"], tmp)
105
- $stdout.close
106
- tmp = File.open(TMP00, "r").readlines
107
- assert_equal(["abc\n", "def\n"], tmp)
108
- tmp = File.open(TMP01, "r").readlines
109
- assert_equal(["abc\n", "def\n", "cab\n"], tmp)
110
-
111
- # overwrite あり。
112
- setup
113
- $stdout = StringIO.new
114
- Tefil.run([TMP00, TMP01], true)
115
- $stdout.rewind
116
- stdout = $stdout.readlines
117
- assert_equal([], stdout)
118
- $stdout.close
119
- tmp = File.open(TMP00, "r").readlines
120
- assert_equal(["Abc\n", "def\n"], tmp)
121
- tmp = File.open(TMP01, "r").readlines
122
- assert_equal(["Abc\n", "def\n", "cAb\n"], tmp)
123
-
124
- # グローバル変数の標準出力、標準入力を元に戻す。
125
- $stdout = STDOUT
126
- $stdin = STDIN
127
- end
128
-
129
- end
130
-