abstract-tables 1.0.4 → 1.0.5
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.
- 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: []
|