Sha256: 13efde0ab3a1480ec7da7b9880f59a25d47506476818dbfd816b3aceea396177
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
module Cmsimple class Snippet extend ActiveModel::Naming attr_accessor :name, :options, :id def initialize(id, snippet_hash) @id = id @snippet_hash = snippet_hash.dup # @snippet_hash.symbolize_keys! @name = @snippet_hash[:name] # the options prefix is to handle legacy snippets mercury # changed how it serializes snippets @options = flatten_options(@snippet_hash[:options].presence || @snippet_hash) end def flatten_options(options) return {} unless options.present? options = options.dup if options.key?(:snippet) options.merge(options[:snippet]) else options end end def method_missing method, *args, &block @options[method] end def matcher /\[#{self.id}(\/\d)?\]/ end # # ActiveModel API # def persisted? false end def to_param nil end def to_key nil end def to_partial_path "cmsimple/snippets/#{name}/display" end def errors ActiveModel::Errors.new(self) end def valid? true end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cmsimple-0.2.3 | app/models/cmsimple/snippet.rb |
cmsimple-0.2.2 | app/models/cmsimple/snippet.rb |
cmsimple-0.2.0 | app/models/cmsimple/snippet.rb |