Sha256: 0e5afef53a59c19abd86f0308155f33b9364c13de9b3bc501f572181138ca2b9
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'active_support' require 'active_support/core_ext' require 'string/builder' require 'thor' module Eucalypt module Generators class Controller < Thor::Group include Thor::Actions include Eucalypt::Helpers using String::Builder def self.source_root File.join File.dirname(__dir__), 'templates' end def generate(spec: true, rest: false, name:) controller = Inflect.new(:controller, name) route = '/' << (rest ? controller.route_name.pluralize : controller.route_name) controller_file_name = String.build do |s| s << 'rest_' if rest s << 'controller.tt' end controller_template = File.join 'controller', controller_file_name helper = Inflect.new(:helper, controller.resource) config = { route: route, constant: controller.constant, class_name: controller.class_name, helper_class_name: helper.class_name, resource: controller.resource, resources: controller.resources } template(controller_template, controller.file_path, config) template("controller_spec.tt", controller.spec_path, config) if spec end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eucalypt-0.9.0 | lib/eucalypt/generate/namespaces/generate-controller/generators/controller.rb |