ddl_parser 0.0.5 → 0.0.6

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 63d4dbb66ada3b69d10294482aed60ca5b909c2f
4
- data.tar.gz: 09795b90626029ddb528d381f663d28e9a49d3a5
3
+ metadata.gz: 26f392271d3cbfa84aea5054dbb9443153254c72
4
+ data.tar.gz: 51fb85b30b4ddbefd547122f39b21d5a5827d1c6
5
5
  SHA512:
6
- metadata.gz: bd534f8677dcf48f106e1c453a881e17a06f42a98dfc6e09523882484cc90b56f8d1454a8c4771383d19f81c2fd6b19216895b5fd83785be4a4c4d54e9933f1b
7
- data.tar.gz: 5a76d6eef1c476c9fe8b633ab8e085a67304261290c3a91682569d6657ee9ef9f023973a5270f15d47ef1a838b65741e4985eef02700c78f1b90dbb72625899c
6
+ metadata.gz: d625d2c3a66f87b9a02c09fa5fa8193c48ea071814d97c971689a9ab5d40ac2900fdc2aea80e10fc89b0c0a6543424f2a30a9a578bdf19527d8023ae592a63f4
7
+ data.tar.gz: f3380a9731100e2214efb130c368e0a23fc76d640ec455d79d7afcbecf86998fb92b8bdaa0d31013a76180be9dd39085dd8ad407cb5252c32272c5a9f6bb0da1
@@ -44,7 +44,7 @@ class DDLParser::Parser
44
44
  when :alter_table
45
45
  DDLParser::Translator::AlterTable.new(parse_tree)
46
46
  when :create_index
47
- DDLParser::Translator::Createindex.new(parse_tree)
47
+ DDLParser::Translator::CreateIndex.new(parse_tree)
48
48
  else
49
49
  raise "Unknown statement_type #{statement_type}"
50
50
  end
@@ -10,11 +10,15 @@ class DDLParser::Translator::CreateIndex
10
10
  end
11
11
 
12
12
  def table_name
13
- @parse_tree[:table_name]
13
+ @parse_tree.first[:table_name].to_s
14
14
  end
15
15
 
16
- def columns
17
- elements.map{|e|e[:column]}.compact
16
+ def index_name
17
+ @parse_tree.first[:index_name].to_s
18
+ end
19
+
20
+ def fields
21
+ @parse_tree.select{|e|e.has_key?(:field)}.compact
18
22
  end
19
23
 
20
24
  def primary_key
@@ -1,3 +1,3 @@
1
1
  module DDLParser
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
@@ -93,6 +93,23 @@ EOF
93
93
  end
94
94
  end
95
95
 
96
+ context 'create index translate' do
97
+ before :each do
98
+ sql = 'CREATE UNIQUE INDEX REPLAN_ADDR_1 ON REPLAN_ADDR (CONSIGNMENT ASCENDING, COLLI DESCENDING)'
99
+ @parser = DDLParser::Parser.new(sql)
100
+ end
101
+
102
+ it 'table name' do
103
+ @parser.translate.table_name.should == 'replan_addr'
104
+ end
105
+ it 'index name' do
106
+ @parser.translate.index_name.should == 'replan_addr_1'
107
+ end
108
+ it 'columns' do
109
+ @parser.translate.fields.should == [{:field=>"consignment", :sort_id=>"ascending"}, {:field=>"colli", :sort_id=>"descending"}]
110
+ end
111
+
112
+ end
96
113
 
97
114
  context 'report errors' do
98
115
  it 'misses right parant' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddl_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rasmus Bergholdt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-07 00:00:00.000000000 Z
11
+ date: 2014-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parslet