bitclust-dev 0.5.4 → 0.5.5
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.
- data/tools/bc-checkparams.rb +40 -14
- metadata +35 -29
data/tools/bc-checkparams.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'pathname'
|
5
|
+
require 'set'
|
5
6
|
|
6
7
|
bindir = Pathname.new(__FILE__).realpath.dirname
|
7
8
|
$LOAD_PATH.unshift((bindir + '../lib').realpath)
|
@@ -60,14 +61,16 @@ module BitClust
|
|
60
61
|
end
|
61
62
|
|
62
63
|
def method_entry_chunk
|
64
|
+
method_signatures = []
|
63
65
|
@f.while_match(/\A---/) do |line|
|
64
|
-
method_signature
|
66
|
+
method_signatures << method_signature(line)
|
65
67
|
end
|
66
68
|
props = {}
|
67
69
|
@f.while_match(/\A:/) do |line|
|
68
70
|
k, v = line.sub(/\A:/, '').split(':', 2)
|
69
71
|
props[k.strip] = v.strip
|
70
72
|
end
|
73
|
+
params = Set.new
|
71
74
|
while @f.next?
|
72
75
|
case @f.peek
|
73
76
|
when /\A===+/
|
@@ -93,7 +96,9 @@ module BitClust
|
|
93
96
|
when /@see/
|
94
97
|
see
|
95
98
|
when /\A@[a-z]/
|
96
|
-
method_info
|
99
|
+
method_info.each do |param|
|
100
|
+
params << param
|
101
|
+
end
|
97
102
|
else
|
98
103
|
if @f.peek.strip.empty?
|
99
104
|
@f.gets
|
@@ -102,6 +107,7 @@ module BitClust
|
|
102
107
|
end
|
103
108
|
end
|
104
109
|
end
|
110
|
+
check_parameters(method_signatures, params)
|
105
111
|
end
|
106
112
|
|
107
113
|
def headline(line)
|
@@ -200,27 +206,20 @@ module BitClust
|
|
200
206
|
@f.ungets(header)
|
201
207
|
case cmd
|
202
208
|
when '@param', '@arg'
|
203
|
-
name = header.slice!(/\A\s*\w+/
|
204
|
-
params << name
|
209
|
+
name = header.slice!(/\A\s*\w+/) || '?'
|
210
|
+
params << name.strip
|
205
211
|
when '@raise'
|
206
212
|
# nop
|
207
213
|
when '@return'
|
208
214
|
# nop
|
215
|
+
when '@todo'
|
216
|
+
# nop
|
209
217
|
else
|
210
218
|
$stderr.puts "[UNKNOWN_META_INFO] #{cmd}"
|
211
219
|
end
|
212
220
|
dd_without_p
|
213
221
|
end
|
214
|
-
|
215
|
-
params.map(&:strip).each{|param|
|
216
|
-
unless @sig.params.split(',').map(&:strip).any?{|v|
|
217
|
-
param == v.tr('*', '').gsub(/\s*=\s*.+/, '')
|
218
|
-
}
|
219
|
-
$stderr.puts "#{@f.lineno}: #{@sig.friendly_string}"
|
220
|
-
$stderr.puts params.inspect
|
221
|
-
$stderr.puts @sig.params.inspect
|
222
|
-
end
|
223
|
-
}
|
222
|
+
params
|
224
223
|
rescue
|
225
224
|
$stderr.puts "#{@f.lineno}: #{@sig.friendly_string}"
|
226
225
|
$stderr.puts params.inspect
|
@@ -240,6 +239,33 @@ module BitClust
|
|
240
239
|
def method_signature(sig_line)
|
241
240
|
@sig = MethodSignature.parse(sig_line)
|
242
241
|
end
|
242
|
+
|
243
|
+
private
|
244
|
+
|
245
|
+
def check_parameters(method_signatures, params)
|
246
|
+
params_in_signature = extract_params(method_signatures)
|
247
|
+
unless params_in_signature == params
|
248
|
+
puts "#{@f.lineno}:"
|
249
|
+
method_signatures.each do |signature|
|
250
|
+
puts signature.friendly_string
|
251
|
+
puts "signature: #{signature.params}"
|
252
|
+
end
|
253
|
+
puts "@params: #{params.to_a.join(", ")}"
|
254
|
+
puts "-" * 72
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
def extract_params(method_signatures)
|
259
|
+
method_signatures.map do |signature|
|
260
|
+
next unless signature.params
|
261
|
+
signature.params.split(",").map do |param|
|
262
|
+
param = param.tr("*&", "")
|
263
|
+
param = param.gsub(/\=.*/, "")
|
264
|
+
param = param.gsub(/.*:/, "")
|
265
|
+
param.strip
|
266
|
+
end
|
267
|
+
end.compact.flatten.to_set
|
268
|
+
end
|
243
269
|
end
|
244
270
|
end
|
245
271
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitclust-dev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: tools
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-02-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bitclust-core
|
@@ -18,7 +18,7 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.5.
|
21
|
+
version: 0.5.5
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.5.
|
29
|
+
version: 0.5.5
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: test-unit
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -53,43 +53,43 @@ description: ! 'Rurema is a Japanese ruby documentation project, and
|
|
53
53
|
email:
|
54
54
|
- ''
|
55
55
|
executables:
|
56
|
-
- bc-
|
56
|
+
- bc-tochm.rb
|
57
57
|
- bc-methods.rb
|
58
|
-
- bc-classes.rb
|
59
|
-
- statrefm.rb
|
60
58
|
- bc-checkparams.rb
|
61
|
-
- bc-rdoc.rb
|
62
|
-
- gencatalog.rb
|
63
|
-
- check-signature.rb
|
64
|
-
- bc-tochm.rb
|
65
|
-
- bc-preproc.rb
|
66
59
|
- bc-ancestors.rb
|
67
|
-
- forall-ruby.rb
|
68
|
-
- stattodo.rb
|
69
60
|
- bc-list.rb
|
70
|
-
-
|
71
|
-
-
|
61
|
+
- stattodo.rb
|
62
|
+
- statrefm.rb
|
63
|
+
- bc-classes.rb
|
72
64
|
- bc-tohtml.rb
|
65
|
+
- forall-ruby.rb
|
66
|
+
- gencatalog.rb
|
67
|
+
- bc-convert.rb
|
68
|
+
- bc-rdoc.rb
|
69
|
+
- bc-preproc.rb
|
70
|
+
- update-database.rb
|
71
|
+
- bc-tohtmlpackage.rb
|
72
|
+
- check-signature.rb
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- tools/bc-
|
76
|
+
- tools/bc-tochm.rb
|
77
77
|
- tools/bc-methods.rb
|
78
|
-
- tools/bc-classes.rb
|
79
|
-
- tools/statrefm.rb
|
80
78
|
- tools/bc-checkparams.rb
|
81
|
-
- tools/bc-rdoc.rb
|
82
|
-
- tools/gencatalog.rb
|
83
|
-
- tools/check-signature.rb
|
84
|
-
- tools/bc-tochm.rb
|
85
|
-
- tools/bc-preproc.rb
|
86
79
|
- tools/bc-ancestors.rb
|
87
|
-
- tools/forall-ruby.rb
|
88
|
-
- tools/stattodo.rb
|
89
80
|
- tools/bc-list.rb
|
90
|
-
- tools/
|
91
|
-
- tools/
|
81
|
+
- tools/stattodo.rb
|
82
|
+
- tools/statrefm.rb
|
83
|
+
- tools/bc-classes.rb
|
92
84
|
- tools/bc-tohtml.rb
|
85
|
+
- tools/forall-ruby.rb
|
86
|
+
- tools/gencatalog.rb
|
87
|
+
- tools/bc-convert.rb
|
88
|
+
- tools/bc-rdoc.rb
|
89
|
+
- tools/bc-preproc.rb
|
90
|
+
- tools/update-database.rb
|
91
|
+
- tools/bc-tohtmlpackage.rb
|
92
|
+
- tools/check-signature.rb
|
93
93
|
- lib/bitclust.rb
|
94
94
|
homepage: http://doc.ruby-lang.org/ja/
|
95
95
|
licenses: []
|
@@ -103,15 +103,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
103
|
- - ! '>='
|
104
104
|
- !ruby/object:Gem::Version
|
105
105
|
version: '0'
|
106
|
+
segments:
|
107
|
+
- 0
|
108
|
+
hash: -439247444481969180
|
106
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
110
|
none: false
|
108
111
|
requirements:
|
109
112
|
- - ! '>='
|
110
113
|
- !ruby/object:Gem::Version
|
111
114
|
version: '0'
|
115
|
+
segments:
|
116
|
+
- 0
|
117
|
+
hash: -439247444481969180
|
112
118
|
requirements: []
|
113
119
|
rubyforge_project: ''
|
114
|
-
rubygems_version: 1.8.
|
120
|
+
rubygems_version: 1.8.25
|
115
121
|
signing_key:
|
116
122
|
specification_version: 3
|
117
123
|
summary: BitClust is a rurema document processor.
|