mj 0.5.0 → 0.5.1

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: a69d697244fdee8394820682a99fdc199ec5b1b912c2d573f4b181c541100dc3
4
- data.tar.gz: 7ac9b8f07c95ce5af439ddbfb18cb8d0385a1e1a3815188a5016757cfac978d6
3
+ metadata.gz: 040511b6ef46ad0760a5958920e53ec8d00fa3f0697c9098004e649808c41f73
4
+ data.tar.gz: b9eaa497531aa4856674cf0f5d80825769e0b431ee8c304cf052680f8d22ee2c
5
5
  SHA512:
6
- metadata.gz: 19af4785f9f6441ca64ac8b721ef45db5e4b4ddff476f077b1f8430711ecad83070e643a102dd867e0d66bd7c6b9d1eb6510d37f5b58e1dbb92531b33e4025f8
7
- data.tar.gz: fade8044f50496e2e2cf1a6d804e39fe69ae94b518faf733d489a3e17e2a48ba4af99dba3011ec647d0c3ea4d86498810f787d9d07ab5d47082636ab9c858d56
6
+ metadata.gz: 1e0c951f24b70e6d25746e51f3cf0a37c9fd781818763e26115f6199a157da4cc3f6590cba8819f56d5ecbdb7de8523e509b3f29dd5362340cebc7d1646c3028
7
+ data.tar.gz: 112bc4d98c34cd67f5ef1cae09646e06a920ab2b5ed27010130bbd926dc23d033bdf1a329d9fd0d4e56466dfb086747a40a3414200a5a441839f1a397dd90fdd
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mj (0.5.0)
4
+ mj (0.5.1)
5
5
  thor (~> 1.2.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -25,9 +25,76 @@ Or install it yourself as:
25
25
  ## Usage
26
26
 
27
27
  ```bash
28
- mj --help
28
+ mj help
29
29
  ```
30
30
 
31
+ ### Alternative file
32
+
33
+ Examples:
34
+
35
+ ```
36
+ $ mj alternative_file list app/components/attribute_component.rb
37
+ app/components/attribute_component.html.erb
38
+ app/components/attribute_component.rb
39
+ lib/components/attribute_component.rb
40
+ spec/components/attribute_component_spec.rb
41
+ test/components/attribute_component_test.rb
42
+
43
+ $ mj alternative_file list app/components/attribute_component.rb --exists
44
+ app/components/attribute_component.html.erb
45
+ app/components/attribute_component.rb
46
+ spec/components/attribute_component_spec.rb
47
+
48
+ $ mj alternative_file list app/components/attribute_component.rb --types=spec
49
+ spec/components/attribute_component_spec.rb
50
+
51
+ $ mj alternative_file next app/components/attribute_component.rb
52
+ lib/components/attribute_component.rb
53
+
54
+ $ mj alternative_file prev app/components/attribute_component.rb
55
+ app/components/attribute_component.html.erb
56
+ ```
57
+
58
+ Why? Because you can integrate that command with your IDE/Text Editor. For instance, here's my [neovim integration](https://github.com/mjacobus/dotfiles/blob/d8ceda659dc9b587ab22b05fc15eac2fa5b477d7/neovim/.config/nvim/init.lua#L31-L63):
59
+
60
+ ```lua
61
+ vimp.nnoremap('<leader>ak', function()
62
+ open_mj_alternative_file('next', '--exists')
63
+ end)
64
+
65
+ vimp.nnoremap('<leader>aj', function()
66
+ open_mj_alternative_file('prev', '--exists')
67
+ end)
68
+
69
+ function open_mj_alternative_file(subcommand, options)
70
+ file_path = vim.fn.expand('%')
71
+ files = mj_alternative_file(file_path, subcommand, options)
72
+ files = vim.split(files, ' ')
73
+ file = files[1]
74
+
75
+
76
+ if file ~= '' then
77
+ vim.api.nvim_command('e ' .. file)
78
+ end
79
+ end
80
+
81
+ function mj_alternative_file(file, subcommand, options)
82
+ local cmd = 'mj alternative_file ' .. subcommand .. ' ' .. file .. ' ' .. options
83
+ return execute_command(cmd)
84
+ end
85
+
86
+ function execute_command(cmd)
87
+ print("cmd: " .. cmd)
88
+ local f = io.popen(cmd)
89
+ local s = f:read('*a')
90
+ f:close()
91
+ return s
92
+ end
93
+ ```
94
+
95
+ This way I can use `<leader>a{direction}`, where `k` is `next`, and `j` is `previous` alternative file.
96
+
97
+
31
98
  ## Development
32
99
 
33
100
  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.
@@ -19,6 +19,8 @@ module Mj
19
19
 
20
20
  # lib files
21
21
  add_candidate("lib/#{ruby_file.class_path}.rb", "lib", to: candidates)
22
+ add_candidate("spec/lib/#{ruby_file.class_path}_spec.rb", :spec, to: candidates)
23
+ add_candidate("test/lib/#{ruby_file.class_path}_test.rb", :minitest, to: candidates)
22
24
  end
23
25
  end
24
26
  end
data/lib/mj/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mj
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mj
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcelo Jacobus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-14 00:00:00.000000000 Z
11
+ date: 2022-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor