class GoonModelGen::Cli
Public Instance Methods
build_model_objects(paths)
click to toggle source
@param paths [Array<String>] Source::Context
@return [Array<Golang::Package>]
# File lib/goon_model_gen/cli.rb, line 98 def build_model_objects(paths) context = Source::Loader.new.process(paths) Builder::ModelBuilder.new(cfg).build(context) end
build_store_packages(paths)
click to toggle source
@param paths [Array<String>] Source::Context
@return [Array<Golang::Package>]
# File lib/goon_model_gen/cli.rb, line 105 def build_store_packages(paths) context = Source::Loader.new.process(paths) model_packages = Builder::ModelBuilder.new(cfg).build(context) store_packages = Builder::StoreBuilder.new(cfg, model_packages).build(context) return store_packages end
cfg()
click to toggle source
# File lib/goon_model_gen/cli.rb, line 86 def cfg @cfg ||= Config.new.load_from(options[:config]) end
config()
click to toggle source
# File lib/goon_model_gen/cli.rb, line 28 def config puts YAML.dump(cfg) end
converter(*paths)
click to toggle source
# File lib/goon_model_gen/cli.rb, line 66 def converter(*paths) loader = Converter::Loader.new(cfg) package_hash = Golang::StructsLoader.new(cfg).process # Golang::Packages packages = Golang::Packages.wrap(package_hash.values.flatten) converter_package = packages.find_or_new(cfg.converter_package_path) b = Builder::ConverterBuilder.new(cfg, loader, Golang::Packages.new.add(*packages)) conv_packages = b.build(paths) if options[:inspect] puts YAML.dump(conv_packages) else conv_packages.map(&:files).flatten.each do |f| new_generator(f, packages). run(converter_package: converter_package) end end end
load_yamls(paths)
click to toggle source
@param paths [Array<String>] @return [Source::Context]
# File lib/goon_model_gen/cli.rb, line 92 def load_yamls(paths) Source::Loader.new.process(paths) end
model(*paths)
click to toggle source
# File lib/goon_model_gen/cli.rb, line 40 def model(*paths) packages = build_model_objects(paths) if options[:inspect] puts YAML.dump(packages) else packages.map(&:files).flatten.each do |f| new_generator(f, packages).run end end end
new_generator(f, packages)
click to toggle source
@param f [Golang::File] @param packages [Golang::Packages] @return [Generator]
# File lib/goon_model_gen/cli.rb, line 115 def new_generator(f, packages) g = Generator.new(f, packages, thor: self) g.load_config(cfg) g.skip = options[:skip] g.force = options[:force] g.overwrite_custom_file = options[:overwrite_custom_file] return g end
sources(*paths)
click to toggle source
# File lib/goon_model_gen/cli.rb, line 33 def sources(*paths) context = load_yamls(paths) puts YAML.dump(context) end
store(*paths)
click to toggle source
# File lib/goon_model_gen/cli.rb, line 53 def store(*paths) packages = build_store_packages(paths).add(*validation_packages) if options[:inspect] puts YAML.dump(packages) else packages.map(&:files).flatten.each do |f| new_generator(f, packages).run end end end
validation_packages()
click to toggle source
@return [Golang::Package]
# File lib/goon_model_gen/cli.rb, line 125 def validation_packages Builder::ValidationBuilder.new(cfg).build end