Merge pull request #299177 from Rucadi/flatito

flatito: init at 0.1.1
This commit is contained in:
Pol Dellaiera 2024-04-03 08:38:17 +02:00 committed by GitHub
commit d9e67131c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 359 additions and 0 deletions

View file

@ -0,0 +1,13 @@
# frozen_string_literal: true
source "https://rubygems.org"
# Specify your gem's dependencies in flatito.gemspec
gemspec
gem "minitest", "~> 5.22"
gem "rake", "~> 13.0"
gem "rubocop", "~> 1.62"
gem "rubocop-minitest", "~> 0.35"
gem "rubocop-performance", "~> 1.11"
gem "rubocop-rake", "~> 0.6"

View file

@ -0,0 +1,62 @@
PATH
remote: .
specs:
flatito (0.1.1)
colorize
GEM
remote: https://rubygems.org/
specs:
ast (2.4.2)
colorize (1.1.0)
json (2.7.1)
language_server-protocol (3.17.0.3)
minitest (5.22.3)
parallel (1.24.0)
parser (3.3.0.5)
ast (~> 2.4.1)
racc
racc (1.7.3)
rainbow (3.1.1)
rake (13.1.0)
regexp_parser (2.9.0)
rexml (3.2.6)
rubocop (1.62.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.31.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.2)
parser (>= 3.3.0.4)
rubocop-minitest (0.35.0)
rubocop (>= 1.61, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0)
rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
ruby-progressbar (1.13.0)
unicode-display_width (2.5.0)
PLATFORMS
arm64-darwin-22
ruby
DEPENDENCIES
flatito!
minitest (~> 5.22)
rake (~> 13.0)
rubocop (~> 1.62)
rubocop-minitest (~> 0.35)
rubocop-performance (~> 1.11)
rubocop-rake (~> 0.6)
BUNDLED WITH
2.5.6

View file

@ -0,0 +1,40 @@
# frozen_string_literal: true
require_relative "lib/flatito/version"
Gem::Specification.new do |spec|
spec.name = "flatito"
spec.version = Flatito::VERSION
spec.authors = ["José Galisteo"]
spec.email = ["ceritium@gmail.com"]
spec.summary = "Grep for YAML and JSON files"
spec.description = "A kind of grep for YAML and JSON files. It allows you to search for a key and get the value and the line number where it is located."
spec.homepage = "https://github.com/ceritium/flatito"
spec.license = "MIT"
spec.required_ruby_version = ">= 3.0.0"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
spec.files = Dir.chdir(__dir__) do
`git ls-files -z`.split("\x0").reject do |f|
(File.expand_path(f) == __FILE__) ||
f.start_with?(*%w[bin/ test/ spec/ features/ .git .github appveyor Gemfile])
end
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
# Uncomment to register a new dependency of your gem
spec.add_dependency "colorize"
# For more information and examples about making a new gem, check out our
# guide at: https://bundler.io/guides/creating_gem.html
spec.metadata["rubygems_mfa_required"] = "true"
end

View file

