28 lines
425 B
Ruby
28 lines
425 B
Ruby
class ReleasableParam
|
|
TYPES = %w(talent appearance location material acquired_media music medical misc)
|
|
|
|
def initialize(params)
|
|
@params = params
|
|
end
|
|
|
|
def id
|
|
param.last
|
|
end
|
|
|
|
def name
|
|
param.first.match(/((.)*_release)_id/)[1]
|
|
end
|
|
|
|
def type
|
|
name.classify.constantize
|
|
end
|
|
|
|
private
|
|
|
|
def param
|
|
regex = %r{(#{TYPES.join("|")})_release_id}
|
|
|
|
@params.detect { |k,_| k =~ regex }
|
|
end
|
|
end
|