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 CHANGED
@@ -1 +1 @@
1
- bvX�߬����K[�r�O���If�����1��B �C������K��"l1��I�գ���h�����!2S_���m���x�����.����/` ̬}���S ��~bJ(F&��ظ@�����*�����&"�M�1��G �+RyE{ɋ��kA��I�j\Pd�Ԍ�nfޛ�����_��݃`I~�"��؋p-T�\7�*'>�\��(l�� �<TOBkh��Ehy5�Y5߿g�/
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.2.20120110212541"
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"]
@@ -1,7 +1,7 @@
1
1
  require 'logger'
2
2
 
3
3
  module CorrectHorseBatteryStaple
4
- VERSION = '0.6.2'
4
+ VERSION = '0.6.3'
5
5
 
6
6
  DEFAULT_CORPUS_NAME = "tvscripts"
7
7
 
@@ -308,7 +308,6 @@ INSPECT
308
308
  end
309
309
  end
310
310
 
311
- def count; size; end
312
311
  def size
313
312
  @entry_count ||= records_size / @entry_length
314
313
  end
@@ -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
@@ -142,7 +142,6 @@ class CorrectHorseBatteryStaple::Corpus::Isam < CorrectHorseBatteryStaple::Corpu
142
142
  end
143
143
  end
144
144
 
145
- def count; size; end
146
145
  def size
147
146
  @size ||= records_size / @entry_length
148
147
  end
@@ -30,12 +30,12 @@ class CorrectHorseBatteryStaple::Corpus::Redis < CorrectHorseBatteryStaple::Corp
30
30
  entries.each &block
31
31
  end
32
32
 
33
- def count
34
- @count ||= db.zcard(@words_key)
33
+ def count_all
34
+ @count_all ||= db.zcard(@words_key)
35
35
  end
36
36
 
37
37
  def size
38
- stats[:size] || count
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
- methcache = (@_memoize_cache[method] ||= {})
14
- if block
15
- raise ArgumentError, "You cannot call a memoized method with a block! #{method}"
16
- end
17
- value = methcache.fetch(args, miss_object)
18
- if value === miss_object
19
- value = methcache[args] = send(old_method, *args)
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.2
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: &70113136017100 !ruby/object:Gem::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: *70113136017100
65
+ version_requirements: *70319122299080
66
66
  - !ruby/object:Gem::Dependency
67
67
  name: fastercsv
68
- requirement: &70113136015960 !ruby/object:Gem::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: *70113136015960
76
+ version_requirements: *70319122297940
77
77
  - !ruby/object:Gem::Dependency
78
78
  name: json
79
- requirement: &70113136015080 !ruby/object:Gem::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: *70113136015080
87
+ version_requirements: *70319122297020
88
88
  - !ruby/object:Gem::Dependency
89
89
  name: redis
90
- requirement: &70113136014280 !ruby/object:Gem::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: *70113136014280
98
+ version_requirements: *70319122296340
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: hiredis
101
- requirement: &70113136013800 !ruby/object:Gem::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: *70113136013800
109
+ version_requirements: *70319122295780
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: tupalo-kdtree
112
- requirement: &70113136013360 !ruby/object:Gem::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: *70113136013360
120
+ version_requirements: *70319122295280
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: sqlite3
123
- requirement: &70113136012860 !ruby/object:Gem::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: *70113136012860
131
+ version_requirements: *70319122294840
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: rubyforge
134
- requirement: &70113136012420 !ruby/object:Gem::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: *70113136012420
142
+ version_requirements: *70319122294400
143
143
  - !ruby/object:Gem::Dependency
144
144
  name: hoe
145
- requirement: &70113136011980 !ruby/object:Gem::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: *70113136011980
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