@ -0,0 +1,208 @@
{
ast = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "04nc8x27hlzlrr5c2gn7mar4vdr0apw5xg22wp6m8dx3wqr04a0y";
type = "gem";
};
version = "2.4.2";
};
colorize = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0dy8ryhcdzgmbvj7jpa1qq3bhhk1m7a2pz6ip0m6dxh30rzj7d9h";
type = "gem";
};
version = "1.1.0";
};
flatito = {
dependencies = [ "colorize" ];
groups = [ "default" ];
platforms = [ ];
source = {
path = ./.;
type = "path";
};
version = "0.1.1";
};
json = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq";
type = "gem";
};
version = "2.7.1";
};
language_server-protocol = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
type = "gem";
};
version = "3.17.0.3";
};
minitest = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
type = "gem";
};
version = "5.22.3";
};
parallel = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15wkxrg1sj3n1h2g8jcrn7gcapwcgxr659ypjf75z1ipkgxqxwsv";
type = "gem";
};
version = "1.24.0";
};
parser = {
dependencies = [ "ast" "racc" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "11r6kp8wam0nkfvnwyc1fmvky102r1vcfr84vi2p1a2wa0z32j3p";
type = "gem";
};
version = "3.3.0.5";
};
racc = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01b9662zd2x9bp4rdjfid07h09zxj7kvn7f5fghbqhzc625ap1dp";
type = "gem";
};
version = "1.7.3";
};
rainbow = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0smwg4mii0fm38pyb5fddbmrdpifwv22zv3d3px2xx497am93503";
type = "gem";
};
version = "3.1.1";
};
rake = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
type = "gem";
};
version = "13.1.0";
};
regexp_parser = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ndxm0xnv27p4gv6xynk6q41irckj76q1jsqpysd9h6f86hhp841";
type = "gem";
};
version = "2.9.0";
};
rexml = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "05i8518ay14kjbma550mv0jm8a6di8yp5phzrd8rj44z9qnrlrp0";
type = "gem";
};
version = "3.2.6";
};
rubocop = {
dependencies = [ "json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0daamn13fbm77rdwwa4w6j6221iq6091asivgdhk6n7g398frcdf";
type = "gem";
};
version = "1.62.1";
};
rubocop-ast = {
dependencies = [ "parser" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1v3q8n48w8h809rqbgzihkikr4g3xk72m1na7s97jdsmjjq6y83w";
type = "gem";
};
version = "1.31.2";
};
rubocop-minitest = {
dependencies = [ "rubocop" "rubocop-ast" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "001f4xcs3p0g04cyqfdkb2i1lld0yjmnx1s11y9z2id4b2lg64c4";
type = "gem";
};
version = "0.35.0";
};
rubocop-performance = {
dependencies = [ "rubocop" "rubocop-ast" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cf7fn4dwf45r3nhnda0dhnwn8qghswyqbfxr2ippb3z8a6gmc8v";
type = "gem";
};
version = "1.20.2";
};
rubocop-rake = {
dependencies = [ "rubocop" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1nyq07sfb3vf3ykc6j2d5yq824lzq1asb474yka36jxgi4hz5djn";
type = "gem";
};
version = "0.6.0";
};
ruby-progressbar = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cwvyb7j47m7wihpfaq7rc47zwwx9k4v7iqd9s1xch5nm53rrz40";
type = "gem";
};
version = "1.13.0";
};
unicode-display_width = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1d0azx233nags5jx3fqyr23qa2rhgzbhv8pxp46dgbg1mpf82xky";
type = "gem";
};
version = "2.5.0";
};
}

View file

@ -0,0 +1,36 @@
{ lib, fetchFromGitHub, ruby, buildRubyGem, bundlerEnv }:
let
deps = bundlerEnv rec {
inherit ruby;
name = "flatito-${version}";
version = "0.1.1";
gemdir = ./.;
gemset = lib.recursiveUpdate (import ./gemset.nix) {
flatito.source = {
remotes = [ "https://rubygems.org" ];
sha256 = "9f5a8f899a14c1a0fe74cb89288f24ddc47bd5d83ac88ac8023d19b056ecb50f";
type = "gem";
};
};
};
in
buildRubyGem rec {
inherit ruby;
gemName = "flatito";
pname = gemName;
version = "0.1.1";
source.sha256 = "sha256-n1qPiZoUwaD+dMuJKI8k3cR71dg6yIrIAj0ZsFbstQ8=";
propagatedBuildInputs = [ deps ];
meta = with lib; {
description = "It allows you to search for a key and get the value and the line number where it is located in YAML and JSON files.";
homepage = "https://github.com/ceritium/flatito";
license = licenses.mit;
maintainers = with maintainers; [ rucadi ];
platforms = platforms.unix;
mainProgram = "flatito";
};
}