Class: CurationConcerns::ModelsGenerator

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

Instance Method Summary collapse

Instance Method Details



9
10
11
# File 'lib/generators/curation_concerns/models_generator.rb', line 9

def banner
  say_status('warning', 'GENERATING CURATION_CONCERNS MODELS', :yellow)
end

#clamavObject

Adds clamav initializtion



50
51
52
# File 'lib/generators/curation_concerns/models_generator.rb', line 50

def clamav
  generate 'curation_concerns:clamav'
end

#copy_migrationsObject

Setup the database migrations



14
15
16
# File 'lib/generators/curation_concerns/models_generator.rb', line 14

def copy_migrations
  rake 'curation_concerns:install:migrations'
end

#create_collectionObject



39
40
41
42
# File 'lib/generators/curation_concerns/models_generator.rb', line 39

def create_collection
  copy_file 'app/models/collection.rb', 'app/models/collection.rb'
  copy_file 'spec/models/collection_spec.rb', 'spec/models/collection_spec.rb' if rspec_installed?
end

#create_configuration_filesObject



31
32
33
34
35
36
37
# File 'lib/generators/curation_concerns/models_generator.rb', line 31

def create_configuration_files
  append_file 'config/initializers/mime_types.rb',
              "\nMime::Type.register 'application/x-endnote-refer', :endnote", verbose: false
  copy_file 'config/curation_concerns.rb', 'config/initializers/curation_concerns.rb'
  copy_file 'config/redis.yml', 'config/redis.yml'
  copy_file 'config/redis_config.rb', 'config/initializers/redis_config.rb'
end

#create_file_setObject



44
45
46
47
# File 'lib/generators/curation_concerns/models_generator.rb', line 44

def create_file_set
  copy_file 'app/models/file_set.rb', 'app/models/file_set.rb'
  copy_file 'spec/models/file_set_spec.rb', 'spec/models/file_set_spec.rb' if rspec_installed?
end

#inject_curation_concerns_user_behaviorObject

Add behaviors to the user model



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/generators/curation_concerns/models_generator.rb', line 19

def inject_curation_concerns_user_behavior
  file_path = "app/models/#{model_name.underscore}.rb"
  if File.exist?(file_path)
    inject_into_file file_path, after: /include Hydra\:\:User.*$/ do
      "\n  # Connects this user object to Curation Concerns behaviors." \
      "\n  include CurationConcerns::User\n"
    end
  else
    puts "     \e[31mFailure\e[0m  CurationConcerns requires a user object. This generators assumes that the model is defined in the file #{file_path}, which does not exist.  If you used a different name, please re-run the generator and provide that name as an argument. Such as \b  rails -g curation_concerns client"
  end
end