tmux-erb-parser 0.1.3 → 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: 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