each_sql 0.2.0 → 0.2.1

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. data/CHANGELOG.rdoc +3 -0
  2. data/Rakefile +2 -2
  3. data/VERSION +1 -1
  4. data/lib/each_sql/each_sql.rb +10 -11
  5. metadata +85 -77
data/CHANGELOG.rdoc CHANGED
@@ -1,3 +1,6 @@
1
+ === 0.2.1 / 2011/06/20
2
+ * Fixed invalid gem packaging
3
+
1
4
  === 0.2.0 / 2011/06/17
2
5
  * Second release. Handles more cases.
3
6
  * Ruby 1.8 compatible
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
17
17
  gem.name = "each_sql"
18
18
  gem.homepage = "http://github.com/junegunn/each_sql"
19
19
  gem.license = "MIT"
20
- gem.summary = %Q{Enumerate through each SQL statement in SQL scripts.}
21
- gem.description = %Q{Enumerate through each SQL statement in SQL scripts.}
20
+ gem.summary = %Q{Enumerate each SQL statement in SQL scripts.}
21
+ gem.description = %Q{Enumerate each SQL statement in SQL scripts.}
22
22
  gem.email = "junegunn.c@gmail.com"
23
23
  gem.authors = ["Junegunn Choi"]
24
24
  # dependencies defined in Gemfile
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
@@ -16,14 +16,13 @@ class EachSQL
16
16
  end
17
17
 
18
18
  def each
19
- # Phase 1: comment out input
20
19
  @input = @org_input.dup
21
- @input_c = zero_out @org_input
22
-
23
20
  return nil if @input.nil? || @input.empty?
24
21
 
25
- @delimiter = @options[:delimiter]
22
+ # Zero out comments and string literals to simplify subsequent parsing
23
+ @input_c = zero_out @org_input
26
24
 
25
+ @delimiter = @options[:delimiter]
27
26
  while @input && @input.length > 0
28
27
  # Extract a statement
29
28
  statement = next_statement
@@ -44,8 +43,7 @@ class EachSQL
44
43
  end
45
44
 
46
45
  # Ignore
47
- if statement.length > 0 &&
48
- (@options[:ignore] || []).all? { |ipat| statement !~ ipat }
46
+ if (@options[:ignore] || []).all? { |ipat| statement !~ ipat }
49
47
  yield statement
50
48
  @prev_statement = statement
51
49
  end
@@ -54,7 +52,9 @@ class EachSQL
54
52
  nil
55
53
  end
56
54
 
55
+ # To change delimiter while parsing the input
57
56
  attr_accessor :delimiter, :delimiter_string
57
+
58
58
  private
59
59
  def zero_out input
60
60
  output = input.dup
@@ -82,7 +82,7 @@ private
82
82
  end
83
83
 
84
84
  ret = @input[0...@cur].strip
85
- @input = @input[@cur..-1]
85
+ @input = @input[@cur..-1]
86
86
  @input_c = @input_c[@cur..-1]
87
87
  return ret
88
88
  end
@@ -91,9 +91,9 @@ private
91
91
  # Look for the closest delimiter
92
92
  md = match @input_c, @delimiter, @cur
93
93
  delim_start = md ? md[:begin] : @input.length
94
- delim_end = md ? md[:end] : @input.length
94
+ delim_end = md ? md[:end] : @input.length
95
95
 
96
- # Look for the closest block
96
+ # Look for the closest block depending on the current context
97
97
  target_blocks =
98
98
  if @options[:nesting_context].any? {|pat| @input_c.match pat }
99
99
  @all_blocks
@@ -121,8 +121,6 @@ private
121
121
  return :done
122
122
  end
123
123
 
124
- # #####################################
125
-
126
124
  # We found a block. Look for the end of it
127
125
  @cur = body_start
128
126
 
@@ -143,6 +141,7 @@ private
143
141
  return :continue
144
142
  end
145
143
 
144
+ # For Ruby 1.8 compatibility
146
145
  def match str, pat, idx
147
146
  md = str[idx..-1].match(pat)
148
147
  return nil if md.nil?
