Class: ProviderGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/provider/provider_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_provider_initializerObject



12
13
14
15
16
17
18
# File 'lib/generators/provider/provider_generator.rb', line 12

def add_provider_initializer
  if types.any?
    insert_into_file "config/initializers/providers.rb", %Q(\nProviderKit.register :#{ provider_name }, class_name: "#{ class_name }::Provider", types: [ #{ types.map(&:inspect).join(", ") } ]\n)
  else
    insert_into_file "config/initializers/providers.rb", %Q(\nProviderKit.register :#{ provider_name }, class_name: "#{ class_name }::Provider"\n)
  end
end

#create_provider_filesObject



20
21
22
23
24
25
26
27
28
# File 'lib/generators/provider/provider_generator.rb', line 20

def create_provider_files
  template "context.rb", File.join("app/providers/#{ singular_name }.rb")
  template "provider.rb", File.join("app/providers/#{ singular_name }/provider.rb")

  capabilities.each do |capability|
    @capability = capability
    template "capability.rb", File.join("app/providers/#{ singular_name }/capabilities/#{ capability.underscore }.rb")
  end
end

#create_spec_fileObject



30
31
32
# File 'lib/generators/provider/provider_generator.rb', line 30

def create_spec_file
  template "spec.rb", File.join("spec/providers/#{ singular_name }_spec.rb")
end