ruby_codex 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.
- data/lib/ruby_codex.rb +14 -5
- metadata +6 -5
- checksums.yaml +0 -15
data/lib/ruby_codex.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
load 'data_node.rb'
|
2
|
+
require 'pp'
|
2
3
|
|
3
4
|
class Codex
|
4
5
|
|
@@ -107,11 +108,18 @@ class Codex
|
|
107
108
|
query = db.where(keys).first
|
108
109
|
query_count = query.nil? ? 0 : query.count
|
109
110
|
func = db.where(:type => keys[:type], :func => keys[:func]).sort(:count => -1).limit(1).first
|
110
|
-
|
111
|
+
alt_text =
|
112
|
+
if func
|
113
|
+
alt_count = func.count
|
114
|
+
"and the most common alternative #{func.norm_code} has appeared #{alt_count.to_s} times."
|
115
|
+
else
|
116
|
+
alt_count = 0
|
117
|
+
"and we've seen no known alternative."
|
118
|
+
end
|
111
119
|
{ :keys => keys,
|
112
120
|
:message =>
|
113
|
-
"Function call #{keys[:norm_code]} has appeared #{query_count.to_s} times,
|
114
|
-
|
121
|
+
"Function call #{keys[:norm_code]} has appeared #{query_count.to_s} times, " +
|
122
|
+
alt_text,
|
115
123
|
:unlikely => Proc.new { |t=10| alt_count > t * (query_count + 1)}
|
116
124
|
}
|
117
125
|
}
|
@@ -178,11 +186,12 @@ class Codex
|
|
178
186
|
types = query.ident_types.select { |k,v| ["str","int","float","array","hash"].include? k }
|
179
187
|
types.default = 0
|
180
188
|
best = types.select { |k,v| k != data[:ident_type] }.sort_by{ |k,v| v*-1 }.first
|
189
|
+
best_str = best ? "#{best[1].to_s} times as #{best[0].to_s}" : "never as anything else."
|
181
190
|
{ :keys => keys,
|
182
191
|
:message =>
|
183
192
|
"The identifier #{keys[:ident]} has appeared #{types[data[:ident_type]].to_s} " +
|
184
|
-
"times as #{data[:ident_type].to_s} and #{
|
185
|
-
:unlikely => Proc.new { |t=5| best[1] > t * (types[keys[:ident_type]] + 1) }
|
193
|
+
"times as #{data[:ident_type].to_s} and #{best_str}",
|
194
|
+
:unlikely => Proc.new { |t=5| best ? best[1] > t * (types[keys[:ident_type]] + 1) : false }
|
186
195
|
}
|
187
196
|
else
|
188
197
|
{ :message => "Never Seen", :unlikely => Proc.new { false } }
|
metadata
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_codex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Ethan Fast
|
@@ -22,26 +23,26 @@ files:
|
|
22
23
|
homepage: http://rubygems.org/gems/ruby-codex
|
23
24
|
licenses:
|
24
25
|
- MIT
|
25
|
-
metadata: {}
|
26
26
|
post_install_message:
|
27
27
|
rdoc_options: []
|
28
28
|
require_paths:
|
29
29
|
- lib
|
30
30
|
required_ruby_version: !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
31
32
|
requirements:
|
32
33
|
- - ! '>='
|
33
34
|
- !ruby/object:Gem::Version
|
34
35
|
version: '0'
|
35
36
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
36
38
|
requirements:
|
37
39
|
- - ! '>='
|
38
40
|
- !ruby/object:Gem::Version
|
39
41
|
version: '0'
|
40
42
|
requirements: []
|
41
43
|
rubyforge_project:
|
42
|
-
rubygems_version:
|
44
|
+
rubygems_version: 1.8.25
|
43
45
|
signing_key:
|
44
|
-
specification_version:
|
46
|
+
specification_version: 3
|
45
47
|
summary: Analyze ruby ASTs with Codex
|
46
48
|
test_files: []
|
47
|
-
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
YmVlZWZiZWU3MWNlNDMxMWIwYzFhMzVhZDczMWUxNzAzMGQxN2M2OA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
N2NhNGQzYmYwNzAzNTk1M2I3ZDkyZjM2YTU5OGJlNzZkMjcwYmYyYg==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
NGQ5NmI1ZTkwMjNiZDZlZjExZjUzMzBhYWJhNDJkZTYwZTE3MDIzODcxOTNh
|
10
|
-
ZGMxNDhlNGZjOWZlNmU4NTdkNjIyZGVhM2I4MzFkNTk0MTU5ZTA5YjRhZjcy
|
11
|
-
NTFmMmI2ZDNhZTU5MmE1YzlkNWU1NzE3YTMwMzMzODQ0YjlhY2Q=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MWU4Zjg1M2FlZDc2NzRhNmNkMjNjYTVhZjE3OTE3ODAxY2Y4ZWIwYjdiMDBi
|
14
|
-
ODUzZjE5MmE4MzQ1OTVjYjRkMDViYzA2MjFhZTFiMDkxOWY1NmUxNzZjNjY0
|
15
|
-
YTlhMTM3ZjdkZGQyYjNkZjNlYjhkNzgwODVmOTczNGZkYjFlZGU=
|