tmux-erb-parser 0.1.3 → 0.1.4

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: 5f4710a740b1fb2595955f5a74f957850146d0a85dadef0e6d5c666086c005a1
4
- data.tar.gz: 9093fc2ff95994ce9dbc596654487c94ce40f837c20a4a2464143c882819f9c7
3
+ metadata.gz: 7a819108049f7e8cd69f54afdb03151194031de2deb6ed83f255bde905dd9eaf
4
+ data.tar.gz: e46324f7957f345c9048c83aed866a42253a2ac7d7689179d2c4ea290c903469
5
5
  SHA512:
6
- metadata.gz: 06b12de75b04a6db27c357079d8ef0e7fcdd1ca5e143b6d5165aaf63c301db0c3df2f9f31a3c699b05aa9d17bbdfcadfccc494c642e5cb4b37ce6066d10ad594
7
- data.tar.gz: 4346861045e56320e10ac419c43438ddddfa8ea2b0070797faacb2042f43eaa3e1dd7eff02c35752f51de1f164843a433e43189ec8b8532ce7048eda0ebbfafd
6
+ metadata.gz: 3552a055a4300a78301d836a158049c6916980bb5892ecce3b3748a2f32aedb82833a59c557e447dfa7d628586950fcbdcd70a439771d12e8f68c46b3a47464f
7
+ data.tar.gz: e9e2bc5c4334a02a37b9bdbd8782d9dc1796446d60c6aefa114bf53fa33e358c1113ffda3d7e8b6f58feecc1eaaa3504fcee214d285f7e7f7f794876d2a08ab9
data/bin/tmux-erb-parser CHANGED
@@ -6,7 +6,7 @@ require 'tmux-erb-parser'
6
6
 
7
7
  # limit recursive execution
8
8
  command = File.basename(__FILE__)
9
- processes = `ps ax`.each_line.map { |line| line.split(' ', 5)[4] }
9
+ processes = `ps axo command`
10
10
  exit 1 if processes.grep(/\Aruby.+#{command}/).size > 5
11
11
 
12
12
  cmd = TmuxERBParser::Command.new(ARGV)
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TmuxERBParser
4
+ module Helpers
5
+ module EnvironmentHelper
6
+ def prefix_key
7
+ `tmux show-option -g prefix`.split[1]
8
+ end
9
+
10
+ def server_started?
11
+ !ENV['TMUX'].nil?
12
+ end
13
+
14
+ def tmux_version
15
+ (ENV['TMUX_VERSION'] || `tmux -V`.split[1]).to_f
16
+ end
17
+
18
+ def uname
19
+ ENV['UNAME'] || `uname`.chomp
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TmuxERBParser
4
+ module Helpers
5
+ module FormatHelper
6
+ def format_and(*args)
7
+ return args.first if args.length < 2
8
+
9
+ args.inject { |result, val| format_cond('&&', result, val) }
10
+ end
11
+
12
+ def format_or(*args)
13
+ return args.first if args.length < 2
14
+
15
+ args.inject { |result, val| format_cond('||', result, val) }
16
+ end
17
+
18
+ def format_cond(operator, arg1, arg2)
19
+ "\#{#{operator}:#{arg1},#{arg2}}"
20
+ end
21
+
22
+ def format_if(cond, true_value, false_value = nil)
23
+ "\#{?#{cond},#{true_value},#{false_value}}"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,23 +1,32 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TmuxERBParser
4
- module Helpers
5
- module_function
6
-
7
- def prefix_key
8
- `tmux show-option -g prefix`.split[1]
4
+ module Classifyable
5
+ refine String do
6
+ def classify
7
+ snake_case = File.basename(self, '.rb')
8
+ splitted = snake_case.split('_').map do |w|
9
+ w[0] = w[0].upcase
10
+ w
11
+ end
12
+ splitted.join
13
+ end
9
14
  end
15
+ end
10
16
 
11
- def server_started?
12
- !ENV['TMUX'].nil?
13
- end
17
+ module Helpers
18
+ using Classifyable
14
19
 
15
- def tmux_version
16
- (ENV['TMUX_VERSION'] || `tmux -V`.split[1]).to_f
20
+ Dir[File.expand_path('helpers/*.rb', __dir__)].each do |h|
21
+ require h
22
+ klass = const_get(h.classify)
23
+ self.class.class_eval do
24
+ prepend klass
25
+ end
17
26
  end
18
27
 
19
- def uname
20
- ENV['UNAME'] || `uname`.chomp
28
+ def self.binding
29
+ super # NOTE: Kernel.#binding is private
21
30
  end
22
31
  end
23
32
  end
@@ -3,6 +3,7 @@
3
3
  require 'erb'
4
4
  require 'json'
5
5
  require 'yaml'
6
+ require_relative 'helpers'
6
7
 
7
8
  module TmuxERBParser
8
9
  PARSER_CMD = File.expand_path('../../bin/tmux-erb-parser', __dir__)
@@ -36,7 +37,7 @@ module TmuxERBParser
36
37
  end
37
38
 
38
39
  def parse_string(input, type)
39
- erb_result = ERB.new(input).result
40
+ erb_result = ERB.new(input).result(TmuxERBParser::Helpers.binding)
40
41
 
41
42
  case type
42
43
  when :json
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TmuxERBParser
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.4'
5
5
  end
@@ -1,7 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'tmux-erb-parser/command'
4
- require_relative 'tmux-erb-parser/helpers'
5
- require_relative 'tmux-erb-parser/logger'
6
- require_relative 'tmux-erb-parser/parser'
7
- require_relative 'tmux-erb-parser/version'
3
+ Dir[File.expand_path('tmux-erb-parser/*.rb', __dir__)].each(&method(:require))
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tmux-erb-parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - epaew
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-17 00:00:00.000000000 Z
11
+ date: 2018-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -137,6 +137,8 @@ files:
137
137
  - lib/tmux-erb-parser.rb
138
138
  - lib/tmux-erb-parser/command.rb
139
139
  - lib/tmux-erb-parser/helpers.rb
140
+ - lib/tmux-erb-parser/helpers/environment_helper.rb
141
+ - lib/tmux-erb-parser/helpers/format_helper.rb
140
142
  - lib/tmux-erb-parser/logger.rb
141
143
  - lib/tmux-erb-parser/parser.rb
142
144
  - lib/tmux-erb-parser/version.rb