Class: Refinery::Resource

Inherits:
Core::BaseModel
  • Object
show all
Includes:
Refinery::Resources::Validators
Defined in:
app/models/refinery/resource.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.create_resources(params) ⇒ Object



48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'app/models/refinery/resource.rb', line 48

def create_resources(params)
  resources = []

  if params.present? and params[:file].is_a?(Array)
    params[:file].each do |resource|
      resources << create({:file => resource}.merge(params.except(:file).to_h))
    end
  else
    resources << create(params)
  end

  resources
end

.per_page(dialog = false) ⇒ Object

How many resources per page should be displayed?



44
45
46
# File 'app/models/refinery/resource.rb', line 44

def per_page(dialog = false)
  dialog ? Resources.pages_per_dialog : Resources.pages_per_admin_index
end

Instance Method Details

#cached_mime_typeObject



20
21
22
# File 'app/models/refinery/resource.rb', line 20

def cached_mime_type
  @cached_mime_type ||= mime_type
end

#titleObject

Returns a titleized version of the filename my_file.pdf returns My File



31
32
33
# File 'app/models/refinery/resource.rb', line 31

def title
  resource_title.presence || CGI::unescape(file_name.to_s).gsub(/\.\w+$/, '').titleize
end

#type_of_contentObject

used for searching



25
26
27
# File 'app/models/refinery/resource.rb', line 25

def type_of_content
  cached_mime_type.split("/").join(" ")
end

#update_indexObject



35
36
37
38
39
40
# File 'app/models/refinery/resource.rb', line 35

def update_index
  return if self.aai_config.disable_auto_indexing
  copy = self.dup.tap{ |r| r.file_uid = r.file_uid_was}
  self.class.index_remove(copy)
  self.class.index_add(self)
end