Sha256: 442e40f984eb1b008612ab48cc41db1f9e3a64c96ea4bae10bbb1dc1902bd23d

Contents?: true

Size: 1.27 KB

Versions: 23

Compression:

Stored size: 1.27 KB

Contents

require 'generators/cantango/permit_generator'

module Cantango
  module Generators
    class RolePermitsGenerator < Rails::Generators::Base
      desc "Creates a Permit for each role in 'app/permits' and ensures that the permit folder is added to Rails load path."

      argument     :roles,            :type => :array,
          :desc => "Roles to create permits for"

      class_option :special_permits,  :type => :boolean,    :default => false,
          :desc => "Create special permits Syatem and Any"

      class_option :account,          :type => :string,
          :desc => "Generate permits for a specific user account"

      class_option :group,            :type => :boolean,    :default => false,  
          :desc => "Generate permits for role groups"

      source_root File.dirname(__FILE__) + '/../role_permit/templates'

      def main_flow
        create_special_permits if special_permits?
        create_permits
      end

      protected

      include Cantango::Generators::PermitGenerator

      def create_special_permits
        template_permit :any
        template_permit :system
      end

      def create_permits
        roles.each { |role| template_permit role }
      end

      def special_permits?
        options[:special_permits]
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 3 rubygems

Version Path
cantango-permits-0.1.1 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-roles-0.1.0 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.7 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.6 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.5 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.3 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.2 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4.1 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.4 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.9.3.2 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9.5 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9.4 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9.3 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9.2 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9.1 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.9 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.8.1 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.8 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.7 lib/generators/cantango/role_permits/role_permits_generator.rb
cantango-0.8.6.2 lib/generators/cantango/role_permits/role_permits_generator.rb