Sha256: 69c9ae5e379d2825fb8c1669b6de0931e8442272142234da3ac39c6cf43b40bd

Contents?: true

Size: 730 Bytes

Versions: 10

Compression:

Stored size: 730 Bytes

Contents

require "godmin/generators/base"

class Godmin::PolicyGenerator < Godmin::Generators::Base
  argument :resource, type: :string

  def create_controller
    create_file ["app/policies", "#{policy_name}.rb"].compact.join("/") do
      if namespace
        <<-END.strip_heredoc
          module #{namespace.camelize}
            class #{@resource.underscore.camelize}Policy < Godmin::Authorization::Policy
            end
          end
        END
      else
        <<-END.strip_heredoc
          class #{@resource.underscore.camelize}Policy < Godmin::Authorization::Policy
          end
        END
      end
    end
  end

  private

  def policy_name
    [namespace, "#{@resource.underscore}_policy"].compact.join("/")
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
godmin-0.9.9 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.8 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.7 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.6 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.5 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.4 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.3 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.2 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.1 lib/generators/godmin/policy/policy_generator.rb
godmin-0.9.0 lib/generators/godmin/policy/policy_generator.rb