상수 MIME_TYPES
해시에 몇 가지 항목을 추가하여 기존 모듈 (즉, Redmine :: MimeType)을 확장해야합니다. Ruby 1.8.7 다른 모듈에서 상수 확장하기
이
내가 지금까지 뭘하려하고 있음은 나에게 "동적 상수 할당"오류를 제공합니다 :module MimeTypePatch
def self.included(base) # :nodoc:
base.extend(ClassMethods)
base.class_eval do
MIME_TYPES_VIDEO = {
'video/x-flv' => 'flv,f4v',
'video/mpeg' => '*.mpeg *.mpg *.mpe',
'video/quicktime' => 'qt,mov',
'video/vnd.vivo' => 'viv,vivo',
'video/x-msvideo' => 'avi'
}.freeze
# merge the new mime types with the existing ones
MIME_TYPES = MIME_TYPES.merge(MIME_TYPES_VIDEO).freeze
EXTENSIONS = MIME_TYPES.inject({}) do |map, (type, exts)|
exts.split(',').each {|ext| map[ext.strip] = type}
map
end
end
end
end
내가 잘못 일을하고있는 기존 일정을 변경하는 올바른 방법이 될 수있는 것을 나는 그래서 다른 모듈? 나는 런타임에서 상수를 변경하는 것이 약간 쉬웠다는 것을 알았지 만, 내가 원하는 것 (비디오 mime 유형 감지)을 얻기위한보다 우아한 접근 방식을 생각할 수 없었다.
도움이 되었습니까 ?? – abhas
종류 ... 나는 redmine에서 일부 메서드를 덮어 쓰거나 중복하고 싶지 않았기 때문에이 솔루션을 사용하고 싶지 않았습니다. 나는 코어 해시에 단순히 값을 추가하는 것으로 끝났다. 이 경우에는 더 나은 해결책으로 보입니다. 그러나 귀하의 조언에 감사드립니다. – Dennis