Sha256: 42a44ac93879c6d8bc53dc5a1040aa805ccb1ec3cd11995d1378db019a56aafa

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

module Cms
  module Behaviors
    module Hiding
      def self.included(model_class)
        model_class.extend(MacroMethods)
      end
      module MacroMethods
        def hideable?
          !!@is_hideable
        end
        def is_hideable(options={})
          @is_hideable = true
          extend ClassMethods
          include InstanceMethods
        
          scope :hidden, ->{where(:hidden => true)}
          scope :not_hidden, ->{where(:hidden => false)}
        end
      end
      module ClassMethods
      end
      module InstanceMethods
        def hide
          self.hidden = true
          self.version_comment = "Hidden"         
          self.save
        end
        def hide!
          self.hidden = true
          self.version_comment = "Hidden"
          self.save!
        end
        def unhide
          self.hidden = false
          self.version_comment = "Unhidden"          
          self.save
        end
        def unhide!
          self.hidden = false
          self.version_comment = "Unhidden"          
          self.save!
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
browsercms-artirix-4.0.4 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.3.3 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.3.2 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.3.1 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.3 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.2 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.1.1 lib/cms/behaviors/hiding.rb
browsercms-artirix-4.0.0.rc1.art4 lib/cms/behaviors/hiding.rb
browsercms-4.0.0.rc1 lib/cms/behaviors/hiding.rb
browsercms-4.0.0.beta lib/cms/behaviors/hiding.rb
browsercms-4.0.0.alpha lib/cms/behaviors/hiding.rb