class JeraPushGenerator

Constants

MissingModel

Public Instance Methods

generate_migrations() click to toggle source
# File lib/generators/jera_push/jera_push_generator.rb, line 16
def generate_migrations
              unless model_exists?
                      raise MissingModel,
                              "\n\tModel \"#{file_name.titlecase}\" doesn't exists. Please, create your Model and try again."
              end

              inject_into_file model_path, "\n\thas_many :devices, as: :pushable, class_name: 'JeraPush::Device'", after: '< ActiveRecord::Base'

  inject_into_file model_path, "\n\thas_many :devices, as: :pushable, class_name: 'JeraPush::Device'", after: '< ApplicationRecord'

  case self.behavior
  when :invoke
    generate "active_record:jera_push", file_name
  when :revoke
    Rails::Generators.invoke "active_record:jera_push", [file_name], behavior: :revoke
  end
end
initializer_file() click to toggle source
# File lib/generators/jera_push/jera_push_generator.rb, line 7
def initializer_file
  template 'jera_push.rb', 'config/initializers/jera_push.rb'
  inject_into_file 'config/initializers/assets.rb', "\nRails.application.config.assets.precompile += %w( jera_push/jera_push.css jera_push/jera_push.js )", after: '# Precompile additional assets.'
end
locale_file() click to toggle source
# File lib/generators/jera_push/jera_push_generator.rb, line 12
def locale_file
  copy_file '../../../../config/locale/jera_push.pt-BR.yml', 'config/locales/jera_push.pt-BR.yml'
end

Private Instance Methods

model_exists?() click to toggle source
# File lib/generators/jera_push/jera_push_generator.rb, line 36
def model_exists?
        File.exist?(File.join(destination_root, model_path))
end
model_path() click to toggle source
# File lib/generators/jera_push/jera_push_generator.rb, line 40
def model_path
        @model_path ||= File.join("app", "models", "#{file_path}.rb")
      end