picky-generators 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,7 +20,7 @@ class BookSearch < Sinatra::Application
20
20
 
21
21
  # Define an index.
22
22
  #
23
- books_index = Indexes::Memory.new :books do
23
+ books_index = Index.new :books do
24
24
  source Sources::CSV.new(:title, :author, :year, file: "data/#{PICKY_ENVIRONMENT}/library.csv")
25
25
  indexing removes_characters: /[^a-zA-Z0-9\s\/\-\_\:\"\&\.]/i,
26
26
  stopwords: /\b(and|the|of|it|in|for)\b/i,
@@ -41,11 +41,13 @@ class BookSearch < Sinatra::Application
41
41
  # Define a search over the books index.
42
42
  #
43
43
  books = Search.new books_index do
44
- searching removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
44
+ searching substitutes_characters_with: CharacterSubstituters::WestEuropean.new, # Normalizes special user input, Ä -> Ae, ñ -> n etc.
45
+ removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
45
46
  stopwords: /\b(and|the|of|it|in|for)\b/i,
46
- splits_text_on: /[\s\/\-\&]+/,
47
- substitutes_characters_with: CharacterSubstituters::WestEuropean.new # Normalizes special user input, Ä -> Ae, ñ -> n etc.
48
- boost [:title, :author] => +3, [:title] => +1
47
+ splits_text_on: /[\s\/\-\&]+/
48
+
49
+ boost [:title, :author] => +3,
50
+ [:title] => +1
49
51
  end
50
52
 
51
53
 
@@ -35,7 +35,9 @@
35
35
  %code
36
36
  %pre
37
37
  :preserve
38
- BookSearch = Picky::Client.new :host => 'localhost', :port => 8080, :path => '/books'
38
+ BookSearch = Picky::Client.new :host => 'localhost',
39
+ :port => 8080,
40
+ :path => '/books'
39
41
  %p
40
42
  Both clients offer the options:
41
43
  %dl
@@ -54,7 +56,9 @@
54
56
  %pre
55
57
  :preserve
56
58
  get '/search/full' do
57
- results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
59
+ results = BookSearch.search params[:query],
60
+ :ids => params[:ids],
61
+ :offset => params[:offset]
58
62
  results.extend Picky::Convenience
59
63
  results.populate_with Book do |book|
60
64
  book.to_s
@@ -66,13 +70,18 @@
66
70
  %strong hash
67
71
  with the results:
68
72
  %code
69
- %pre results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
73
+ %pre
74
+ :preserve
75
+ results = BookSearch.search params[:query],
76
+ :ids => params[:ids],
77
+ :offset => params[:offset]
70
78
  %p
71
79
  This part takes the
72
80
  %strong hash
73
81
  and extends it with a few useful and convenient methods:
74
82
  %code
75
- %pre results.extend Picky::Convenience
83
+ %pre
84
+ results.extend Picky::Convenience
76
85
  %p
77
86
  One of these methods is the
78
87
  %strong populate_with
@@ -101,7 +110,10 @@
101
110
  %pre
102
111
  :preserve
103
112
  results.entries do |book|
104
- render book # or book.to_s, or however you like to render the book.
113
+ # Or use book.to_s, or however you like
114
+ # to render the book.
115
+ #
116
+ render book
105
117
  end
106
118
  %p
107
119
  At the end, encode the hash in JSON:
@@ -114,10 +126,14 @@
114
126
  %code
115
127
  %pre
116
128
  :preserve
117
- BookSearch = Picky::Client.new :host => 'localhost', :port => 8080, :path => '/books'
129
+ BookSearch = Picky::Client.new :host => 'localhost',
130
+ :port => 8080,
131
+ :path => '/books'
118
132
 
119
133
  get '/search/full' do
120
- results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
134
+ results = BookSearch.search params[:query],
135
+ :ids => params[:ids],
136
+ :offset => params[:offset]
121
137
 
122
138
  results.extend Picky::Convenience
123
139
  results.populate_with Book do |book|
@@ -131,14 +147,23 @@
131
147
  The view is even easier. Just add the line
132
148
  %code
133
149
  %pre
134
- \= Picky::Helper.cached_interface
150
+ :preserve
151
+ = Picky::Helper.cached_interface
135
152
  if you use just one language, or
136
153
  %code
137
154
  %pre
138
- \= Picky::Helper.interface :button => 'search', :no_results => 'No results!', :more => 'more'
155
+ :preserve
156
+ = Picky::Helper.interface :button => 'search',
157
+ :no_results => 'No results!',
158
+ :more => 'more'
139
159
  if you use multiple languages.
140
160
  (You'd use the options
141
- %pre :button => t(:'search.button'), :no_results => t(:'search.no_results'), :more => t(:'search.more')
161
+ %code
162
+ %pre
163
+ :preserve
164
+ :button => t(:'search.button'),
165
+ :no_results => t(:'search.no_results'),
166
+ :more => t(:'search.more')
142
167
  of course, with proper i18n)
143
168
  The same options can be used for
144
169
  %strong #cached_interface
@@ -157,6 +182,7 @@
157
182
  full: '/search/full',
158
183
 
159
184
  // etc.
185
+ //
160
186
  Just take a look at the possible javascript client options in that file.
161
187
  %p
162
188
  %strong Good luck my friend! *waves several stubby pink tentacles*
@@ -35,7 +35,9 @@
35
35
  %code
36
36
  %pre
37
37
  :preserve
38
- BookSearch = Picky::Client.new :host => 'localhost', :port => 8080, :path => '/books'
38
+ BookSearch = Picky::Client.new :host => 'localhost',
39
+ :port => 8080,
40
+ :path => '/books'
39
41
  %p
40
42
  Both clients offer the options:
41
43
  %dl
@@ -54,7 +56,9 @@
54
56
  %pre
55
57
  :preserve
56
58
  get '/search/full' do
57
- results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
59
+ results = BookSearch.search params[:query],
60
+ :ids => params[:ids],
61
+ :offset => params[:offset]
58
62
  results.extend Picky::Convenience
59
63
  results.populate_with Book do |book|
60
64
  book.to_s
@@ -66,13 +70,18 @@
66
70
  %strong hash
67
71
  with the results:
68
72
  %code
69
- %pre results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
73
+ %pre
74
+ :preserve
75
+ results = BookSearch.search params[:query],
76
+ :ids => params[:ids],
77
+ :offset => params[:offset]
70
78
  %p
71
79
  This part takes the
72
80
  %strong hash
73
81
  and extends it with a few useful and convenient methods:
74
82
  %code
75
- %pre results.extend Picky::Convenience
83
+ %pre
84
+ results.extend Picky::Convenience
76
85
  %p
77
86
  One of these methods is the
78
87
  %strong populate_with
@@ -101,7 +110,10 @@
101
110
  %pre
102
111
  :preserve
103
112
  results.entries do |book|
104
- render book # or book.to_s, or however you like to render the book.
113
+ # Or use book.to_s, or however you like
114
+ # to render the book.
115
+ #
116
+ render book
105
117
  end
106
118
  %p
107
119
  At the end, encode the hash in JSON:
@@ -114,10 +126,14 @@
114
126
  %code
115
127
  %pre
116
128
  :preserve
117
- BookSearch = Picky::Client.new :host => 'localhost', :port => 8080, :path => '/books'
129
+ BookSearch = Picky::Client.new :host => 'localhost',
130
+ :port => 8080,
131
+ :path => '/books'
118
132
 
119
133
  get '/search/full' do
120
- results = BookSearch.search params[:query], :ids => params[:ids], :offset => params[:offset]
134
+ results = BookSearch.search params[:query],
135
+ :ids => params[:ids],
136
+ :offset => params[:offset]
121
137
 
122
138
  results.extend Picky::Convenience
123
139
  results.populate_with Book do |book|
@@ -131,14 +147,23 @@
131
147
  The view is even easier. Just add the line
132
148
  %code
133
149
  %pre
134
- \= Picky::Helper.cached_interface
150
+ :preserve
151
+ = Picky::Helper.cached_interface
135
152
  if you use just one language, or
136
153
  %code
137
154
  %pre
138
- \= Picky::Helper.interface :button => 'search', :no_results => 'No results!', :more => 'more'
155
+ :preserve
156
+ = Picky::Helper.interface :button => 'search',
157
+ :no_results => 'No results!',
158
+ :more => 'more'
139
159
  if you use multiple languages.
140
160
  (You'd use the options
141
- %pre :button => t(:'search.button'), :no_results => t(:'search.no_results'), :more => t(:'search.more')
161
+ %code
162
+ %pre
163
+ :preserve
164
+ :button => t(:'search.button'),
165
+ :no_results => t(:'search.no_results'),
166
+ :more => t(:'search.more')
142
167
  of course, with proper i18n)
143
168
  The same options can be used for
144
169
  %strong #cached_interface
@@ -157,6 +182,7 @@
157
182
  full: '/search/full',
158
183
 
159
184
  // etc.
185
+ //
160
186
  Just take a look at the possible javascript client options in that file.
161
187
  %p
162
188
  %strong Good luck my friend! *waves several stubby pink tentacles*
@@ -22,13 +22,13 @@ class BookSearch < Picky::Application
22
22
 
23
23
  # How query text is preprocessed. Move to Search block to make it search specific.
24
24
  #
25
- searching removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
25
+ searching substitutes_characters_with: CharacterSubstituters::WestEuropean.new, # Normalizes special user input, Ä -> Ae, ñ -> n etc.
26
+ removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
26
27
  stopwords: /\b(and|the|of|it|in|for)\b/i,
27
28
  splits_text_on: /[\s\/\-\&]+/,
28
- maximum_tokens: 5, # Amount of tokens used in a search (5 = default).
29
- substitutes_characters_with: CharacterSubstituters::WestEuropean.new # Normalizes special user input, Ä -> Ae, ñ -> n etc.
29
+ maximum_tokens: 5 # Amount of tokens maximally used in a search.
30
30
 
31
- books_index = Indexes::Memory.new :books do
31
+ books_index = Index.new :books do
32
32
  source Sources::CSV.new(:title, :author, :year, file: "data/#{PICKY_ENVIRONMENT}/library.csv")
33
33
  category :title,
34
34
  similarity: Similarity::DoubleMetaphone.new(3), # Default is no similarity.
@@ -11,7 +11,7 @@ class BookSearch < Sinatra::Application
11
11
 
12
12
  # Define an index.
13
13
  #
14
- books_index = Indexes::Memory.new :books do
14
+ books_index = Index.new :books do
15
15
  source Sources::CSV.new(:title, :author, :year, file: "data/#{PICKY_ENVIRONMENT}/library.csv")
16
16
  indexing removes_characters: /[^a-zA-Z0-9\s\/\-\_\:\"\&\.]/i,
17
17
  stopwords: /\b(and|the|of|it|in|for)\b/i,
@@ -32,11 +32,12 @@ class BookSearch < Sinatra::Application
32
32
  # Define a search over the books index.
33
33
  #
34
34
  books = Search.new books_index do
35
- searching removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
35
+ searching substitutes_characters_with: CharacterSubstituters::WestEuropean.new, # Normalizes special user input, Ä -> Ae, ñ -> n etc.
36
+ removes_characters: /[^a-zA-Z0-9\s\/\-\_\&\.\"\~\*\:\,]/i, # Picky needs control chars *"~:, to pass through.
36
37
  stopwords: /\b(and|the|of|it|in|for)\b/i,
37
- splits_text_on: /[\s\/\-\&]+/,
38
- substitutes_characters_with: CharacterSubstituters::WestEuropean.new # Normalizes special user input, Ä -> Ae, ñ -> n etc.
39
- boost [:title, :author] => +3, [:title] => +1
38
+ splits_text_on: /[\s\/\-\&]+/
39
+ boost [:title, :author] => +3,
40
+ [:title] => +1
40
41
  end
41
42
 
42
43
  # Route /books to the books search and log when searching.
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: picky-generators
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 3.0.1
5
+ version: 3.1.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Florian Hanke
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-08-17 00:00:00 +10:00
13
+ date: 2011-08-26 00:00:00 +10:00
14
14
  default_executable: picky-generate
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirements:
33
33
  - - ~>
34
34
  - !ruby/object:Gem::Version
35
- version: 3.0.1
35
+ version: 3.1.0
36
36
  type: :runtime
37
37
  version_requirements: *id002
38
38
  - !ruby/object:Gem::Dependency
@@ -43,7 +43,7 @@ dependencies:
43
43
  requirements:
44
44
  - - ~>
45
45
  - !ruby/object:Gem::Version
46
- version: 3.0.1
46
+ version: 3.1.0
47
47
  type: :runtime
48
48
  version_requirements: *id003
49
49
  description: Generators for Picky.