tefil 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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
-