alacritty_themes 0.1.1 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0a65d2198260e8fff15d1516ec5b3bede0785965b1d5f71c4220a78dd1b7b6ac
4
- data.tar.gz: 0c0a10f1015796558ad3e2e8feab612ddebfbf953f0a06175950e121b9d1b225
3
+ metadata.gz: 2230b5f4993021f0fedb68fcd8e9bbc034be2b01418268ab1af1405caef44186
4
+ data.tar.gz: 7d39c7954afed54f12b4b0edbe1f858c2c59c325b1f088d66d9b6bb200719738
5
5
  SHA512:
6
- metadata.gz: 1ccfa4ed1a65c3e3f36166e4269e836622501a4a21021222a57616deeb189ef3498d153742f99617d9a09070e3b9b4a1fd978508acd4a1dd8d228687343f4216
7
- data.tar.gz: 8d034f71838205fc8e8c0ab8e8b3aa15d1a347cd47550ea0873cf193f70816ac18e863973e4013543a8e61a999535abd665d8ef7c971254c981c91246bb44ab5
6
+ metadata.gz: 81266ca24e04d2cd20b1341240b0a5f9c7f9a143799074b6da4cfd19469d88fc0a69cbcdff7d4607e27d68bbf3fe2998d4181f8cef6adaccb9043391eb081595
7
+ data.tar.gz: d8f1cbcb16ffe8c333d6fef5b49bc01937bc10d17a49272d2b109876ef85cd8aced61f0bc049124a656c096c298571844147b065fe8cc81438a7b38d46035aef
@@ -0,0 +1,11 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler"
9
+ directory: "/"
10
+ schedule:
11
+ interval: "daily"
@@ -8,7 +8,7 @@ jobs:
8
8
 
9
9
  strategy:
10
10
  matrix:
11
- ruby-version: [3.0.1, 2.7.5]
11
+ ruby-version: [ruby-head, 3.0.1, 2.7.5]
12
12
 
13
13
  steps:
14
14
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -1,6 +1,9 @@
1
+ require:
2
+ - rubocop-rspec
3
+ - rubocop-rake
4
+
1
5
  AllCops:
2
6
  NewCops: enable
3
- SuggestExtensions: false
4
7
  TargetRubyVersion: 2.7.5
5
8
 
6
9
  Style/StringLiterals:
@@ -11,3 +14,17 @@ Style/StringLiteralsInInterpolation:
11
14
  Enabled: true
12
15
  EnforcedStyle: double_quotes
13
16
 
17
+ Metrics/BlockLength:
18
+ Enabled: false
19
+
20
+ RSpec/DescribedClass:
21
+ Enabled: true
22
+ EnforcedStyle: explicit
23
+
24
+ RSpec/MultipleExpectations:
25
+ Enabled: true
26
+ Max: 2
27
+
28
+ RSpec/NestedGroups:
29
+ Enabled: true
30
+ Max: 4
data/.ruby-gemset CHANGED
@@ -1 +1 @@
1
- alacritty-themes
1
+ alacritty_themes
data/CHANGELOG.md CHANGED
@@ -1,10 +1,60 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.1.4] - 2022-03-21
4
+
5
+ ### Added
6
+
7
+ - Add dependabot config
8
+ - Add FakeFs gem
9
+ - Add ruby compatibility with `ruby-head`
10
+
11
+ ### Changed
12
+
13
+ - Creates the alacritty.yml file if doesn't exist
14
+ - Move the alacritty.yml to a backup if the alacritty.yml already exists
15
+
16
+ ## [0.1.3] - 2022-03-21
17
+
18
+ ### Changed
19
+
20
+ - update readme
21
+
22
+ ### Fixed
23
+
24
+ - Fix gem's homepage
25
+
26
+ ## [0.1.2] - 2022-03-21
27
+
28
+ ### Added
29
+
30
+ - Add help option
31
+
32
+ ```ruby
33
+ alacritty_themes --help
34
+ ```
35
+
36
+ - Add version option
37
+
38
+ ```ruby
39
+ alacritty_themes --version
40
+ ```
41
+
42
+ - Add rubocop-rake
43
+ - Add rubocop-rspec
44
+
45
+ ### Changed
46
+
47
+ - rubocop config
48
+
3
49
  ## [0.1.1] - 2022-03-16
