Class: BLM::Row
- Inherits:
-
Object
show all
- Defined in:
- lib/rightmove.rb
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, arguments = {}, &block) ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/rightmove.rb', line 50
def method_missing(method, arguments = {}, &block)
unless @attributes[method].nil?
value = @attributes[method]
if arguments[:instantiate_with]
return value unless value =~ /\.jpg/i
if arguments[:instantiate_with].instance_of?(Zip::ZipFile)
zip = arguments[:instantiate_with]
else
zip = Zip::ZipFile.open(arguments[:instantiate_with])
end
matching_files = zip.entries.select {|v| v.to_s =~ /#{value}/ }
unless matching_files.empty?
file = StringIO.new( zip.read(matching_files.first) )
file.class.class_eval { attr_accessor :original_filename, :content_type }
file.original_filename = matching_files.first.to_s
file.content_type = "image/jpg"
return file
end
else
value
end
end
end
|
Instance Method Details
74
75
76
|
# File 'lib/rightmove.rb', line 74
def media_fields
self.attributes.select {|k,v| k.to_s =~ /media_(image|floor_plan)_.*/i }
end
|