Class: Dslable::Core
- Inherits:
-
Object
- Object
- Dslable::Core
- Defined in:
- lib/dslable_core.rb
Constant Summary collapse
- DSLDEFINE_FILE =
'Dsldefine'- DSLDEFINE_TEMPLATE =
<<-EOS # encoding: utf-8 # set your gem name. this is use in rb-filename and class-name gem_name "TODO: set your gem_name" # set your bin name bin_name "TODO: set your bin_name" # set your dsl filed field :field_name1 do |f| # set your field description f.desc "field1 description" f.args :args_name do |a| # set your args description a.desc "args description" # you can use String, Array, Hash and :Boolean a.klass String # if you want not required, comment out following line a.required # if you comment out following line, default => nil a.default_value "args_value2" end end # field :field_name2 do |f| # f.desc "field2 description" # f.args :args_name do |a| # a.desc "args description" # a.klass String # a.required # a.default_value "args_value2" # end # end EOS
Instance Method Summary collapse
Instance Method Details
#generate ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/dslable_core.rb', line 59 def generate src = read_dsl_define # DSLからパラメータの取得 dsl = Dslable::Dsl.new dsl.instance_eval src Dslable::Generators::GemTemplate.new(dsl).generate Dslable::Generators::Settings::Gemfile.new(dsl).generate Dslable::Generators::Workflow.new(dsl).generate Dslable::Generators::ProductCodes::Core.new(dsl).generate Dslable::Generators::ProductCodes::Dsl.new(dsl).generate Dslable::Generators::ProductCodes::DslModel.new(dsl).generate Dslable::Generators::ProductCodes::CLI.new(dsl).generate Dslable::Generators::RSpec::SpecTemplate.new(dsl).generate Dslable::Generators::RSpec::Specs.new(dsl).generate end |
#init ⇒ Object
55 56 57 |
# File 'lib/dslable_core.rb', line 55 def init File.open(DSLDEFINE_FILE, 'w') { |f|f.puts DSLDEFINE_TEMPLATE } end |