Sha256: 9f0fa38a5bfedff4333812bb84f32d0c4072c74542a35d3592d993c731f1d4f3
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
module Refinery module Copywriting class Phrase < Refinery::Core::BaseModel belongs_to :page, :class_name => 'Refinery::Page' translates :value if self.respond_to?(:translates) validates :name, :presence => true attr_accessible :locale, :name, :default, :value, :scope, :page, :page_id, :phrase_type if self.respond_to?(:translation_class) self.translation_class.send :attr_accessible, :locale end default_scope order([:scope, :name]) def self.for(name, options = {}) options = {:phrase_type => 'text', :scope => 'default'}.merge(options.reject {|k,v| v.blank? }) options[:name] = name.to_s options[:page_id] ||= options[:page].try(:id) phrase = self.find_by_name_and_scope_and_page_id(options[:name], options[:scope], options[:page_id]) || self.create(options) phrase.update_attributes(options.except(:value, :page, :page_id, :locale)) phrase.last_access_at = Date.today phrase.save if phrase.changed? phrase.default_or_value end def default_or_value value.present? ? value : default end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
refinerycms-copywriting-2.0.3 | app/models/refinery/copywriting/phrase.rb |