Class: Sufia::Models::ArkivoApiGenerator

Inherits:
AbstractMigrationGenerator show all
Defined in:
lib/generators/sufia/models/arkivo_api_generator.rb

Instance Method Summary collapse

Methods inherited from AbstractMigrationGenerator

next_migration_number

Instance Method Details



10
11
12
# File 'lib/generators/sufia/models/arkivo_api_generator.rb', line 10

def banner
  say_status("info", "ADDING ZOTERO/ARKIVO API INTEGRATION", :blue)
end

#copy_config_filesObject

Copy the config files for Zotero and Arkivo



35
36
37
38
# File 'lib/generators/sufia/models/arkivo_api_generator.rb', line 35

def copy_config_files
  copy_file 'config/arkivo.yml', 'config/arkivo.yml'
  copy_file 'config/zotero.yml', 'config/zotero.yml'
end

#copy_migrationObject

Copy the database migration



30
31
32
# File 'lib/generators/sufia/models/arkivo_api_generator.rb', line 30

def copy_migration
  better_migration_template 'add_arkivo_to_users.rb'
end

#copy_routing_constraintObject

Copy the routing constraint over



25
26
27
# File 'lib/generators/sufia/models/arkivo_api_generator.rb', line 25

def copy_routing_constraint
  copy_file 'config/arkivo_constraint.rb', 'config/initializers/arkivo_constraint.rb'
end

#inject_arkivo_configObject

Turn on the feature set in Sufia’s config



15
16
17
18
19
20
21
22
# File 'lib/generators/sufia/models/arkivo_api_generator.rb', line 15

def inject_arkivo_config
  inject_into_file 'config/initializers/sufia.rb', after: /^Sufia\.config do.*$/ do
    "\n  # Sufia can integrate with Zotero's Arkivo service for automatic deposit\n" +
      "  # of Zotero-managed research items.\n" +
      "  # Defaults to false.  See README for more info\n" +
      "  config.arkivo_api = true\n"
  end
end