muxify 0.1.4 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a6e6f97b36dc14f43538a9f0dccf799fa491bd2bcd93a02f7b91dae66f8658e
4
- data.tar.gz: 1d5c6318d531b81298e1b614afe4bac91e8934f08561cbc7d07f9bc2c342cbc4
3
+ metadata.gz: 364357540e766dbc1377febee98052f4c0cfebce953bbb388d68c3e6fbac79b7
4
+ data.tar.gz: be79765ed65d4f32db46eb83ef68c2e491fb63f07a7d15c78de662119e56fe97
5
5
  SHA512:
6
- metadata.gz: 4391690e58c6dbcb96e0609a28424e091d4567842f4911115a8ca5b6b7026debe0cff2782a08ddc3cd24aaaea444b745c6d81838ebb5a55264d198761510e721
7
- data.tar.gz: ea8fabcfa1c5b8e84c84945e1041fa8ebd5ccb761acbc01884512d1021bf8d2d699fb31109dfb18c66c8664a027ac49e48e3fd490b40b1caf19a3142efbfa27e
6
+ metadata.gz: eb77c3e0ad0d372471cd3291a99079497e2da1c6b35cc52f80e62b00fedac77ada2d7db2cf1ac685752111d6f926dd13f3d1356216874de4c5ccc4097cb3855c
7
+ data.tar.gz: 101b579693df736e9a2f34a121321092f95eb1f5a5ab4b5853ebac6c350bf2fbfa24358ad1776202262bbeb11a9188b073d71c8b97f151a0af2ff1c96aff6f16
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
- --format documentation
2
1
  --color
2
+ --format documentation
3
+ --require spec_helper
data/.rubocop.yml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ Layout/SpaceInsideArrayLiteralBrackets:
3
+ EnforcedStyle: no_space
4
+ Layout/SpaceInsideHashLiteralBraces:
5
+ EnforcedStyle: no_space
6
+ Style/Documentation:
7
+ Enabled: false
8
+ Style/StringLiterals:
9
+ Enabled: false
10
+ Style/TrailingCommaInArguments:
11
+ EnforcedStyleForMultiline: comma
12
+ Style/TrailingCommaInArrayLiteral:
13
+ EnforcedStyleForMultiline: comma
14
+ Style/TrailingCommaInHashLiteral:
15
+ EnforcedStyleForMultiline: comma
data/.travis.yml CHANGED
@@ -1,5 +1,10 @@
1
- sudo: false
1
+ ---
2
2
  language: ruby
3
3
  rvm:
4
- - 2.4.1
5
- before_install: gem install bundler -v 1.15.1
4
+ - 2.7
5
+ - 3.0
6
+ deploy:
7
+ provider: rubygems
8
+ on:
9
+ branch: main
10
+ edge: true # opt in to dpl v2
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source "https://rubygems.org"
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in muxify.gemspec
4
6
  gemspec
data/README.md CHANGED
@@ -1,24 +1,83 @@
1
1
  # Muxify
2
2
 
3
- Simple tmux project config.
3
+ Sets up consistent tmux development environment for projects.
4
+
5
+ Why?
6
+
7
+ - Saves time and effort switching projects.
8
+ - Ensures consistent layout which is faster to navigate via muscle memory.
9
+ - Avoids visual and mental overhead of maintaining numerous tabs.
10
+
11
+ ## Dependencies
12
+
13
+ - MacOS (may work on Linux)
14
+ - Ruby
15
+ - Tmux (`which tmux || brew install tmux`)
4
16
 
5
17
  ## Installation
6
18
 
7
19
  ```sh
8
- which tmux || brew install tmux
9
- sudo gem install muxify
20
+ $ gem install muxify
10
21
  ```
11
22
 
12
23
  ## Usage
13
24
 
