class Shaf::Generator::Policy

Public Instance Methods

attributes() click to toggle source
# File lib/shaf/generator/policy.rb, line 35
def attributes
  args[1..-1].map { |attr| "attribute :#{attr}" }
end
call() click to toggle source
# File lib/shaf/generator/policy.rb, line 7
def call
  create_policy
end
create_policy() click to toggle source
# File lib/shaf/generator/policy.rb, line 30
def create_policy
  content = render(template, opts)
  write_output(target, content)
end
model_class_name() click to toggle source
# File lib/shaf/generator/policy.rb, line 18
def model_class_name
  Utils::model_name(policy_name)
end
opts() click to toggle source
# File lib/shaf/generator/policy.rb, line 39
def opts
  {
    policy_class_name: "#{model_class_name}Policy",
    name: policy_name,
    attributes: attributes,
  }
end
policy_name() click to toggle source
# File lib/shaf/generator/policy.rb, line 11
def policy_name
  n = args.first || ""
  return n unless n.empty?
  raise Command::ArgumentError,
    "Please provide a policy name when using the policy generator!"
end
target() click to toggle source
# File lib/shaf/generator/policy.rb, line 26
def target
  "api/policies/#{policy_name}_policy.rb"
end
template() click to toggle source
# File lib/shaf/generator/policy.rb, line 22
def template
  'api/policy.rb'
end