Class: Locomotive::ThemeAsset

Inherits:
Object
  • Object
show all
Includes:
Concerns::Asset::Checksum, Concerns::Asset::Types, Concerns::Shared::SiteScope, Concerns::ThemeAsset::PlainText, Mongoid::Document
Defined in:
app/models/locomotive/theme_asset.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Concerns::ThemeAsset::PlainText

#escape_shortcut_urls, #performing_plain_text?, #plain_text, #plain_text_name, #plain_text_name=, #plain_text_type, #store_plain_text

Class Method Details

.all_grouped_by_folder(site) ⇒ Object



55
56
57
58
# File 'app/models/locomotive/theme_asset.rb', line 55

def self.all_grouped_by_folder(site)
  assets = site.theme_assets.order_by(:slug.asc)
  assets.group_by { |a| a.folder.split('/').first.to_sym }
end

.checksumsObject



60
61
62
63
64
65
66
# File 'app/models/locomotive/theme_asset.rb', line 60

def self.checksums
  {}.tap do |hash|
    self.only(:local_path, :checksum).each do |asset|
      hash[asset.local_path] = asset.checksum
    end
  end
end

Instance Method Details

#local_path(short = false) ⇒ Object

fields ##



13
# File 'app/models/locomotive/theme_asset.rb', line 13

field :local_path

#sourceObject

validations ##



31
# File 'app/models/locomotive/theme_asset.rb', line 31

validates_presence_of   :source, on: :create

#stylesheet_or_javascript?Boolean

Returns:



43
44
45
# File 'app/models/locomotive/theme_asset.rb', line 43

def stylesheet_or_javascript?
  self.stylesheet? || self.javascript?
end

#touch_site_attributeObject

methods ##



39
40
41
# File 'app/models/locomotive/theme_asset.rb', line 39

def touch_site_attribute
  :template_version
end