14
25
  ```sh
15
- muxify add /path/to/my_app
16
- mux my_app
26
+ $ muxify -h
27
+
28
+ Commands:
29
+ muxify add # Adds tmuxinator config for current (or supplied) path
30
+ muxify debug # Prints tmuxinator config of current (or supplied) path to stdout
31
+ muxify help [COMMAND] # Describe available commands or one specific command
32
+ muxify stop # Kills tmux session
33
+ ```
34
+
35
+ For example, add a project like so:
36
+
37
+ ```sh
38
+ $ muxify add /path/to/my_app
39
+ $ mux my_app
40
+ ```
41
+
42
+ Depending on its type, this will create the following tmux windows for a project:
43
+
44
+ - Standard (applies to all projects)
45
+ - shell (performs `git fetch` when `.git` is present)
46
+ - editor (invokes terminal editor, defaulting to `vim` when `$EDITOR` is unset)
47
+ - logs (when present, truncates then tails `log/*.log`)
48
+ - Rails (identified by presence of `bin/rails`)
49
+ - db (`rails db`)
50
+ - console (`rails console`)
51
+ - server (configures puma-dev then `rails server`; see [code](./bin/rails_server_with_puma_dev))
52
+ - NodeJS (identified by presence of `package.json` when non-Rails)
53
+ - console (`node`)
54
+ - Elixir (identified by presence of `mix.exs` when non-Phoenix)
55
+ - console (`iex -S mix`)
56
+ - server (`mix`)
57
+ - Elixir/Phoenix (identified by presence of `deps/phoenix`)
58
+ - console (`iex -S mix phoenix.server`)
59
+ - server (`mix phoenix.server`)
60
+ - Django (identified by `requirements.txt` containing `django`)
61
+ - db (`python manage.py dbshell`)
62
+ - console (`python manage.py shell`)
63
+ - server (`python manage.py runserver`)
64
+
65
+ ## Customising projects
66
+
67
+ To add a custom tmux window for a project:
68
+
69
+ 1. Create a file called `~/.muxifyrc`.
70
+ 1. Edit it in YAML format; eg to add a tmux window to `my_app` project which is named `server` and invokes `yarn dev`:
71
+
72
+ ```yaml
73
+ my_app:
74
+ windows:
75
+ server: yarn dev
17
76
  ```
18
77
 
19
78
  ## Thanks
20
79
 
21
- * https://github.com/tmuxinator/tmuxinator
80
+ - https://github.com/tmuxinator/tmuxinator
22
81
 
23
82
  ## Contributing
24
83
 
data/Rakefile CHANGED
@@ -1,6 +1,10 @@
1
- require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
1
+ # frozen_string_literal: true
3
2
 
3
+ require 'bundler/gem_tasks'
4
+ require 'rubocop/rake_task'
5
+ require 'rspec/core/rake_task'
6
+
7
+ RuboCop::RakeTask.new
4
8
  RSpec::Core::RakeTask.new(:spec)
5
9
 
6
- task :default => :spec
10
+ task default: %i[rubocop spec]
data/bin/console CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "muxify"
4
+ require 'bundler/setup'
5
+ require 'muxify'
5
6
 
6
7
  # You can add fixtures and/or initialization code here to make experimenting
7
8
  # with your gem easier. You can also use a different console, if you like.
@@ -10,5 +11,5 @@ require "muxify"
10
11
  # require "pry"
11
12
  # Pry.start
12
13
 
13
- require "irb"
14
+ require 'irb'
14
15
  IRB.start(__FILE__)
data/bin/muxify CHANGED
@@ -1,8 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- if File.directory? File.expand_path('../../.git', __FILE__)
4
- $:.unshift File.expand_path('../../lib', __FILE__)
5
- end
4
+ $LOAD_PATH.unshift File.expand_path('../lib', __dir__) if File.directory? File.expand_path('../.git', __dir__)
6
5
 
7
6
  require 'bundler/setup'
