Sha256: b30c5045127826b894f22fe061e2661071e178a8f250dabd734770099bf25ea2

Contents?: true

Size: 791 Bytes

Versions: 42

Compression:

Stored size: 791 Bytes

Contents

module ResourceController
  module ClassMethods

    # Use this method in your controller to specify which actions you'd like it to respond to.
    #
    #   class PostsController < ResourceController::Base
    #     actions :all, :except => :create
    #   end
    def actions(*opts)
      config = {}
      config.merge!(opts.pop) if opts.last.is_a?(Hash)

      all_actions = (singleton? ? ResourceController::SINGLETON_ACTIONS : ResourceController::ACTIONS) - [:new_action] + [:new]
      
      actions_to_remove = []
      actions_to_remove += all_actions - opts unless opts.first == :all                
      actions_to_remove += [*config[:except]] if config[:except]
      actions_to_remove.uniq!

      actions_to_remove.each { |action| undef_method(action)}
    end
    
  end
end

Version data entries

42 entries across 42 versions & 8 rubygems

Version Path
akitaonrails-resource_controller-0.5.2 lib/resource_controller/class_methods.rb
giraffesoft-resource_controller-0.4.10 lib/resource_controller/class_methods.rb
giraffesoft-resource_controller-0.4.12 lib/resource_controller/class_methods.rb
giraffesoft-resource_controller-0.5.1 lib/resource_controller/class_methods.rb
giraffesoft-resource_controller-0.5.2 lib/resource_controller/class_methods.rb
giraffesoft-resource_controller-0.5.3 lib/resource_controller/class_methods.rb
kdmny-spree-0.0.1 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
korin-resource_controller-0.5.3 lib/resource_controller/class_methods.rb
nileshtrivedi-lp_resource_builder-0.5.1 lib/resource_controller/class_methods.rb
nileshtrivedi-lp_resource_builder-0.5.3 lib/resource_controller/class_methods.rb
spree-0.11.4 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.11.3 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.11.2 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.11.1 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.11.0 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.10.2 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.10.1 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.10.0 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-0.10.0.beta vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb
spree-enriquez-0.9.4 vendor/plugins/resource_controller/lib/resource_controller/class_methods.rb