Sha256: d0a92fb72a2a47316d1ff5d8778fb7df3521b8a0bd15cd40531704d044faf565

Contents?: true

Size: 942 Bytes

Versions: 8

Compression:

Stored size: 942 Bytes

Contents

#!/usr/bin/env ruby

APP_PATH = File.expand_path('config/application')
require APP_PATH

require 'thor'

class ModelBaseCli < Thor
  desc "each controller COMMAND [ARG1...]", "Call command with each controller"
  long_desc [
    "Run COMMAND with each controller. ",
    "For example, `bundle exec model_base each controller rails g scaffold_controller`",
    " runs `rails g scaffold_controller CONTROLLER`. ",
    "All of CONTROLLER are loaded from .model_base/controllers",
  ].join("\n")
  def each(type, command, *args)
    names =
      case type
      when 'controller' then # OK
        ModelBase.generated_controllers
      else raise "type must `controller` now"
      end
    names.each do |name|
      cmd = "#{command.shellescape} #{args.map(&:shellescape).join(' ')} #{name}"
      puts "\e[34m#{cmd}\e[0m"
      Bundler.with_clean_env do
        exit(1) unless system(cmd)
      end
    end
  end
end

ModelBaseCli.start(ARGV)

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
model_base_generators-0.4.0 exe/model_base
model_base_generators-0.3.9 exe/model_base
model_base_generators-0.3.8 exe/model_base
model_base_generators-0.3.7 exe/model_base
model_base_generators-0.3.6 exe/model_base
model_base_generators-0.3.5 exe/model_base
model_base_generators-0.3.4 exe/model_base
model_base_generators-0.3.3 exe/model_base