4
50
 
5
- - Add rubocop configuration
6
- - Add github workflow
51
+ ### Added
52
+
53
+ - Configure rubocop
54
+ - Configure github workflow
7
55
 
8
56
  ## [0.1.0] - 2022-03-15
9
57
 
58
+ ### Added
59
+
10
60
  - Initial commit
data/Gemfile CHANGED
@@ -5,6 +5,8 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in alacritty_themes.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 12.0"
8
+ gem "rake", "~> 13.0"
9
9
  gem "rspec", "~> 3.0"
10
- gem "rubocop", "~> 1.7"
10
+ gem "rubocop", "~> 1.26"
11
+ gem "rubocop-rake", require: false
12
+ gem "rubocop-rspec", require: false
data/Gemfile.lock CHANGED
@@ -1,18 +1,24 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- alacritty_themes (0.1.1)
4
+ alacritty_themes (0.1.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.2)
10
+ coderay (1.1.3)
10
11
  diff-lcs (1.5.0)
11
- parallel (1.21.0)
12
+ fakefs (1.4.1)
13
+ method_source (1.0.0)
14
+ parallel (1.22.1)
12
15
  parser (3.1.1.0)
13
16
  ast (~> 2.4.1)
17
+ pry (0.14.1)
18
+ coderay (~> 1.1)
19
+ method_source (~> 1.0)
14
20
  rainbow (3.1.1)
15
- rake (12.3.3)
21
+ rake (13.0.6)
16
22
  regexp_parser (2.2.1)
17
23
  rexml (3.2.5)
18
24
  rspec (3.11.0)
@@ -28,7 +34,7 @@ GEM
28
34
  diff-lcs (>= 1.2.0, < 2.0)
29
35
  rspec-support (~> 3.11.0)
30
36
  rspec-support (3.11.0)
31
- rubocop (1.26.0)
37
+ rubocop (1.26.1)
32
38
  parallel (~> 1.10)
33
39
  parser (>= 3.1.0.0)
34
40
  rainbow (>= 2.2.2, < 4.0)
@@ -39,6 +45,10 @@ GEM
39
45
  unicode-display_width (>= 1.4.0, < 3.0)
40
46
  rubocop-ast (1.16.0)
41
47
  parser (>= 3.1.1.0)
48
+ rubocop-rake (0.6.0)
49
+ rubocop (~> 1.0)
50
+ rubocop-rspec (2.9.0)
51
+ rubocop (~> 1.19)
42
52
  ruby-progressbar (1.11.0)
43
53
  unicode-display_width (2.1.0)
44
54
 
@@ -47,9 +57,13 @@ PLATFORMS
47
57
 
48
58
  DEPENDENCIES
49
59
  alacritty_themes!
50
- rake (~> 12.0)
60
+ fakefs (~> 1.4.1)
61
+ pry (~> 0.14.1)
62
+ rake (~> 13.0)
51
63
  rspec (~> 3.0)
52
- rubocop (~> 1.7)
64
+ rubocop (~> 1.26)
65
+ rubocop-rake
66
+ rubocop-rspec
53
67
 
54
68
  BUNDLED WITH
55
69
  2.1.4
data/README.md CHANGED
@@ -1,44 +1,47 @@
1
- # AlacrittyThemes
1
+ # Alacritty Themes
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/alacritty_themes`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ [![Gem Version](https://badge.fury.io/rb/alacritty_themes.svg)](https://badge.fury.io/rb/alacritty_themes)
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ > NOTE: This gem is work in progress
6
6
 
7
- ## Installation
7
+ Your favorite collection of themes for alacritty,
8
+ we initialize with a few themes and you can add more.
8
9
 
9
- Add this line to your application's Gemfile:
10
+ ## Installation
10
11
 
11
- ```ruby
12
- gem 'alacritty_themes'
12
+ ```bash
13
+ gem install alacritty_themes
13
14
  ```
14
15
 
15
- And then execute:
16
-
17
- $ bundle install
18
-
19
- Or install it yourself as:
20
-
21
- $ gem install alacritty_themes
22
-
23
- ## Usage
24
-
25
- TODO: Write usage instructions here
26
-
27
16
  ## Development
