gadget 0.6.2 → 0.7.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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/lib/gadget.rb +49 -49
  4. data/lib/gadget/version.rb +1 -1
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5e7af10c8638cd881c9445106c792a8f4bb691f
4
- data.tar.gz: 285a5b1832e00c9600b6e6686c0482f840fba467
3
+ metadata.gz: 2336757dc9fef12e7744d993fbb108a8bf3d3442
4
+ data.tar.gz: fbc711006e1e72f29b9db1e2dce13966c8a0dd3f
5
5
  SHA512:
6
- metadata.gz: 890b7de992a613cc9261f3ca5058661caed1b7c10db4c93e7082a5a9ec3077707c89e98d637ce6878c4ed08b7e15318f76b01b696c562b98b2cd0d249dc70264
7
- data.tar.gz: c6092f8d37547a928586853ca10fa7d76dd1df9b41a7712084d2fd7c52a715c7dff2a7d40e0d633dbd42622ce34b5b258eed5e136681dc4768800c530560a137
6
+ metadata.gz: 4e6210284a15429d708ac4d79974a377c90385a382428f417e25df22e3dbc4281e39cea98b304cb565673e34c738b12515315d9761b3f68cfb1aa41231826d4e
7
+ data.tar.gz: 701f4bcd234770d80e5f7ffe880d085d8e94b902366a643c1b65491519b137f8692ad2f84cf7bb6ed86ed744dff174259ab538379a1f9cc95036ce344b3b4d9a
data/Rakefile CHANGED
@@ -1,9 +1,9 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
3
  task :console do
4
- require 'irb'
5
- require 'irb/completion'
6
- require 'gadget'
4
+ require "irb"
5
+ require "irb/completion"
6
+ require "gadget"
7
7
  ARGV.clear
8
8
  IRB.start
9
9
  end
@@ -1,9 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
- require 'pg'
4
- require 'tsort'
3
+ require "pg"
4
+ require "tsort"
5
5
 
6
- require 'gadget/version'
6
+ require "gadget/version"
7
7
 
8
8
  ## monkey patch Hash to gain .extractable_options?
9
9
  class Hash
@@ -56,8 +56,8 @@ WHERE t.schemaname='public'
56
56
  END_OF_SQL
57
57
  rs = conn.exec(sql)
58
58
  tuples = rs.reduce({}) do | h, row |
