sdbcli 0.1.9 → 0.2.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 (4) hide show
  1. data/README +7 -1
  2. data/bin/sdbcli +10 -10
  3. data/lib/sdbcli/sdb-runner.rb +14 -0
  4. metadata +6 -8
data/README CHANGED
@@ -48,7 +48,13 @@ https://bitbucket.org/winebarrel/sdbcli
48
48
  - [itemname1, {attr1: val1, attr2: val2}]
49
49
  - [itemname2, {attr1: val1, attr2: val2}]
50
50
 
51
- Attribute and domain names may appear without quotes if they contain only letters, numbers, underscores (_), or dollar symbols ($) and do not start with a number.
51
+ ap-northeast-1> select * from `test-2`
52
+ ---
53
+ - [itemname1, {attr1: val1, attr2: val2}]
54
+ - [itemname2, {attr1: val1, attr2: val2}]
55
+
56
+ Attribute and domain names may appear without quotes if they contain only letters, numbers, underscores (_),
57
+ or dollar symbols ($) and do not start with a number.
52
58
  You must quote all other attribute and domain names with the backtick (`).
53
59
  see http://docs.amazonwebservices.com/AmazonSimpleDB/latest/DeveloperGuide/QuotingRulesSelect.html
54
60
 
data/bin/sdbcli CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  $LOAD_PATH << File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib')
3
3
 
4
- Version = '0.1.9'
4
+ Version = '0.2.0'
5
5
  HISTORY_FILE = File.join((ENV['HOME'] || ENV['USERPROFILE'] || '.'), '.sdbcli_history')
6
6
 
7
7
  require 'rubygems'
@@ -48,14 +48,14 @@ def execute(query)
48
48
  end
49
49
 
50
50
  unless $stdin.tty?
51
- execute($stdin.read)
52
- exit 0
53
- end
51
+ queries = $stdin.read
54
52
 
55
- if sdb_endpoint =~ /sdb\.([^.]+)\.amazonaws\.com/
56
- region = $1
57
- else
58
- region = 'us-east-1'
53
+ queries.split(';').each do |query|
54
+ next if /\A\s*\Z/ =~ query
55
+ execute(query)
56
+ end
57
+
58
+ exit 0
59
59
  end
60
60
 
61
61
  def help
@@ -100,14 +100,14 @@ at_exit do
100
100
  unless Readline::HISTORY.empty?
101
101
  open(HISTORY_FILE, 'a') do |f|
102
102
  Readline::HISTORY.each do |line|
103
- line = line.strip
103
+ next if /\A\s*\Z/ =~ line
104
104
  f.puts line
105
105
  end
106
106
  end
107
107
  end
108
108
  end
109
109
 
110
- while buf = Readline.readline("#{region}> ", true)
110
+ while buf = Readline.readline("#{$runner.region || 'unknown'}> ", true)
111
111
  if /\A\s*\Z/ =~ buf
112
112
  Readline::HISTORY.pop
113
113
  next
@@ -4,6 +4,16 @@ require 'sdbcli/sdb-parser.tab'
4
4
  module SimpleDB
5
5
  class Error < StandardError; end
6
6
 
7
+ REGIONS = {
8
+ 'sdb.amazonaws.com' => 'us-east-1',
9
+ 'sdb.us-west-1.amazonaws.com' => 'us-west-1',
10
+ 'sdb.us-west-2.amazonaws.com' => 'us-west-2',
11
+ 'sdb.eu-west-1.amazonaws.com' => 'eu-west-1',
12
+ 'sdb.ap-southeast-1.amazonaws.com' => 'ap-southeast-1',
13
+ 'sdb.ap-northeast-1.amazonaws.com' => 'ap-northeast-1',
14
+ 'sdb.sa-east-1.amazonaws.com' => 'sa-east-1',
15
+ }
16
+
7
17
  class Runner
8
18
  def initialize(accessKeyId, secretAccessKey, endpoint = 'sdb.amazonaws.com')
9
19
  @driver = Driver.new(accessKeyId, secretAccessKey, endpoint)
@@ -17,6 +27,10 @@ module SimpleDB
17
27
  @driver.endpoint = v
18
28
  end
19
29
 
30
+ def region
31
+ REGIONS[endpoint]
32
+ end
33
+
20
34
  def execute(query, inline = true)
21
35
  parsed = Parser.parse(query)
22
36
  command = parsed.class.name.split('::').last.to_sym
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdbcli
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 1
9
- - 9
10
- version: 0.1.9
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - winebarrel
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-01-17 00:00:00 +09:00
19
- default_executable:
18
+ date: 2012-01-17 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: nokogiri
@@ -49,7 +48,6 @@ files:
49
48
  - lib/sdbcli/sdb-parser.y
50
49
  - lib/sdbcli/sdb-runner.rb
51
50
  - lib/sdbcli.rb
52
- has_rdoc: true
53
51
  homepage: https://bitbucket.org/winebarrel/sdbcli
54
52
  licenses: []
55
53
 
@@ -79,7 +77,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
77
  requirements: []
80
78
 
81
79
  rubyforge_project:
82
- rubygems_version: 1.4.2
80
+ rubygems_version: 1.8.11
83
81
  signing_key:
84
82
  specification_version: 3
85
83
  summary: sdbcli is an interactive command-line client of Amazon SimpleDB.