class PetergateApi::Generators::InstallGenerator

Public Class Methods

next_migration_number(path) click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 11
def self.next_migration_number(path)
  sleep 1
  Time.now.utc.strftime("%Y%m%d%H%M%S")
end

Public Instance Methods

add_to_gemfile() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 16
def add_to_gemfile
  gem "apipie-rails"
  gem "jwt"
end
copy_app() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 39
def copy_app
  run "cp -rf #{self.class.source_root}/app/ app/"
end
copy_initializers() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 47
def copy_initializers
  run "cp -rf #{self.class.source_root}/initializers config/"
end
copy_lib() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 43
def copy_lib
  run "cp -rf #{self.class.source_root}/lib/ lib/"
end
create_migrations() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 51
def create_migrations
  Dir["#{self.class.source_root}/migrations/*.rb"].sort.each do |filepath|
    name = File.basename(filepath)
    migration_template "migrations/#{name}", "db/migrate/#{name}"
  end
end
insert_into_user_model() click to toggle source
# File lib/generators/petergate_api/install_generator.rb, line 21
      def insert_into_user_model
        inject_into_file "app/models/user.rb", after: /^class\sUser < ActiveRecord::Base/ do
          <<-'RUBY'

  has_many :api_connections, class_name: "::Api::Connection"
  
  def set_mobile_reset_token!
    begin
      self.mobile_reset_token = Base64.strict_encode64(Devise.friendly_token + self.email).strip
    end while self.class.find_by(mobile_reset_token: self.mobile_reset_token).present?
    self.save
    self.mobile_reset_token
  end
 
          RUBY
        end
      end