class Dslable::Generators::ProductCodes::CLI
Constants
- CLI_TEMPLATE
Attributes
dsl[RW]
Public Class Methods
new(_dsl)
click to toggle source
== initialize dsl model === Params
-
_dsl: input from dsl
# File lib/generators/product_codes/cli.rb, line 49 def initialize(_dsl) fail InvalidDslError.new('dsl not allow nil') if _dsl.nil? @dsl = _dsl end
Public Instance Methods
generate()
click to toggle source
# File lib/generators/product_codes/cli.rb, line 54 def generate cli_src = adapt_template(@dsl.camelized_gem_name) generate_cli_src cli_src end
Private Instance Methods
adapt_template(gem_name_camel)
click to toggle source
# File lib/generators/product_codes/cli.rb, line 60 def adapt_template(gem_name_camel) gem_name = @dsl._gem_name dsl_file_name = "#{@dsl._gem_name.camelize.downcase.camelize}file" erb = ERB.new(CLI_TEMPLATE) erb.result(binding) end
generate_cli_src(cli_src)
click to toggle source
# File lib/generators/product_codes/cli.rb, line 67 def generate_cli_src(cli_src) FileUtils.mkdir_p('./bin') unless File.exist?('./bin') File.open("./bin/#{@dsl._bin_name}", 'w') { |f|f.puts cli_src } end