class Glass::Generators::InstallGenerator

Public Class Methods

next_migration_number(path) click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 25
def self.next_migration_number(path)
  (Time.now.utc.strftime("%Y%m%d%H%M%S").to_i + 1).to_s
end
source_root() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 11
def self.source_root
  @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end

Public Instance Methods

copy_glass_templates() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 40
def copy_glass_templates
  directory("glass_templates", "app/views/glass")
end
create_configuration_file() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 15
def create_configuration_file
  copy_file("google-oauth.yml", "config/google-api-keys.yml")
end
create_glass_account_migration() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 19
def create_glass_account_migration
  generate("model", "google_account token refresh_token expires_at:integer email name id_token:text verification_secret #{user_model.underscore.singularize}:references")
  remove_file("app/models/google_account.rb")
  template("google_account.rb", "app/models/google_account.rb")
  insert_into_file("app/models/#{user_model.underscore.singularize}.rb", "\n\s\shas_one :google_account\n\n", after: "ActiveRecord::Base\n")
end
create_initializer() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 37
def create_initializer
  copy_file "initializer.rb", "config/initializers/glass.rb"
end
create_subscription_notifications_controller() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 31
def create_subscription_notifications_controller
  generate("controller", "glass/notifications")
  remove_file("app/controllers/glass/notifications_controller.rb")
  template("notifications_controller.rb", "app/controllers/glass/notifications_controller.rb")
  insert_into_file("config/routes.rb", "\n\s\spost 'glass/notifications', to: 'glass/notifications#callback', as: 'glass_notifications_callback'\n\n", after: "routes.draw\sdo\n")
end
create_timeline_items_migration() click to toggle source
# File lib/generators/glass/install/install_generator.rb, line 28
def create_timeline_items_migration
  migration_template "glass_timeline_item_migration.rb", "db/migrate/create_glass_timeline_items.rb"
end