8
7
  require 'muxify'
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env bash
2
+
3
+ # Starts rails server with a random port and configures puma-dev
4
+ # Usage:
5
+ # rails_server_with_puma_dev [HOSTNAME]
6
+ # HOSTNAME should not include the `.test` extension.
7
+ # If HOSTNAME isn't supplied, it defaults to current directory name
8
+ # (underscores are converted to dashes).
9
+
10
+ set -euo pipefail
11
+
12
+ min_port=3000
13
+ max_port=4000
14
+ puma_dev_config_path="$HOME/.puma-dev"
15
+
16
+ find_available_port() {
17
+ netstat -aln | awk -v min_port="$min_port" -v max_port="$max_port" '
18
+ $6 == "LISTEN" {
19
+ if ($4 ~ "[.:][0-9]+$") {
20
+ split($4, a, /[:.]/);
21
+ port = a[length(a)];
22
+ p[port] = 1
23
+ }
24
+ }
25
+ END {
26
+ for (i = min_port; i < max_port && p[i]; i++) {};
27
+ if (i == max_port) { exit 1 };
28
+ print i
29
+ }
30
+ '
31
+ }
32
+
33
+ get_target_hostname() {
34
+ if (( $# == 0 )); then
35
+ echo "$(basename "$(pwd)" | tr '_' '-')"
36
+ else
37
+ echo $1
38
+ fi
39
+ }
40
+
41
+ configure_puma_dev() {
42
+ target_config_path="$puma_dev_config_path/$host"
43
+ echo "Configuring puma-dev: $host.test:$port ($target_config_path)"
44
+ echo "$port" > "$target_config_path"
45
+ puma-dev -stop
46
+ pkill -USR1 puma-dev
47
+ }
48
+
49
+ target_port="$(find_available_port)"
50
+ target_host="$(get_target_hostname "$@")"
51
+
52
+ host="$target_host" port="$target_port" configure_puma_dev
53
+ bundle exec rails server -p "$target_port"
data/bin/rake ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rake' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require 'pathname'
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path('bundle', __dir__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require 'rubygems'
27
+ require 'bundler/setup'
28
+
29
+ load Gem.bin_path('rake', 'rake')
data/bin/rspec ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rspec' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require 'pathname'
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path('bundle', __dir__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require 'rubygems'
27
+ require 'bundler/setup'
28
+
29
+ load Gem.bin_path('rspec-core', 'rspec')
data/bin/rubocop ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'rubocop' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require 'pathname'
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path('bundle', __dir__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require 'rubygems'
27
+ require 'bundler/setup'
28
+
29
+ load Gem.bin_path('rubocop', 'rubocop')
data/lib/muxify.rb CHANGED
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'muxify/cli'
2
4
  require 'muxify/version'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'yaml'
2
4
 
3
5
  module Muxify
@@ -9,9 +11,10 @@ module Muxify
9
11
  new(*args).to_yaml
10
12
  end
11
13
 
12
- def initialize(root, name: nil)
14
+ def initialize(root, name: nil, custom_config_path: CUSTOM_CONFIG_PATH)
13
15
  @root = File.expand_path(root)
14
16
  @name = name || File.basename(@root)
17
+ @custom_config_path = custom_config_path
15
18
  end
16
19
 
17
20
  def to_yaml
@@ -20,7 +23,7 @@ module Muxify
20
23
 
21
24
  private
22
25
 
23
- attr_reader :root, :name
26
+ attr_reader :root, :name, :custom_config_path
24
27
 
25
28
  def config
26
29
  {
@@ -39,7 +42,18 @@ module Muxify
39
42
  end
40
43
 
41
44
  def custom_windows
42
- YAML.load_file(CUSTOM_CONFIG_PATH).dig(name, 'windows') || {}
45
+ return {} unless custom_config.key?('windows')
46
+
47
+ YAML.load_file(custom_config_path).dig(name, 'windows') || {}
48
+ end
49
+
50
+ def custom_config
51
+ return {} unless File.exist?(custom_config_path)
52
+
53
+ yaml = YAML.load_file(custom_config_path)
54
+ return {} unless yaml
55
+
56
+ yaml.fetch(name, {})
43
57
  end
44
58
 
45
59
  class Windows
@@ -52,7 +66,6 @@ module Muxify
52
66
  *shell,
53
67
  *editor,
54
68
  *logs,
55
- *foreman,
56
69
  *rails,
57
70
  *elixir_non_phoenix,
58
71
  *phoenix,
@@ -70,11 +83,9 @@ module Muxify
70
83
  end
71
84
 
72
85
  def init_shell
73
- if git?
74
- 'git fetch; git status'
75
- else
76
- 'echo "Not a git repository."'
77
- end
86
+ return 'echo "Not a git repository."' unless git?
87
+
88
+ 'git fetch; git status'
78
89
  end
79
90
 
80
91
  def git?
@@ -86,26 +97,27 @@ module Muxify
86
97
  end
87
98
 
88
99
  def logs
89
- return [] if Dir["#{root}/log/*.log"].empty?
100
+ return [] if logfiles.empty?
101
+
102
+ logfiles.each(&method(:truncate_file))
90
103
  [{'logs' => 'tail -f log/*.log'}]
91
104
  end
92
105
 
93
- def foreman
94
- return [] unless foreman?
95
- [{'foreman' => <<-SH.strip}]
96
- ps aux | grep 'unicorn_rails master' | awk '{print $2}' | xargs kill; foreman start
97
- SH
106
+ def logfiles
107
+ @logfiles ||= Dir["#{root}/log/*.log"]
98
108
  end
99
109
 
100
- def foreman?
101
- # TODO?
110
+ def truncate_file(path)
111
+ File.truncate(path, 0)
102
112
  end
103
113
 
104
114
  def rails
105
115
  return [] unless rails?
116
+
106
117
  [
107
118
  {'db' => 'rails db'},
108
119
  {'console' => 'rails console'},
120
+ {'server' => File.expand_path('../../bin/rails_server_with_puma_dev', __dir__)},
109
121
  ]
110
122
  end
111
123
 
@@ -115,6 +127,7 @@ module Muxify
115
127
 
116
128
  def elixir_non_phoenix
117
129
  return [] unless elixir_non_phoenix?
130
+
118
131
  [
119
132
  {'console' => 'iex -S mix'},
120
133
  {'server' => 'mix'},
@@ -127,6 +140,7 @@ module Muxify
127
140
 
128
141
  def phoenix
129
142
  return [] unless phoenix?
143
+
130
144
  [
131
145
  {'console' => 'iex -S mix phoenix.server'},
132
146
  {'server' => 'mix phoenix.server'},
@@ -139,6 +153,7 @@ module Muxify
139
153
 
140
154
  def nodejs
141
155
  return [] unless nodejs?
156
+
142
157
  [
143
158
  {'console' => 'node'},
144
159
  ]
@@ -150,6 +165,7 @@ module Muxify
150
165
 
151
166
  def django
152
167
  return [] unless django?
168
+
153
169
  [
154
170
  {'db' => 'python manage.py dbshell'},
155
171
  {'console' => 'python manage.py shell'},
@@ -159,7 +175,7 @@ module Muxify
159
175
 
160
176
  def django?
161
177
  python_requirements = File.join(root, 'requirements.txt')
162
- File.exists?(python_requirements) && File.read(python_requirements).include?('django')
178
+ File.exist?(python_requirements) && File.read(python_requirements).include?('django')
163
179
  end
164
180
 
165
181
  def directory?(relative_path)
@@ -167,7 +183,7 @@ module Muxify
167
183
  end
168
184
 
169
185
  def exists?(relative_path)
170
- File.exists?(File.join(root, relative_path))
186
+ File.exist?(File.join(root, relative_path))
171
187
  end
172
188
  end
173
189
  end
data/lib/muxify/cli.rb CHANGED
@@ -1,20 +1,22 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'thor'
2
4
  require 'muxify/builder'
3
5
  require 'muxify/linker'
4
6
 
5
7
  module Muxify
6
8
  class CLI < Thor
7
- desc "add", "Adds tmuxinator config for current (or supplied) path"
9
+ desc 'add', 'Adds tmuxinator config for current (or supplied) path'
8
10
  def add(root = Dir.pwd)
9
- Muxify::Linker.(root: root)
11
+ Muxify::Linker.call(root: root)
10
12
  end
11
13
 
12
- desc "debug", "Prints tmuxinator config of current (or supplied) path to stdout"
14
+ desc 'debug', 'Prints tmuxinator config of current (or supplied) path to stdout'
13
15
  def debug(root = Dir.pwd)
14
- puts Muxify::Builder.(root)
16
+ puts Muxify::Builder.call(root)
15
17
  end
16
18
 
17
- desc "stop", "Kills tmux session"
19
+ desc 'stop', 'Kills tmux session'
18
20
  def stop(name = File.basename(Dir.pwd))
19
21
  Kernel.system("tmux kill-session -t #{name}")
20
22
  end
data/lib/muxify/linker.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fileutils'
2
4
 
3
5
  module Muxify
@@ -5,8 +7,8 @@ module Muxify
5
7
  TMUXINATOR_CONFIG_PATH = File.expand_path(File.join(ENV.fetch('HOME'), '.tmuxinator')).freeze
6
8
  private_constant :TMUXINATOR_CONFIG_PATH
7
9
 
8
- def self.call(*args)
9
- new(*args).call
10
+ def self.call(**args)
11
+ new(**args).call
10
12
  end
11
13
 
12
14
  def initialize(root:)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Muxify
2
- VERSION = '0.1.4'
4
+ VERSION = '0.1.9'
3
5
  end
data/muxify.gemspec CHANGED
@@ -1,15 +1,16 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'muxify/version'
5
6
 
6
7
  Gem::Specification.new do |spec|
7
8
  spec.name = 'muxify'
8
9
  spec.version = Muxify::VERSION
9
- spec.authors = ["Zubin Henner"]
10
+ spec.authors = ['Zubin Henner']
10
11
  spec.email = ['zubin@users.noreply.github.com']
11
12
 
12
- spec.summary = %q{Simple tmux project config}
13
+ spec.summary = 'Simple tmux project config'
13
14
  spec.homepage = 'https://github.com/zubin/muxify'
14
15
 
15
16
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
@@ -18,11 +19,13 @@ Gem::Specification.new do |spec|
18
19
  spec.bindir = 'bin'
19
20
  spec.executables = ['muxify']
20
21
  spec.require_paths = ['lib']
22
+ spec.required_ruby_version = '>= 2.7.0'
21
23
 
22
24
  spec.add_dependency 'thor'
23
25
  spec.add_dependency 'tmuxinator'
24
26
 
25
- spec.add_development_dependency 'bundler', '~> 1.15'
26
- spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'rspec', '~> 3.0'
27
+ spec.add_development_dependency 'bundler'
28
+ spec.add_development_dependency 'rake'
29
+ spec.add_development_dependency 'rspec'
30
+ spec.add_development_dependency 'rubocop'
28
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muxify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zubin Henner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-21 00:00:00.000000000 Z
11
+ date: 2021-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -42,44 +42,58 @@ dependencies:
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.15'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '1.15'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '3.0'
89
+ version: '0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '3.0'
96
+ version: '0'
83
97
  description:
84
98
  email:
85
99
  - zubin@users.noreply.github.com
@@ -90,12 +104,17 @@ extra_rdoc_files: []
90
104
  files:
91
105
  - ".gitignore"
92
106
  - ".rspec"
107
+ - ".rubocop.yml"
93
108
  - ".travis.yml"
94
109
  - Gemfile
95
110
  - README.md
96
111
  - Rakefile
97
112
  - bin/console
98
113
  - bin/muxify
114
+ - bin/rails_server_with_puma_dev
115
+ - bin/rake
116
+ - bin/rspec
117
+ - bin/rubocop
99
118
  - bin/setup
100
119
  - lib/muxify.rb
101
120
  - lib/muxify/builder.rb
@@ -114,15 +133,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
133
  requirements:
115
134
  - - ">="
116
135
  - !ruby/object:Gem::Version
117
- version: '0'
136
+ version: 2.7.0
118
137
  required_rubygems_version: !ruby/object:Gem::Requirement
119
138
  requirements:
120
139
  - - ">="
121
140
  - !ruby/object:Gem::Version
122
141
  version: '0'
123
142
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.7.3
143
+ rubygems_version: 3.0.8
126
144
  signing_key:
127
145
  specification_version: 4
128
146
  summary: Simple tmux project config