class TogoStanza::CLI::NameModifier

Public Class Methods

source_root() click to toggle source
# File lib/togostanza/cli.rb, line 136
def self.source_root
  File.expand_path('../../../templates/stanza', __FILE__)
end

Public Instance Methods

rename_directory() click to toggle source
# File lib/togostanza/cli.rb, line 159
def rename_directory
  name1_chopped = chop_slash(name1)
  name2_chopped = chop_slash(name2)

  unless File.exist?("#{files_name(name1_chopped)}/assets/#{stanzas_id(name1_chopped)}")
    Dir.mkdir("#{files_name(name1_chopped)}/assets/#{stanzas_id(name1_chopped)}")
  end

  File.rename("#{files_name(name1_chopped)}/assets/#{stanzas_id(name1_chopped)}", "#{files_name(name1_chopped)}/assets/#{stanzas_id(name2_chopped)}")
  File.rename("#{files_name(name1_chopped)}/lib/#{files_name(name1_chopped)}.rb", "#{files_name(name1_chopped)}/lib/#{files_name(name2_chopped)}.rb")
  File.rename("#{files_name(name1_chopped)}/#{files_name(name1_chopped)}.gemspec", "#{files_name(name1_chopped)}/#{files_name(name2_chopped)}.gemspec")
  File.rename(files_name(name1_chopped), files_name(name2_chopped))
end
replace_description() click to toggle source
# File lib/togostanza/cli.rb, line 140
def replace_description
  name1_chopped = chop_slash(name1)
  name2_chopped = chop_slash(name2)
  gsub_file("#{files_name(name1_chopped)}/#{files_name(name1_chopped)}.gemspec", files_name(name1_chopped), files_name(name2_chopped))
  gsub_file("#{files_name(name1_chopped)}/lib/#{files_name(name1_chopped)}.rb", classes_name(name1_chopped), classes_name(name2_chopped))

  unless File.exist?("#{files_name(name1_chopped)}/metadata.json")
    template 'metadata.json.erb', "#{files_name(name1_chopped)}/metadata.json"
  end

  gsub_file("#{files_name(name1_chopped)}/metadata.json", stanzas_id(name1_chopped), stanzas_id(name2_chopped))
  gsub_file("#{files_name(name1_chopped)}/stanza.rb", classes_name(name1_chopped), classes_name(name2_chopped))
  gsub_file("#{files_name(name1_chopped)}/template.hbs", titles(name1_chopped), titles(name2_chopped))
  gsub_file("#{files_name(name1_chopped)}/template.hbs", "assets/#{stanzas_id(name1_chopped)}","assets/#{stanzas_id(name2_chopped)}")
  gsub_file("#{files_name(name1_chopped)}/template.hbs", "#{stanzas_id(name1_chopped)}/resources", "#{stanzas_id(name2_chopped)}/resources")
  gsub_file('Gemfile', /\'#{files_name(name1_chopped)}\'/, "\'#{files_name(name2_chopped)}\'")
  gsub_file('Gemfile', /\'\.\/#{files_name(name1_chopped)}\'/, "\'\.\/#{files_name(name2_chopped)}\'")
end

Private Instance Methods

chop_slash(name) click to toggle source
# File lib/togostanza/cli.rb, line 175
def chop_slash(name)
  if name[-1] == '/'
    name.chop
  else
    name
  end
end
classes_name(name) click to toggle source
# File lib/togostanza/cli.rb, line 191
def classes_name(name)
  files_name(name).classify
end
files_name(name) click to toggle source
# File lib/togostanza/cli.rb, line 187
def files_name(name)
  stanzas_id(name) + '_stanza'
end
stanzas_id(name) click to toggle source
# File lib/togostanza/cli.rb, line 183
def stanzas_id(name)
  name.underscore.sub(/_stanza$/, '')
end
titles(name) click to toggle source
# File lib/togostanza/cli.rb, line 195
def titles(name)
  stanzas_id(name).titleize
end