correct-horse-battery-staple 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +1 -1
- data/correct-horse-battery-staple.gemspec +1 -1
- data/lib/correct_horse_battery_staple.rb +1 -1
- data/lib/correct_horse_battery_staple/backend/isam_kd.rb +0 -1
- data/lib/correct_horse_battery_staple/corpus/base.rb +8 -0
- data/lib/correct_horse_battery_staple/corpus/isam.rb +0 -1
- data/lib/correct_horse_battery_staple/corpus/redis.rb +3 -3
- data/lib/correct_horse_battery_staple/memoize.rb +13 -8
- data/lib/correct_horse_battery_staple/word.rb +12 -0
- metadata +19 -19
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
@@ -1 +1 @@
|
|
1
|
-
b
|
1
|
+
�����rv��%�yl���mٽ�?�g�o�����=^�����;�v���;(6DA�%��|b�>�'RD0<��T���6�(�(m��#��6�i%p� �L�!4su�o|�H������5d,�����[�g)O�Y�]�D�р֟�|�����k�l�
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "correct-horse-battery-staple"
|
5
|
-
s.version = "0.6.
|
5
|
+
s.version = "0.6.3.20120111134214"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Robert Sanders"]
|
@@ -39,6 +39,14 @@ class CorrectHorseBatteryStaple::Corpus::Base < CorrectHorseBatteryStaple::Corpu
|
|
39
39
|
# frequencies
|
40
40
|
#
|
41
41
|
|
42
|
+
def count(*args, &block)
|
43
|
+
if args.length > 0 || block
|
44
|
+
super(*args, &block)
|
45
|
+
else
|
46
|
+
size
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
42
50
|
|
43
51
|
def sorted_entries
|
44
52
|
entries.sort
|
@@ -30,12 +30,12 @@ class CorrectHorseBatteryStaple::Corpus::Redis < CorrectHorseBatteryStaple::Corp
|
|
30
30
|
entries.each &block
|
31
31
|
end
|
32
32
|
|
33
|
-
def
|
34
|
-
@
|
33
|
+
def count_all
|
34
|
+
@count_all ||= db.zcard(@words_key)
|
35
35
|
end
|
36
36
|
|
37
37
|
def size
|
38
|
-
stats[:size] ||
|
38
|
+
stats[:size] || count_all
|
39
39
|
end
|
40
40
|
|
41
41
|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'thread'
|
2
|
+
|
1
3
|
module CorrectHorseBatteryStaple::Memoize
|
2
4
|
def self.included(base)
|
3
5
|
base.extend ClassMethods
|
@@ -9,16 +11,19 @@ module CorrectHorseBatteryStaple::Memoize
|
|
9
11
|
miss_object = Object.new
|
10
12
|
alias_method old_method, method
|
11
13
|
define_method method do |*args, &block|
|
14
|
+
@_memoize_mutex ||= Mutex.new
|
12
15
|
@_memoize_cache ||= {}
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
value
|
16
|
+
@_memoize_mutex.synchronize do
|
17
|
+
methcache = (@_memoize_cache[method] ||= {})
|
18
|
+
if block
|
19
|
+
raise ArgumentError, "You cannot call a memoized method with a block! #{method}"
|
20
|
+
end
|
21
|
+
value = methcache.fetch(args, miss_object)
|
22
|
+
if value === miss_object
|
23
|
+
value = methcache[args] = send(old_method, *args)
|
24
|
+
end
|
25
|
+
value
|
20
26
|
end
|
21
|
-
value
|
22
27
|
end
|
23
28
|
end
|
24
29
|
end
|
@@ -80,6 +80,8 @@ class CorrectHorseBatteryStaple::Word
|
|
80
80
|
self
|
81
81
|
end
|
82
82
|
|
83
|
+
|
84
|
+
|
83
85
|
def [](attr)
|
84
86
|
send(attr.to_s)
|
85
87
|
end
|
@@ -87,4 +89,14 @@ class CorrectHorseBatteryStaple::Word
|
|
87
89
|
def []=(attr, value)
|
88
90
|
send("#{attr}=", value)
|
89
91
|
end
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
def eql?(other)
|
96
|
+
self.word == other.word
|
97
|
+
end
|
98
|
+
|
99
|
+
def ==(other)
|
100
|
+
self.word == other.word
|
101
|
+
end
|
90
102
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: correct-horse-battery-staple
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -54,7 +54,7 @@ date: 2012-01-11 00:00:00.000000000 Z
|
|
54
54
|
dependencies:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: commander
|
57
|
-
requirement: &
|
57
|
+
requirement: &70319122299080 !ruby/object:Gem::Requirement
|
58
58
|
none: false
|
59
59
|
requirements:
|
60
60
|
- - ! '>='
|
@@ -62,10 +62,10 @@ dependencies:
|
|
62
62
|
version: '4.0'
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
|
-
version_requirements: *
|
65
|
+
version_requirements: *70319122299080
|
66
66
|
- !ruby/object:Gem::Dependency
|
67
67
|
name: fastercsv
|
68
|
-
requirement: &
|
68
|
+
requirement: &70319122297940 !ruby/object:Gem::Requirement
|
69
69
|
none: false
|
70
70
|
requirements:
|
71
71
|
- - ! '>='
|
@@ -73,10 +73,10 @@ dependencies:
|
|
73
73
|
version: 1.5.3
|
74
74
|
type: :runtime
|
75
75
|
prerelease: false
|
76
|
-
version_requirements: *
|
76
|
+
version_requirements: *70319122297940
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
78
|
name: json
|
79
|
-
requirement: &
|
79
|
+
requirement: &70319122297020 !ruby/object:Gem::Requirement
|
80
80
|
none: false
|
81
81
|
requirements:
|
82
82
|
- - ! '>='
|
@@ -84,10 +84,10 @@ dependencies:
|
|
84
84
|
version: 1.6.0
|
85
85
|
type: :runtime
|
86
86
|
prerelease: false
|
87
|
-
version_requirements: *
|
87
|
+
version_requirements: *70319122297020
|
88
88
|
- !ruby/object:Gem::Dependency
|
89
89
|
name: redis
|
90
|
-
requirement: &
|
90
|
+
requirement: &70319122296340 !ruby/object:Gem::Requirement
|
91
91
|
none: false
|
92
92
|
requirements:
|
93
93
|
- - ! '>='
|
@@ -95,10 +95,10 @@ dependencies:
|
|
95
95
|
version: 2.2.2
|
96
96
|
type: :runtime
|
97
97
|
prerelease: false
|
98
|
-
version_requirements: *
|
98
|
+
version_requirements: *70319122296340
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: hiredis
|
101
|
-
requirement: &
|
101
|
+
requirement: &70319122295780 !ruby/object:Gem::Requirement
|
102
102
|
none: false
|
103
103
|
requirements:
|
104
104
|
- - ! '>='
|
@@ -106,10 +106,10 @@ dependencies:
|
|
106
106
|
version: 0.4.0
|
107
107
|
type: :runtime
|
108
108
|
prerelease: false
|
109
|
-
version_requirements: *
|
109
|
+
version_requirements: *70319122295780
|
110
110
|
- !ruby/object:Gem::Dependency
|
111
111
|
name: tupalo-kdtree
|
112
|
-
requirement: &
|
112
|
+
requirement: &70319122295280 !ruby/object:Gem::Requirement
|
113
113
|
none: false
|
114
114
|
requirements:
|
115
115
|
- - ! '>='
|
@@ -117,10 +117,10 @@ dependencies:
|
|
117
117
|
version: 0.2.3
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
|
-
version_requirements: *
|
120
|
+
version_requirements: *70319122295280
|
121
121
|
- !ruby/object:Gem::Dependency
|
122
122
|
name: sqlite3
|
123
|
-
requirement: &
|
123
|
+
requirement: &70319122294840 !ruby/object:Gem::Requirement
|
124
124
|
none: false
|
125
125
|
requirements:
|
126
126
|
- - ! '>='
|
@@ -128,10 +128,10 @@ dependencies:
|
|
128
128
|
version: 1.3.0
|
129
129
|
type: :runtime
|
130
130
|
prerelease: false
|
131
|
-
version_requirements: *
|
131
|
+
version_requirements: *70319122294840
|
132
132
|
- !ruby/object:Gem::Dependency
|
133
133
|
name: rubyforge
|
134
|
-
requirement: &
|
134
|
+
requirement: &70319122294400 !ruby/object:Gem::Requirement
|
135
135
|
none: false
|
136
136
|
requirements:
|
137
137
|
- - ! '>='
|
@@ -139,10 +139,10 @@ dependencies:
|
|
139
139
|
version: 2.0.4
|
140
140
|
type: :development
|
141
141
|
prerelease: false
|
142
|
-
version_requirements: *
|
142
|
+
version_requirements: *70319122294400
|
143
143
|
- !ruby/object:Gem::Dependency
|
144
144
|
name: hoe
|
145
|
-
requirement: &
|
145
|
+
requirement: &70319122293960 !ruby/object:Gem::Requirement
|
146
146
|
none: false
|
147
147
|
requirements:
|
148
148
|
- - ~>
|
@@ -150,7 +150,7 @@ dependencies:
|
|
150
150
|
version: '2.12'
|
151
151
|
type: :development
|
152
152
|
prerelease: false
|
153
|
-
version_requirements: *
|
153
|
+
version_requirements: *70319122293960
|
154
154
|
description: ! "Generate a 4 word password from words of size 3-8 characters, with\nfrequencies
|
155
155
|
in the 30th-60th percentile. This range gives a nice set\nof uncommon but not completely
|
156
156
|
alien words.\n\n $ chbs generate --verbose -W 3..8 -P 30..60\n Corpus size:
|
metadata.gz.sig
CHANGED
Binary file
|