59
- h[row['tablename']] = {
60
- :oid => row['oid'].to_i,
59
+ h[row["tablename"]] = {
60
+ oid: row["oid"].to_i,
61
61
  }
62
62
  h
63
63
  end
@@ -69,7 +69,7 @@ WHERE t.schemaname='public'
69
69
  #
70
70
  # ==== Usage
71
71
  # columns = Gadget.columns(conn)
72
- # columns_in_table = Gadget.columns(conn, 'tablename')
72
+ # columns_in_table = Gadget.columns(conn, "tablename")
73
73
  #
74
74
  # ==== Parameters
75
75
  # * +conn+ - a +PG::Connection+ to the database
@@ -85,7 +85,7 @@ WHERE t.schemaname='public'
85
85
  nspname = args.shift || "public"
86
86
 
87
87
  sql = <<-END_OF_SQL
88
- SELECT t.tablename, a.attname, ns.nspname
88
+ SELECT t.tablename, a.attnum, a.attname, ns.nspname
89
89
  FROM pg_catalog.pg_attribute a
90
90
  INNER JOIN pg_catalog.pg_class c ON a.attrelid = c.oid
91
91
  INNER JOIN pg_catalog.pg_tables t ON c.relname = t.tablename
@@ -104,8 +104,8 @@ AND ns.nspname = $1
104
104
  rs = conn.exec_params(sql, [ nspname, tablename ])
105
105
  end
106
106
  tuples = rs.reduce({}) do | h, row |
107
- h[row['tablename']] ||= { :columns => [] }
108
- h[row['tablename']][:columns] << row['attname']
107
+ h[row["tablename"]] ||= { columns: {} }
108
+ h[row["tablename"]][:columns][row["attnum"]] = row["attname"]
109
109
  h
110
110
  end
111
111
  rs.clear
@@ -116,7 +116,7 @@ AND ns.nspname = $1
116
116
  #
117
117
  # ==== Usage
118
118
  # fks = Gadget.foreign_keys(conn)
119
- # fks_in_table = Gadget.foreign_keys(conn, 'tablename')
119
+ # fks_in_table = Gadget.foreign_keys(conn, "tablename")
120
120
  #
121
121
  # ==== Parameters
122
122
  # * +conn+ - a +PG::Connection+ to the database
@@ -154,15 +154,15 @@ AND pg_constraint.contype = 'f'
154
154
  rs = conn.exec_params(sql, [ tablename ])
155
155
  end
156
156
  tuples = rs.reduce({}) do | h, row |
157
- name = row['tablename']
158
- h[name] ||= { :refs => [] }
159
- col_names = self.columns(conn, name, :include_dropped => true)[name][:columns]
160
- refcol_names = self.columns(conn, row['refname'], :include_dropped => true)[row['refname']][:columns]
157
+ name = row["tablename"]
158
+ h[name] ||= { refs: [] }
159
+ col_names = self.columns(conn, name, include_dropped: true)[name][:columns]
160
+ refcol_names = self.columns(conn, row["refname"], include_dropped: true)[row["refname"]][:columns]
161
161
  new_ref = {
162
- :name => row['name'],
163
- :cols => row['cols'].sub(/\A\{|\}\z/, '').split(',').map { | idx | col_names[idx.to_i - 1] },
164
- :ref_name => row['refname'],
165
- :ref_cols => row['refcols'].sub(/\A\{|\}\z/, '').split(',').map { | idx | refcol_names[idx.to_i - 1] },
162
+ name: row["name"],
163
+ cols: row["cols"].sub(/\A\{|\}\z/, "").split(",").map { | attnum | col_names[attnum] },
164
+ ref_name: row["refname"],
165
+ ref_cols: row["refcols"].sub(/\A\{|\}\z/, "").split(",").map { | attnum | refcol_names[attnum] },
166
166
  }
167
167
  h[name][:refs] << new_ref
168
168
  h
@@ -175,7 +175,7 @@ AND pg_constraint.contype = 'f'
175
175
  #
176
176
  # ==== Usage
177
177
  # constraints = Gadget.constraints(conn)
178
- # constraints_in_table = Gadget.constraints(conn, 'tablename')
178
+ # constraints_in_table = Gadget.constraints(conn, "tablename")
179
179
  #
180
180
  # ==== Parameters
181
181
  # * +conn+ - a +PG::Connection+ to the database
@@ -213,26 +213,26 @@ WHERE t.schemaname = 'public'
213
213
  rs = conn.exec_params(sql, [ tablename ])
214
214
  end
215
215
  tuples = rs.reduce({}) do | h, row |
216
- name = row['tablename']
217
- h[name] ||= { :constraints => [] }
216
+ name = row["tablename"]
217
+ h[name] ||= { constraints: [] }
218
218
  new_constraint = {
219
- :name => row['name'],
220
- :kind => case row['constrainttype']
221
- when 'c'
222
- 'check'
223
- when 'f'
224
- 'foreign key'
225
- when 'p'
226
- 'primary key'
227
- when 't'
228
- 'trigger'
229
- when 'u'
230
- 'unique'
231
- when 'x'
232
- 'exclusion'
233
- else
234
- "*** unknown: '#{row['constrainttype']}'"
235
- end,
219
+ name: row["name"],
220
+ kind: case row["constrainttype"]
221
+ when "c"
222
+ "check"
223
+ when "f"
224
+ "foreign key"
225
+ when "p"
226
+ "primary key"
227
+ when "t"
228
+ "trigger"
229
+ when "u"
230
+ "unique"
231
+ when "x"
232
+ "exclusion"
233
+ else
234
+ %Q(*** unknown: "#{row["constrainttype"]}"")
235
+ end,
236
236
  }
237
237
  h[name][:constraints] << new_constraint
238
238
  h
@@ -331,9 +331,9 @@ WHERE n.nspname = 'public'
331
331
  END_OF_SQL
332
332
 
333
333
  tuples = rs.reduce({}) do | h, row |
334
- h[row['proname']] = {
335
- :oid => row['oid'].to_i,
336
- :arg_types => row['proargtypes'].split(/\s+/).map(&:to_i),
334
+ h[row["proname"]] = {
335
+ oid: row["oid"].to_i,
336
+ arg_types: row["proargtypes"].split(/\s+/).map(&:to_i),
337
337
  }
338
338
  h
339
339
  end
@@ -365,8 +365,8 @@ AND n.nspname = 'public'
365
365
  END_OF_SQL
366
366
  rs = conn.exec(sql)
367
367
  tuples = rs.reduce({}) do | h, row |
368
- h[row['relname']] = {
369
- :oid => row['oid'].to_i,
368
+ h[row["relname"]] = {
369
+ oid: row["oid"].to_i,
370
370
  }
371
371
  h
372
372
  end
@@ -407,10 +407,10 @@ WHERE tg.tgconstrrelid = 0
407
407
  rs = conn.exec_params(sql, [ tablename ])
408
408
  end
409
409
  tuples = rs.reduce({}) do | h, row |
410
- h[row['tgname']] = {
411
- :oid => row['oid'].to_i,
412
- :table_name => row['tablename'],
413
- :function_name => row['proname'],
410
+ h[row["tgname"]] = {
411
+ oid: row["oid"].to_i,
412
+ table_name: row["tablename"],
413
+ function_name: row["proname"],
414
414
  }
415
415
  h
416
416
  end
@@ -439,8 +439,8 @@ FROM pg_catalog.pg_type t
439
439
  END_OF_SQL
440
440
 
441
441
  tuples = rs.reduce({}) do | h, row |
442
- h[row['typname']] = {
443
- :oid => row['oid'].to_i,
442
+ h[row["typname"]] = {
443
+ oid: row["oid"].to_i,
444
444
  }
445
445
  h
446
446
  end
@@ -1,3 +1,3 @@
1
1
  module Gadget
2
- VERSION = "0.6.2"
2
+ VERSION = "0.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gadget
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Craig S. Cottingham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-05 00:00:00.000000000 Z
11
+ date: 2016-11-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pg
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
165
  version: '0'
166
166
  requirements: []
167
167
  rubyforge_project:
168
- rubygems_version: 2.2.2
168
+ rubygems_version: 2.4.5.1
169
169
  signing_key:
170
170
  specification_version: 4
171
171
  summary: Some methods for getting metadata and other deep details from a PostgreSQL