Module: Feedx::Compression
- Defined in:
- lib/feedx/compression.rb
Defined Under Namespace
Classes: Abstract, Gzip, None
Class Method Summary
collapse
Class Method Details
.detect(path) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/feedx/compression.rb', line 26
def detect(path)
if File.extname(path)[-1] == 'z'
Gzip.new
else
None.new
end
end
|
.resolve(name) ⇒ Object
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/feedx/compression.rb', line 15
def resolve(name)
case name.to_s
when 'gz', 'gzip'
Gzip.new
when ''
None.new
else
raise ArgumentError, "invalid compression #{name}"
end
end
|
.validate!(kind) ⇒ Object
8
9
10
11
12
13
|
# File 'lib/feedx/compression.rb', line 8
def validate!(kind)
raise ArgumentError, "#{kind} does not implement #reader(io, &block)" unless kind.respond_to?(:reader)
raise ArgumentError, "#{kind} does not implement #writer(io, &block)" unless kind.respond_to?(:writer)
kind
end
|