Module: Pedicab
- Defined in:
- lib/pedicab.rb,
lib/pedicab/on.rb,
lib/pedicab/mark.rb,
lib/pedicab/rank.rb,
lib/pedicab/ride.rb,
lib/pedicab/query.rb,
lib/pedicab/version.rb
Defined Under Namespace
Modules: RANK
Classes: Error, P, RedditQuery, Ride
Constant Summary
collapse
- VERSION =
"0.3.1"
- @@ON =
Hash.new { |h,k| h[k] = lambda() { |ride| ride } }
- @@Ride =
Hash.new { |h,k| h[k] = Ride.new(k) }
Class Method Summary
collapse
Class Method Details
.[](k) ⇒ Object
173
174
175
|
# File 'lib/pedicab.rb', line 173
def self.[] k
P.new(k)
end
|
.chunk(text, size = 1024, &b) ⇒ Object
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
|
# File 'lib/pedicab.rb', line 151
def self.chunk text, size=1024, &b
chunks = []
paragraphs = text.split(/\n\n+/)
current_chunk = ""
paragraphs.each do |para|
if current_chunk.length + para.length > size && !current_chunk.empty?
chunks << current_chunk
current_chunk = para
else
current_chunk += (current_chunk.empty? ? "" : "\n\n") + para
end
end
chunks << current_chunk unless current_chunk.empty?
if block_given?
return chunks.map { |e| b.call(self, e) }
else
return chunks
end
end
|
.mark(x) ⇒ Object
2
3
4
5
6
7
8
|
# File 'lib/pedicab/mark.rb', line 2
def self.mark x
Nokogiri::HTML(Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: true).render(x)).css('p').map { |e|
if !/http.*/.match(e.text)
e.text
end
}.flatten.compact
end
|
.models ⇒ Object
22
23
24
|
# File 'lib/pedicab.rb', line 22
def self.models
Dir['/models/*'].map { |e| e.gsub('.gguf', '').gsub('/models/','') }
end
|
.on ⇒ Object
3
4
5
|
# File 'lib/pedicab/on.rb', line 3
def self.on
@@ON
end
|
.reddit(q) ⇒ Object
84
85
86
87
88
89
90
91
|
# File 'lib/pedicab/query.rb', line 84
def self.reddit q
qq = RedditQuery.new(q).search(limit: 10, sort: 'hot', time: 'week').map { |post|
p = post[:selftext];
if p.length > 0;
p;
end;
}.flatten.compact
end
|
.ride ⇒ Object
106
107
108
|
# File 'lib/pedicab/ride.rb', line 106
def self.ride
@@Ride
end
|