abstract-tables 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/abstract-tables.gemspec +4 -2
- data/bin/atcut +41 -0
- data/bin/atgrep +2 -2
- data/bin/atmod +41 -0
- data/lib/abtab/drivers/dbi_driver.rb +1 -1
- data/lib/abtab/drivers/tab_driver.rb +1 -0
- metadata +40 -3
data/abstract-tables.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
SPEC = Gem::Specification.new do |s|
|
4
4
|
s.name = "abstract-tables"
|
5
|
-
s.version = "1.0.
|
5
|
+
s.version = "1.0.5"
|
6
6
|
s.date = '2011-02-15'
|
7
7
|
s.authors = ["Kyle Burton"]
|
8
8
|
s.email = "kyle.burton@gmail.com"
|
@@ -40,10 +40,12 @@ DESC
|
|
40
40
|
test/fixtures/files/file1.tab
|
41
41
|
]
|
42
42
|
puts "all files: #{s.files.inspect}"
|
43
|
-
s.executables = %w[atcat atview]
|
43
|
+
s.executables = %w[atcat atcut atgrep atmod atview]
|
44
44
|
s.require_paths = %w[lib bin]
|
45
45
|
s.extra_rdoc_files = %w[README.textile] # LICENSE]
|
46
46
|
s.add_runtime_dependency('dbi', [">= 0.4.5"])
|
47
47
|
s.add_runtime_dependency('spreadsheet', [">= 0.6.5.2"])
|
48
|
+
s.add_runtime_dependency('fastercsv', [">= 1.5.4"])
|
49
|
+
s.add_runtime_dependency('base_app', [">= 1.0.5"])
|
48
50
|
s.has_rdoc = false
|
49
51
|
end
|
data/bin/atcut
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'abtab'
|
4
|
+
require 'abtab/filter/cut'
|
5
|
+
require 'base_app'
|
6
|
+
|
7
|
+
class CutApp < BaseApp
|
8
|
+
def command_line_arguments
|
9
|
+
super.concat [
|
10
|
+
['f','fields=','Fields to cut (include in the output)',true]
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
input_uri = nil
|
16
|
+
if File.pipe?('/dev/stdin')
|
17
|
+
input_uri = 'tab:///dev/stdin'
|
18
|
+
else
|
19
|
+
input_uri = ARGV.shift or raise "You must speicfy a URI to grep"
|
20
|
+
end
|
21
|
+
|
22
|
+
inp = Abtab.read_handle input_uri
|
23
|
+
flt = Abtab::Filter::Cut.new inp
|
24
|
+
flt.set_cut_column_spec self.fields
|
25
|
+
#flt.set_columns inp.columns
|
26
|
+
|
27
|
+
outp = nil
|
28
|
+
if ARGV.empty?
|
29
|
+
outp = Abtab.write_handle 'tab:///dev/stdout'
|
30
|
+
else
|
31
|
+
outp = Abtab.write_handle ARGV.shift
|
32
|
+
end
|
33
|
+
|
34
|
+
outp.import flt
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
#if $0 == __FILE__
|
39
|
+
CutApp.main
|
40
|
+
#end
|
41
|
+
|
data/bin/atgrep
CHANGED
data/bin/atmod
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'abtab'
|
4
|
+
require 'abtab/filter/mod'
|
5
|
+
require 'base_app'
|
6
|
+
|
7
|
+
class ModApp < BaseApp
|
8
|
+
def command_line_arguments
|
9
|
+
super.concat [
|
10
|
+
['e','expression','Mod Expression',true]
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
input_uri = nil
|
16
|
+
if File.pipe?('/dev/stdin')
|
17
|
+
input_uri = 'tab:///dev/stdin'
|
18
|
+
else
|
19
|
+
input_uri = ARGV.shift or raise "You must speicfy a URI to grep"
|
20
|
+
end
|
21
|
+
|
22
|
+
flt = Abtab::Filter::Mod.new input_uri
|
23
|
+
flt.open_for_reading
|
24
|
+
p = eval("Proc.new {|r| #{self.expression} }")
|
25
|
+
flt.mod_fn = p
|
26
|
+
|
27
|
+
outp = nil
|
28
|
+
if ARGV.empty?
|
29
|
+
outp = Abtab.write_handle 'tab:///dev/stdout'
|
30
|
+
else
|
31
|
+
outp = Abtab.write_handle ARGV.shift
|
32
|
+
end
|
33
|
+
|
34
|
+
outp.import flt
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
#if $0 == __FILE__
|
39
|
+
ModApp.main
|
40
|
+
#end
|
41
|
+
|
@@ -6,7 +6,7 @@ class Abtab::Driver::DbiDriver < Abtab::Driver
|
|
6
6
|
|
7
7
|
DB_MODULES = {
|
8
8
|
'Pg' => { :require => 'Pg', :name => 'Pg' },
|
9
|
-
'pg' => { :require => '
|
9
|
+
'pg' => { :require => 'pg', :name => 'Pg' },
|
10
10
|
# TODO: test these
|
11
11
|
#'mysql' => 'mysql',
|
12
12
|
#'Mysql' => 'mysql',
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abstract-tables
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 5
|
10
|
+
version: 1.0.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Kyle Burton
|
@@ -51,6 +51,38 @@ dependencies:
|
|
51
51
|
version: 0.6.5.2
|
52
52
|
type: :runtime
|
53
53
|
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: fastercsv
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
hash: 11
|
63
|
+
segments:
|
64
|
+
- 1
|
65
|
+
- 5
|
66
|
+
- 4
|
67
|
+
version: 1.5.4
|
68
|
+
type: :runtime
|
69
|
+
version_requirements: *id003
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: base_app
|
72
|
+
prerelease: false
|
73
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ">="
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
hash: 29
|
79
|
+
segments:
|
80
|
+
- 1
|
81
|
+
- 0
|
82
|
+
- 5
|
83
|
+
version: 1.0.5
|
84
|
+
type: :runtime
|
85
|
+
version_requirements: *id004
|
54
86
|
description: |+
|
55
87
|
The best I could come up with was to just show you:
|
56
88
|
|
@@ -65,6 +97,9 @@ description: |+
|
|
65
97
|
email: kyle.burton@gmail.com
|
66
98
|
executables:
|
67
99
|
- atcat
|
100
|
+
- atcut
|
101
|
+
- atgrep
|
102
|
+
- atmod
|
68
103
|
- atview
|
69
104
|
extensions: []
|
70
105
|
|
@@ -87,6 +122,8 @@ files:
|
|
87
122
|
- README.textile
|
88
123
|
- test/fixtures/files/file1.csv
|
89
124
|
- test/fixtures/files/file1.tab
|
125
|
+
- bin/atcut
|
126
|
+
- bin/atmod
|
90
127
|
has_rdoc: true
|
91
128
|
homepage: http://github.com/kyleburton/abstract-tables
|
92
129
|
licenses: []
|