Class: Fedex::Generators::GenerateDefinitionsGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/fedex/generate_definitions_generator.rb

Constant Summary collapse

FEDEX_INITIALIZER_FILE =
File.join(Rails.root, 'config', 'initializers', 'fedex.rb')

Instance Method Summary collapse

Instance Method Details

#installObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/generators/fedex/generate_definitions_generator.rb', line 19

def install
  wsdl_dir = options[:wsdl_dir]
  wsdl_files = Dir.glob(File.join(wsdl_dir, '*.wsdl'))
  target_lib_dir = File.join(Rails.root, 'lib')

  if (wsdl_files.empty?)
    say("Could not find any wsdl files in #{wsdl_dir}", :red)
  else
    Fedex::WebServices::Definitions.generate_definitions(target_lib_dir, *wsdl_files)
    say("Added #{File.join(target_lib_dir, Fedex::WebServices::Definitions::MODULE_PATH)}", :green)

    unless (options[:skip_initializer])
      create_file(FEDEX_INITIALIZER_FILE,
          "Fedex::WebServices::Definitions.load_definitions('lib')")
    end
  end
end