Class: Dslable::Generators::ProductCodes::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/product_codes/cli.rb

Constant Summary collapse

CLI_TEMPLATE =
<<-EOF
#!/usr/bin/env ruby
# encoding: utf-8

require "<%=gem_name%>_core"
require "<%=gem_name%>/version"
require "thor"

module <%=gem_name_camel%>
  #= <%=gem_name_camel%> CLI
  class CLI < Thor
class_option :help, :type => :boolean, :aliases => '-h', :desc => 'help message.'
class_option :version, :type => :boolean, :desc => 'version'

desc "execute", "TODO: write your desc"
def execute
  <%=gem_name_camel%>::Core.new.execute
end

desc "init", "generate <%=dsl_file_name%>"
def init
  <%=gem_name_camel%>::Core.new.init
end

desc "version", "version"
def version
  p <%=gem_name_camel%>::VERSION
end
  end
end

<%=gem_name_camel%>::CLI.start(ARGV)
EOF

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_dsl) ⇒ CLI

initialize dsl model

Params

  • _dsl: input from dsl



49
50
51
52
# 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

Instance Attribute Details

#dslObject

Returns the value of attribute dsl.



44
45
46
# File 'lib/generators/product_codes/cli.rb', line 44

def dsl
  @dsl
end

Instance Method Details

#generateObject



54
55
56
57
# 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