pg_helper 0.2.1 → 0.3.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.
- data/HISTORY.md +5 -1
- data/lib/pg_helper/query_helper.rb +40 -0
- data/lib/pg_helper/version.rb +1 -1
- data/pg_helper.gemspec +0 -1
- data/spec/lib/pg_helper_spec.rb +2 -2
- metadata +25 -26
data/HISTORY.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## 0.3.0 (2012.01.29)
|
2
|
+
* added multiple values output as hash and array of array.
|
3
|
+
* CSV output
|
4
|
+
|
1
5
|
## 0.2.1 (2011.03.31)
|
2
6
|
* yard documentation added
|
3
7
|
|
@@ -5,4 +9,4 @@
|
|
5
9
|
* changed Jeweler to Bundler
|
6
10
|
|
7
11
|
## 0.1.0 (2011.03.21)
|
8
|
-
* Hello World!
|
12
|
+
* Hello World!
|
@@ -56,6 +56,46 @@ class QueryHelper
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
+
# @param [String] query SQL select that should return one row, may include $1, $2 etc to be replaced by arguments
|
60
|
+
# @param [Array<String>] params query arguments to be passed on to PostgreSql
|
61
|
+
# @return [Hash] Hash of column_name => row_value for resulting row
|
62
|
+
def get_hash(query, params = [])
|
63
|
+
exec(query, params) do |pg_result|
|
64
|
+
require_single_row!(pg_result)
|
65
|
+
pg_result.res[0]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
# @param [String] query SQL select, may include $1, $2 etc to be replaced by arguments
|
70
|
+
# @param [Array<String>] params query arguments to be passed on to PostgreSql
|
71
|
+
# @return [Array<Array>] Array containing Array of values for each row
|
72
|
+
def get_all(query, params = [])
|
73
|
+
exec(query, params) do |pg_result|
|
74
|
+
pg_result.values
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
# @param [String] query SQL select, may include $1, $2 etc to be replaced by arguments
|
79
|
+
# @param [Array<String>] params query arguments to be passed on to PostgreSql
|
80
|
+
# @return [Array<Hash>] Array containing hash of column_name => row_value for each row
|
81
|
+
def get_all_hashes(query, params = [])
|
82
|
+
exec(query, params) do |pg_result|
|
83
|
+
pg_result.to_a
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# @param [String] query SQL select, may include $1, $2 etc to be replaced by arguments
|
88
|
+
# @param [Array<String>] params query arguments to be passed on to PostgreSql
|
89
|
+
# @return String csv representation of query result with csv header
|
90
|
+
def csv(query)
|
91
|
+
csv_query = "COPY (#{query}) TO STDOUT with CSV HEADER"
|
92
|
+
exec(csv_query, params = []) do
|
93
|
+
csv_data = ""
|
94
|
+
csv_data += buf while buf = @pg_connection.get_copy_data(true)
|
95
|
+
csv_data
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
59
99
|
# @param [String] query SQL update, may include $1, $2 etc to be replaced by arguments
|
60
100
|
# @param [Array<String>] params query arguments to be passed on to PostgreSql
|
61
101
|
# @return [Integer] Number of rows changed
|
data/lib/pg_helper/version.rb
CHANGED
data/pg_helper.gemspec
CHANGED
data/spec/lib/pg_helper_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe QueryHelper do
|
|
8
8
|
:port => 1234,
|
9
9
|
:username => 'my user',
|
10
10
|
:password => 'my password',
|
11
|
-
:
|
11
|
+
:dbname => 'my base'
|
12
12
|
}
|
13
13
|
}
|
14
14
|
|
@@ -44,7 +44,7 @@ describe QueryHelper do
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
let(:pg_helper) { QueryHelper.new({:
|
47
|
+
let(:pg_helper) { QueryHelper.new({:dbname => 'postgres', :host => 'localhost'})}
|
48
48
|
|
49
49
|
describe 'single value' do
|
50
50
|
it 'is returned as string' do
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pg_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 3
|
9
|
+
- 0
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ervin
|
@@ -15,12 +15,11 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
19
|
-
default_executable:
|
18
|
+
date: 2012-01-29 00:00:00 Z
|
20
19
|
dependencies:
|
21
20
|
- !ruby/object:Gem::Dependency
|
21
|
+
name: pg
|
22
22
|
prerelease: false
|
23
|
-
type: :runtime
|
24
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
25
|
requirements:
|
@@ -30,11 +29,11 @@ dependencies:
|
|
30
29
|
segments:
|
31
30
|
- 0
|
32
31
|
version: "0"
|
32
|
+
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
|
-
name: pg
|
35
34
|
- !ruby/object:Gem::Dependency
|
35
|
+
name: rake
|
36
36
|
prerelease: false
|
37
|
-
type: :development
|
38
37
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
38
|
none: false
|
40
39
|
requirements:
|
@@ -44,11 +43,11 @@ dependencies:
|
|
44
43
|
segments:
|
45
44
|
- 0
|
46
45
|
version: "0"
|
46
|
+
type: :development
|
47
47
|
version_requirements: *id002
|
48
|
-
name: rake
|
49
48
|
- !ruby/object:Gem::Dependency
|
49
|
+
name: rspec
|
50
50
|
prerelease: false
|
51
|
-
type: :development
|
52
51
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
52
|
none: false
|
54
53
|
requirements:
|
@@ -58,11 +57,11 @@ dependencies:
|
|
58
57
|
segments:
|
59
58
|
- 0
|
60
59
|
version: "0"
|
60
|
+
type: :development
|
61
61
|
version_requirements: *id003
|
62
|
-
name: rspec
|
63
62
|
- !ruby/object:Gem::Dependency
|
63
|
+
name: wirble
|
64
64
|
prerelease: false
|
65
|
-
type: :development
|
66
65
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
66
|
none: false
|
68
67
|
requirements:
|
@@ -72,11 +71,11 @@ dependencies:
|
|
72
71
|
segments:
|
73
72
|
- 0
|
74
73
|
version: "0"
|
74
|
+
type: :development
|
75
75
|
version_requirements: *id004
|
76
|
-
name: wirble
|
77
76
|
- !ruby/object:Gem::Dependency
|
77
|
+
name: metric_fu
|
78
78
|
prerelease: false
|
79
|
-
type: :development
|
80
79
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
80
|
none: false
|
82
81
|
requirements:
|
@@ -86,11 +85,11 @@ dependencies:
|
|
86
85
|
segments:
|
87
86
|
- 0
|
88
87
|
version: "0"
|
88
|
+
type: :development
|
89
89
|
version_requirements: *id005
|
90
|
-
name: metric_fu
|
91
90
|
- !ruby/object:Gem::Dependency
|
91
|
+
name: ZenTest
|
92
92
|
prerelease: false
|
93
|
-
type: :development
|
94
93
|
requirement: &id006 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
95
|
requirements:
|
@@ -100,11 +99,11 @@ dependencies:
|
|
100
99
|
segments:
|
101
100
|
- 0
|
102
101
|
version: "0"
|
102
|
+
type: :development
|
103
103
|
version_requirements: *id006
|
104
|
-
name: ZenTest
|
105
104
|
- !ruby/object:Gem::Dependency
|
105
|
+
name: yard
|
106
106
|
prerelease: false
|
107
|
-
type: :development
|
108
107
|
requirement: &id007 !ruby/object:Gem::Requirement
|
109
108
|
none: false
|
110
109
|
requirements:
|
@@ -114,11 +113,11 @@ dependencies:
|
|
114
113
|
segments:
|
115
114
|
- 0
|
116
115
|
version: "0"
|
116
|
+
type: :development
|
117
117
|
version_requirements: *id007
|
118
|
-
name: yard
|
119
118
|
- !ruby/object:Gem::Dependency
|
119
|
+
name: bluecloth
|
120
120
|
prerelease: false
|
121
|
-
type: :development
|
122
121
|
requirement: &id008 !ruby/object:Gem::Requirement
|
123
122
|
none: false
|
124
123
|
requirements:
|
@@ -128,8 +127,8 @@ dependencies:
|
|
128
127
|
segments:
|
129
128
|
- 0
|
130
129
|
version: "0"
|
130
|
+
type: :development
|
131
131
|
version_requirements: *id008
|
132
|
-
name: bluecloth
|
133
132
|
description: Makes even easier to use postgresql without activerecord
|
134
133
|
email: webervin@gmail.com
|
135
134
|
executables: []
|
@@ -152,7 +151,6 @@ files:
|
|
152
151
|
- pg_helper.gemspec
|
153
152
|
- spec/lib/pg_helper_spec.rb
|
154
153
|
- spec/spec_helper.rb
|
155
|
-
has_rdoc: yard
|
156
154
|
homepage: http://github.com/webervin/pg_helper
|
157
155
|
licenses: []
|
158
156
|
|
@@ -182,9 +180,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
182
180
|
requirements: []
|
183
181
|
|
184
182
|
rubyforge_project: pg_helper
|
185
|
-
rubygems_version: 1.
|
183
|
+
rubygems_version: 1.8.15
|
186
184
|
signing_key:
|
187
185
|
specification_version: 3
|
188
186
|
summary: Tiny wraper for 'pg' gem
|
189
|
-
test_files:
|
190
|
-
|
187
|
+
test_files:
|
188
|
+
- spec/lib/pg_helper_spec.rb
|
189
|
+
- spec/spec_helper.rb
|