28
17
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
18
+ After checking out the repo, run `bin/setup` to install dependencies.
19
+ Then, run `rake spec` to run the tests.
20
+ You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
21
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
22
+ To install this gem onto your local machine, run `bundle exec rake install`.
23
+ To release a new version, update the version number in `version.rb`,
24
+ and then run `bundle exec rake release`,
25
+ which will create a git tag for the version, push git commits and tags,
26
+ and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
27
 
33
28
  ## Contributing
34
29
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/alacritty_themes. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/alacritty_themes/blob/master/CODE_OF_CONDUCT.md).
36
-
30
+ Bug reports and pull requests are welcome on GitHub at
31
+ https://github.com/juanvqz/alacritty_themes.
32
+ This project is intended to be a safe,
33
+ welcoming space for collaboration,
34
+ and contributors are expected to adhere to the
35
+ [code of conduct](https://github.com/[USERNAME]/alacritty_themes/blob/master/CODE_OF_CONDUCT.md).
37
36
 
38
37
  ## License
39
38
 
40
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
39
+ The gem is available as open source
40
+ under the terms of the [MIT License](https://opensource.org/licenses/MIT).
41
41
 
42
42
  ## Code of Conduct
43
43
 
44
- Everyone interacting in the AlacrittyThemes project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/alacritty_themes/blob/master/CODE_OF_CONDUCT.md).
44
+ Everyone interacting in the AlacrittyThemes project's codebases,
45
+ issue trackers,
46
+ chat rooms and mailing lists is expected to follow the
47
+ [code of conduct](https://github.com/[USERNAME]/alacritty_themes/blob/master/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -6,6 +6,9 @@ require "rubocop/rake_task"
6
6
 
7
7
  RSpec::Core::RakeTask.new(:spec)
8
8
 
9
- RuboCop::RakeTask.new
9
+ RuboCop::RakeTask.new do |task|
10
+ task.requires << "rubocop-rake"
11
+ task.requires << "rubocop-rspec"
12
+ end
10
13
 
11
14
  task default: %i[spec rubocop]
@@ -6,11 +6,14 @@ Gem::Specification.new do |spec|
6
6
  spec.name = "alacritty_themes"
7
7
  spec.version = AlacrittyThemes::VERSION
8
8
  spec.authors = ["Juan Vasquez"]
9
- spec.email = ["isc.juanvasquez@gmail.com"]
9
+ spec.email = ["me@juanvasquez.dev"]
10
10
 
11
11
  spec.summary = "A collection of themes for alacritty"
12
- spec.description = "A collection of themes for alacritty"
13
- spec.homepage = "https://github.com/juanvasquez/alacritty_themes"
12
+ spec.description = <<~DESC
13
+ Your favorite collection of themes for alacritty,
14
+ we initialize with a few themes and you can add more.
15
+ DESC
16
+ spec.homepage = "https://github.com/juanvqz/alacritty_themes"
14
17
  spec.license = "MIT"
15
18
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.5")
16
19
 
@@ -29,4 +32,7 @@ Gem::Specification.new do |spec|
29
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
33
  spec.require_paths = ["lib"]
31
34
  spec.metadata = { "rubygems_mfa_required" => "true" }
35
+
36
+ spec.add_development_dependency "fakefs", "~> 1.4.1"
37
+ spec.add_development_dependency "pry", "~> 0.14.1"
32
38
  end
data/exe/alacritty_themes CHANGED
@@ -2,3 +2,5 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require "alacritty_themes"
5
+
6
+ AlacrittyThemes::CLI.new.start(ARGV)
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "fileutils"
4
+
5
+ module AlacrittyThemes
6
+ module FileHelper # :nodoc:
7
+ def create_file
8
+ FileUtils.touch(file_path)
9
+ end
10
+
11
+ def create_directory_path
12
+ FileUtils.mkdir_p(directory_path)
13
+ end
14
+
15
+ def create_backup_file
16
+ FileUtils.mv(file_path, "#{file_path}.bak")
17
+ end
18
+
19
+ def does_file_exist?
20
+ File.exist?(file_path)
21
+ end
22
+
23
+ def does_path_exist?
24
+ File.directory?(directory_path)
25
+ end
26
+
27
+ def file_path
28
+ File.join(Dir.home, ".config/alacritty/alacritty.yml")
29
+ end
30
+
31
+ def directory_path
32
+ File.dirname(file_path)
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "optparse"
4
+
5
+ module AlacrittyThemes
6
+ # Arguments parser
7
+ module Parser
8
+ class << self
9
+ def from(argv)
10
+ options = {}
11
+
12
+ options[:parser] = parser
13
+ add_banner
14
+ add_create_option(options)
15
+ add_version_option(options)
16
+ add_help_option(options)
17
+ parser.parse!(argv)
18
+
19
+ options
20
+ rescue OptionParser::ParseError => e
21
+ { command: :error, message: e.message }
22
+ end
23
+
24
+ def parser
25
+ @parser ||= OptionParser.new
26
+ end
27
+
28
+ def add_create_option(options)
29
+ parser.on("-c", "--create", "Creates file") do
30
+ options[:command] = :create
31
+ options[:message] = "alacritty.yml was created"
32
+ end
33
+ end
34
+
35
+ def add_version_option(options)
36
+ parser.on("-v", "--version", "Shows version") do
37
+ options[:command] = :version
38
+ options[:message] = "Alacritty Themes v#{AlacrittyThemes::VERSION}"
39
+ end
40
+ end
41
+
42
+ def add_help_option(options)
43
+ parser.on("-h", "--help", "Shows help") do
44
+ options[:command] = :help
45
+ options[:message] = parser.help
46
+ end
47
+ end
48
+
49
+ def add_banner
50
+ parser.banner = "Usage: alacritty_themes [options]"
51
+ end
52
+ end
53
+ end
54
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AlacrittyThemes
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.4"
5
5
  end
@@ -1,8 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "alacritty_themes/version"
4
+ require_relative "alacritty_themes/parser"
5
+ require_relative "alacritty_themes/file_helper"
4
6
 
5
7
  module AlacrittyThemes
6
8
  class Error < StandardError; end
7
- # Your code goes here...
9
+
10
+ class CLI # :nodoc:
11
+ include FileHelper
12
+
13
+ def start(argv)
14
+ options = parse_options(argv)
15
+ execute_command(options)
16
+ end
17
+
18
+ private
19
+
20
+ def parse_options(argv)
21
+ Parser.from(argv)
22
+ end
23
+
24
+ def execute_command(options)
25
+ if options[:command] == :create
26
+ create_directory_path unless does_path_exist?
27
+ create_backup_file if does_file_exist?
28
+ create_file
29
+ end
30
+ puts options[:message]
31
+ end
32
+ end
8
33
  end
metadata CHANGED
@@ -1,23 +1,54 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alacritty_themes
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Vasquez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-17 00:00:00.000000000 Z
12
- dependencies: []
13
- description: A collection of themes for alacritty
11
+ date: 2022-03-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fakefs
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.4.1
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.4.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.14.1
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.14.1
41
+ description: |
42
+ Your favorite collection of themes for alacritty,
43
+ we initialize with a few themes and you can add more.
14
44
  email:
15
- - isc.juanvasquez@gmail.com
45
+ - me@juanvasquez.dev
16
46
  executables:
17
47
  - alacritty_themes
18
48
  extensions: []
19
49
  extra_rdoc_files: []
20
50
  files:
51
+ - ".github/dependabot.yml"
21
52
  - ".github/workflows/main.yml"
22
53
  - ".gitignore"
23
54
  - ".rspec"
@@ -36,8 +67,10 @@ files:
36
67
  - bin/setup
37
68
  - exe/alacritty_themes
38
69
  - lib/alacritty_themes.rb
70
+ - lib/alacritty_themes/file_helper.rb
71
+ - lib/alacritty_themes/parser.rb
39
72
  - lib/alacritty_themes/version.rb
40
- homepage: https://github.com/juanvasquez/alacritty_themes
73
+ homepage: https://github.com/juanvqz/alacritty_themes
41
74
  licenses:
42
75
  - MIT
43
76
  metadata:
@@ -57,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
57
90
  - !ruby/object:Gem::Version
58
91
  version: '0'
59
92
  requirements: []
60
- rubygems_version: 3.1.6
93
+ rubygems_version: 3.3.3
61
94
  signing_key:
62
95
  specification_version: 4
63
96
  summary: A collection of themes for alacritty