
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Uma gem Ruby multi-funcional que fornece diversas funcionalidades organizadas em módulos, incluindo um cliente MongoDB com padrão Singleton e operações comuns de banco de dados.
Adicione esta linha ao seu Gemfile:
gem 'functionator'
E execute:
$ bundle install
Ou instale diretamente:
$ gem install functionator
Configure as variáveis de ambiente para conexão com MongoDB:
# Opção 1: Variáveis padrão
export USER=seu_usuario_mongodb
export PASSWORD=sua_senha_mongodb
export HOST=seu_host_mongodb
export DATABASE=seu_database_mongodb
# Opção 2: Variáveis específicas do MongoDB
export MONGODB_USER=seu_usuario_mongodb
export MONGODB_PASSWORD=sua_senha_mongodb
export MONGODB_HOST=seu_host_mongodb
export MONGODB_DATABASE=seu_database_mongodb
require 'functionator'
# Usando o módulo MongoDB com padrão Singleton
client = Functionator.mongodb
# Ou acessando diretamente
client = Functionator::MongoDB::Client.instance
# Ou criando uma nova instância com string de conexão customizada
client = Functionator::MongoDB::Client.new("mongodb://localhost:27017/meu_database")
# Inserir múltiplos documentos
data = [
{ name: "João", age: 30 },
{ name: "Maria", age: 25 }
]
client.insert_many("users", data)
# Buscar documentos
users = client.find("users", { age: { "$gte" => 25 } })
# Buscar com ordenação e limite
recent_users = client.find_sort("users", {}, { created_at: -1 }, 10)
# Atualizar documento
client.update("users", { name: "João" }, { "$set" => { age: 31 } })
# Contar status de requests (método específico do domínio)
status_counts = client.count_status_requests("requests")
# Upsert de logs
document = { ms: 1234567890, message: "Log entry", created_at: Time.now }
client.upsert_log_to_mongo("logs", document)
# Buscar grupos de log
log_groups = client.fetch_log_groups_from_mongo
# Obter última execução
last_run = client.get_last_run_from_mongo("executions", 1234567890)
insert_many(collection_name, data)
- Insere múltiplos documentosfind(collection_name, query)
- Busca documentosfind_sort(collection_name, query, sort, limit)
- Busca com ordenação e limiteupdate(collection_name, query, update_query)
- Atualiza documentoupdate_log_group(collection_name, query, update_query, upsert: false)
- Atualiza com opção de upsertcount_status_requests(collection_name)
- Conta status de requests por domínioupsert_log_to_mongo(collection_name, document)
- Upsert de logsupsert_log_to_mongo_log_group(collection_name, document)
- Upsert de grupos de logfetch_log_groups_from_mongo
- Busca grupos de logget_last_run_from_mongo(collection_name, ms)
- Obtém última execuçãoApós clonar o repositório:
$ bundle install
$ rake spec # Para executar os testes
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)Esta gem está disponível como código aberto sob os termos da Licença MIT.
FAQs
Unknown package
We found that functionator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.