Class: Effective::Generators::AbilityGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Helpers
Defined in:
lib/generators/effective/ability_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_ability ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/effective/ability_generator.rb', line 22

def create_ability
  unless File.exists?('app/models/ability.rb')
    say_status(:skipped, :ability, :yellow) and return
  end

  Effective::CodeWriter.new('app/models/ability.rb') do |w|
    if w.find { |line, depth| depth == 2 && line == ability }
      say_status :identical, ability, :blue
    else
      w.insert_into_first(ability) { |line, depth| line.start_with?('def initialize') }
    end
  end
end

#invoke_ability ⇒ Object



18
19
20
# File 'lib/generators/effective/ability_generator.rb', line 18

def invoke_ability
  say_status :invoke, :ability, :white
end