metadata CHANGED
@@ -1,96 +1,104 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: each_sql
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.0
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.2.1
6
6
  platform: ruby
7
- authors:
8
- - Junegunn Choi
7
+ authors:
8
+ - Junegunn Choi
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-06-16 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: &2161248000 !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 1.0.0
22
- type: :development
23
- prerelease: false
24
- version_requirements: *2161248000
25
- - !ruby/object:Gem::Dependency
26
- name: jeweler
27
- requirement: &2161247520 !ruby/object:Gem::Requirement
28
- none: false
29
- requirements:
30
- - - ~>
31
- - !ruby/object:Gem::Version
32
- version: 1.6.2
33
- type: :development
34
- prerelease: false
35
- version_requirements: *2161247520
36
- - !ruby/object:Gem::Dependency
37
- name: rcov
38
- requirement: &2161247040 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
44
- type: :development
45
- prerelease: false
46
- version_requirements: *2161247040
47
- description: Enumerate through each SQL statement in SQL scripts.
12
+
13
+ date: 2011-06-20 00:00:00 +09:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: bundler
18
+ version_requirements: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 1.0.0
24
+ requirement: *id001
25
+ prerelease: false
26
+ type: :development
27
+ - !ruby/object:Gem::Dependency
28
+ name: jeweler
29
+ version_requirements: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 1.6.2
35
+ requirement: *id002
36
+ prerelease: false
37
+ type: :development
38
+ - !ruby/object:Gem::Dependency
39
+ name: rcov
40
+ version_requirements: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ requirement: *id003
47
+ prerelease: false
48
+ type: :development
49
+ description: Enumerate each SQL statement in SQL scripts.
48
50
  email: junegunn.c@gmail.com
49
51
  executables: []
52
+
50
53
  extensions: []
51
- extra_rdoc_files:
52
- - LICENSE.txt
53
- - README.rdoc
54
- files:
55
- - .document
56
- - CHANGELOG.rdoc
57
- - Gemfile
58
- - Gemfile.lock
59
- - LICENSE.txt
60
- - README.rdoc
61
- - Rakefile
62
- - VERSION
63
- - lib/each_sql.rb
64
- - lib/each_sql/each_sql.rb
65
- - test/helper.rb
66
- - test/postgres.sql
67
- - test/test_each_sql.rb
54
+
55
+ extra_rdoc_files:
56
+ - LICENSE.txt
57
+ - README.rdoc
58
+ files:
59
+ - .document
60
+ - CHANGELOG.rdoc
61
+ - Gemfile
62
+ - Gemfile.lock
63
+ - LICENSE.txt
64
+ - README.rdoc
65
+ - Rakefile
66
+ - VERSION
67
+ - lib/each_sql.rb
68
+ - lib/each_sql/each_sql.rb
69
+ - test/helper.rb
70
+ - test/postgres.sql
71
+ - test/test_each_sql.rb
72
+ has_rdoc: true
68
73
  homepage: http://github.com/junegunn/each_sql
69
- licenses:
70
- - MIT
74
+ licenses:
75
+ - MIT
71
76
  post_install_message:
72
77
  rdoc_options: []
73
- require_paths:
74
- - lib
75
- required_ruby_version: !ruby/object:Gem::Requirement
78
+
79
+ require_paths:
80
+ - lib
81
+ required_ruby_version: !ruby/object:Gem::Requirement
76
82
  none: false
77
- requirements:
78
- - - ! '>='
79
- - !ruby/object:Gem::Version
80
- version: '0'
81
- segments:
82
- - 0
83
- hash: 2241318967940806787
84
- required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ hash: 2
87
+ segments:
88
+ - 0
89
+ version: "0"
90
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
91
  none: false
86
- requirements:
87
- - - ! '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: "0"
90
96
  requirements: []
97
+
91
98
  rubyforge_project:
92
- rubygems_version: 1.7.2
99
+ rubygems_version: 1.5.1
93
100
  signing_key:
94
101
  specification_version: 3
95
- summary: Enumerate through each SQL statement in SQL scripts.
102
+ summary: Enumerate each SQL statement in SQL scripts.
96
103
  test_files: []
104
+