rsql 0.1.6 → 0.1.7

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 (4) hide show
  1. data/bin/rsql +25 -7
  2. data/example.rsqlrc +12 -4
  3. data/lib/rsql.rb +1 -1
  4. metadata +3 -3
data/bin/rsql CHANGED
@@ -61,15 +61,33 @@ end
61
61
  eval_context.load(rc_fn, false) if File.exists?(rc_fn)
62
62
 
63
63
  def get_password(prompt)
64
- iswin = nil != (RUBY_PLATFORM =~ /(win|w)32$/)
65
64
  STDOUT.print(prompt)
66
65
  STDOUT.flush
67
- `stty -echo` unless iswin
68
- password = STDIN.gets
69
- password.chomp!
70
- ensure
71
- `stty echo` unless iswin
72
- STDOUT.puts
66
+ password = ''
67
+
68
+ if RUBY_PLATFORM.match(/(win|w)32$/)
69
+ require 'Win32API'
70
+ begin
71
+ wingetc = Win32API.new("msvcrt", "_getch", [ ], "L")
72
+ rescue Exception
73
+ wingetc = Win32API.new("crtdll", "_getch", [ ], "L")
74
+ end
75
+ while true do
76
+ ch = wingetc.Call
77
+ break if ch == ?\n || ch == ?\r
78
+ password << ch
79
+ end
80
+ else
81
+ begin
82
+ `stty -echo`
83
+ password = STDIN.gets
84
+ password.chomp!
85
+ ensure
86
+ `stty echo`
87
+ STDOUT.puts
88
+ end
89
+ end
90
+
73
91
  return password
74
92
  end
75
93
 
data/example.rsqlrc CHANGED
@@ -76,14 +76,22 @@ DROP TEMPORARY TABLE IF EXISTS #{@rsql_table}
76
76
  #
77
77
  register :fill_table, :desc => 'Populate the example table.' do
78
78
  sql = ''
79
- 10.times do |i|
80
- sql << "
79
+ 9.times do |i|
80
+ sql << %{
81
81
  INSERT IGNORE INTO #{@rsql_table}
82
82
  SET name='fancy#{i}',
83
83
  value=#{i**i},
84
84
  stuff=#{hexify(rand((i+1)**100))};
85
- "
85
+ }
86
86
  end
87
+ # one more that isn't randomly generated so we can reference it
88
+ # later
89
+ sql << %{
90
+ INSERT IGNORE INTO #{@rsql_table}
91
+ SET name='fancy9',
92
+ value=#{9**9},
93
+ stuff=0x1234567891234567891234567890;
94
+ }
87
95
  sqeeze!(sql)
88
96
  end
89
97
 
@@ -266,7 +274,7 @@ end
266
274
  #
267
275
  # RSQL makes querying for hex strings from within a recipe easy too.
268
276
  #
269
- # rsql> .find_stuff 0x346950d3c051c8ac51092a3a2eff7503ef7f571c;
277
+ # rsql> .find_stuff 0x1234567891234567891234567890;
270
278
  #
271
279
  register :find_stuff, :stuff, %q{
272
280
  SELECT * FROM #{@rsql_table} WHERE stuff=#{hexify stuff}
data/lib/rsql.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # Commands using an EvalContext for handling recipes.
3
3
  #
4
4
  module RSQL
5
- VERSION = '0.1.6'
5
+ VERSION = '0.1.7'
6
6
 
7
7
  require 'rsql/mysql'
8
8
  require 'rsql/mysql_results'
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsql
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 6
10
- version: 0.1.6
9
+ - 7
10
+ version: 0.1.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Brad Robel-Forrest