aka2 0.1.8 → 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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/changelog.md +5 -5
  3. data/lib/aka.rb +155 -35
  4. data/lib/aka/version.rb +1 -1
  5. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 90b9680db7800abab6aae261dba6f793f6afe742
4
- data.tar.gz: 5fb1c599c59e739026ad9a8cf03dc980988284a1
3
+ metadata.gz: 40626cc2cfc54d3962ec5658ecf5f38c4b305571
4
+ data.tar.gz: 1f50860a5d9a7083791f7b954837bfec1c091959
5
5
  SHA512:
6
- metadata.gz: 6e1c26c386de17ef6d412f84bc896076cab09da5a4c00ff5c12915ca992196baba71fdb6b7d5663c283646280663094a6a11d68ca8f93488014748fca2300aee
7
- data.tar.gz: 649c130efb72f720cca57869ef70d67bd7d1b6c240913cff74117661866bdf35745cd60acad5c67e58f90c58f55a8f15004ef343d1261c5df8a54a51c71c72cc
6
+ metadata.gz: 6aee9b32cb2e7b611e40ada21e45c9d2ba1e73f3557b46bc98888a5280478d58f077948224a81c83c91165a6e3d7f052715b0a47700c3655c351aaa18c6a0a08
7
+ data.tar.gz: e6fd42de9861d0f8b33db36a7ca8335fe32927e03444a7daea2624c1052c39bf6f515d1d943570eb1e643458bb85c976ee0cb1e1362cad162bfb2caab6fd0730
@@ -1,9 +1,9 @@
1
- ## v0.1.8
2
-
3
- * Merge from ytbryan - Edit 'Error','Exist' output
4
-
5
- ## v0.1.7
1
+ ## v0.1.9
2
+ * Added -g option to add grouping to alias
3
+ * Added -g option to find grouping based on group name
4
+ * Usual clean up
6
5
 
6
+ ## v0.1.7 + v0.1.8
7
7
  * Add numbering option for list
8
8
  * Add validation for list method
9
9
  * Beautify aka output
data/lib/aka.rb CHANGED
@@ -27,7 +27,7 @@ module Aka
27
27
  # aka where
28
28
  desc "where", "locate your dotfile"
29
29
  def where
30
- puts readYML("#{Dir.home}/.aka/.config")["dotfile"]
30
+ puts readYML("#{Dir.pwd}/.aka/.config")["dotfile"]
31
31
  end
32
32
 
33
33
  #
@@ -39,7 +39,7 @@ module Aka
39
39
  method_options :to => :string
40
40
  method_options :login => :string
41
41
  def upload
42
- if options.from and options.to and options.login
42
+ if options.from && options.to && options.login
43
43
  password = get_password()
44
44
 
45
45
  if File.exists?(options.from)
@@ -79,7 +79,7 @@ module Aka
79
79
  method_options :to => :string
80
80
  method_options :login => :string
81
81
  def upload
82
- if options.from and options.to and options.login
82
+ if options.from && options.to && options.login
83
83
  password = get_password()
84
84
 
85
85
  if File.exists?(options.from)
@@ -110,23 +110,26 @@ module Aka
110
110
  end
111
111
  end
112
112
 
113
- #
113
+ #################
114
114
  # GENERATE
115
- #
115
+ #################
116
116
  desc "generate", "generate an alias (short alias: g)"
117
- method_options :last => :boolean
117
+ method_option :last, :type => :boolean, :aliases => '-l', :desc => ''
118
+ method_option :group, :type => :string, :aliases => '-g', :desc => '', :default => 'default'
118
119
  def generate args
119
120
  result = false
120
121
  if options.last?
122
+ #we need to add group here.
121
123
  result = add(add_last_command(parseARGS(args))) if args
122
124
  else
123
- result = add(parseARGS(args)) if args
124
- if options.proj? and result == true
125
+ #we should probably phase out add()
126
+ result = add_with_group(parseARGS(args), options.group) if args
127
+ if options.proj? && result == true
125
128
  FileUtils.touch("#{Dir.pwd}/.aka")
126
129
  add_to_proj(args)
127
130
  end
128
131
  end
129
- reload_dot_file if result == true and !options.noreload
132
+ reload_dot_file if result == true && !options.noreload
130
133
  end
131
134
 
132
135
  #
@@ -137,8 +140,8 @@ module Aka
137
140
  def destroy(*args)
138
141
  args.each_with_index do |value, index|
139
142
  result = remove(value)
140
- unalias_the(value) if !options.nounalias and result == true
141
- reload_dot_file if result == true and !options.noreload
143
+ unalias_the(value) if !options.nounalias && result == true
144
+ reload_dot_file if result == true && !options.noreload
142
145
  end
143
146
  end
144
147
 
@@ -172,9 +175,14 @@ module Aka
172
175
  #
173
176
  desc "find", "find an alias (short alias: f)"
174
177
  method_options :force => :boolean
178
+ method_option :group, :type => :string, :aliases => '-g', :desc => ''
175
179
  def find *args
176
- args.each_with_index do |value, index|
177
- search_alias_return_alias_tokens(value)
180
+ if options.group
181
+ search_alias_with_group_name(options.group)
182
+ else
183
+ args.each_with_index do |value, index|
184
+ search_alias_return_alias_tokens(value)
185
+ end
178
186
  end
179
187
  end
180
188
 
@@ -444,9 +452,28 @@ module Aka
444
452
  return [username, domain, port]
445
453
  end
446
454
 
455
+ def add_with_group input, name_of_group
456
+ if input && search_alias_return_alias_tokens(input).first == false && not_empty_alias(input) == false
457
+ array = input.split("=")
458
+ group_name = "# => #{name_of_group}"
459
+ full_command = "alias #{array.first}='#{array[1]}' #{group_name}".gsub("\n","") #remove new line in command
460
+ print_out_command = "aka g #{array.first}='#{array[1]}'"
461
+ str = checkConfigFile(readYML("#{Dir.home}/.aka/.config")["dotfile"])
462
+
463
+ File.open(str, 'a') { |file| file.write("\n" +full_command) }
464
+ # puts "#{print_out_command} is added to #{readYML("#{Dir.home}/.aka/.config")["dotfile"]}"
465
+ puts "Created: ".green + "#{print_out_command} " + "in #{name_of_group} group."
466
+
467
+ return true
468
+ else
469
+ puts "The alias is already present. Use 'aka -h' to see all the useful commands."
470
+ return false
471
+ end
472
+ end
473
+
447
474
  # add
448
475
  def add input
449
- if input and search_alias_return_alias_tokens(input).first == false and not_empty_alias(input) == false
476
+ if input && search_alias_return_alias_tokens(input).first == false && not_empty_alias(input) == false
450
477
  array = input.split("=")
451
478
  full_command = "alias #{array.first}='#{array[1]}'".gsub("\n","") #remove new line in command
452
479
  print_out_command = "aka g #{array.first}='#{array[1]}'"
@@ -471,6 +498,50 @@ module Aka
471
498
  return array[1].strip == ""
472
499
  end
473
500
 
501
+ #list
502
+ def search_alias_with_group_name name
503
+ if name == "group"
504
+ name = "default"
505
+ str = checkConfigFile(readYML("#{Dir.home}/.aka/.config")["dotfile"])
506
+
507
+ if content = File.open(str).read
508
+ content.gsub!(/\r\n?/, "\n")
509
+ content_array = content.split("\n")
510
+ content_array.each_with_index { |line, index|
511
+ value = line.split(" ")
512
+ containsCommand = line.split('=') #containsCommand[1]
513
+ if value.length > 1 && value.first == "alias"
514
+ answer = value[1].split("=") #contains the alias
515
+ group_name = line.scan(/# => ([a-zA-z]*)/).first if line.scan(/# => ([a-zA-z]*)/)
516
+ if group_name != nil && group_name.first == name
517
+ containsCommand[1].slice!(0) && containsCommand[1].slice!(containsCommand[1].length-1) if containsCommand[1] != nil && containsCommand[1][0] == "'" && containsCommand[1][containsCommand[1].length-1] == "'"
518
+ puts "aka g " + "#{answer.first}".red + "=#{containsCommand[1]}"
519
+ end
520
+ end
521
+ }
522
+ end
523
+ else
524
+
525
+ str = checkConfigFile(readYML("#{Dir.home}/.aka/.config")["dotfile"])
526
+ if content = File.open(str).read
527
+ content.gsub!(/\r\n?/, "\n")
528
+ content_array = content.split("\n")
529
+ content_array.each_with_index { |line, index|
530
+ value = line.split(" ")
531
+ containsCommand = line.split('=') #containsCommand[1]
532
+ if value.length > 1 && value.first == "alias"
533
+ answer = value[1].split("=") #contains the alias
534
+ group_name = line.scan(/# => ([a-zA-z]*)/).first if line.scan(/# => ([a-zA-z]*)/)
535
+ if group_name != nil && group_name.first == name
536
+ containsCommand[1].slice!(0) && containsCommand[1].slice!(containsCommand[1].length-1) if containsCommand[1] != nil && containsCommand[1][0] == "'" && containsCommand[1][containsCommand[1].length-1] == "'"
537
+ puts "aka g " + "#{answer.first}".red + "=#{containsCommand[1]}"
538
+ end
539
+ end
540
+ }
541
+ end
542
+ end
543
+ end
544
+
474
545
  # show alias
475
546
  def search_alias_return_alias_tokens argument
476
547
  str = checkConfigFile(readYML("#{Dir.home}/.aka/.config")["dotfile"])
@@ -482,7 +553,7 @@ module Aka
482
553
  value = line.split(" ")
483
554
  # puts "value -> #{value}"
484
555
  containsCommand = line.split('=') #containsCommand[1]
485
- if value.length > 1 and value.first == "alias"
556
+ if value.length > 1 && value.first == "alias"
486
557
  # answer = value[1].split("=")
487
558
  answer = value[1].split("=") #contains the alias
488
559
 
@@ -491,7 +562,7 @@ module Aka
491
562
  this_alias = answer.first
492
563
  answer.slice!(0) #rmove the first
493
564
  # puts "before ->#{containsCommand[1]}"
494
- containsCommand[1].slice!(0) and containsCommand[1].slice!(containsCommand[1].length-1) if containsCommand[1] != nil and containsCommand[1][0] == "'" and containsCommand[1][containsCommand[1].length-1] == "'"
565
+ containsCommand[1].slice!(0) && containsCommand[1].slice!(containsCommand[1].length-1) if containsCommand[1] != nil && containsCommand[1][0] == "'" && containsCommand[1][containsCommand[1].length-1] == "'"
495
566
  # puts "before 2 ->#{containsCommand[1]}"
496
567
 
497
568
  # puts "join ->#{containsCommand[1]}"
@@ -517,10 +588,10 @@ module Aka
517
588
  content_array= content.split("\n")
518
589
  content_array.each_with_index { |line, index|
519
590
  value = line.split(" ")
520
- if value.length > 1 and value.first == "alias"
591
+ if value.length > 1 && value.first == "alias"
521
592
  answer = value[1].split("=")
522
593
  if answer.first == input
523
- content_array.delete_at(index) and write_with_newline(content_array)
594
+ content_array.delete_at(index) && write_with_newline(content_array)
524
595
  print_out_command = "aka g #{input}=#{line.split("=")[1]}"
525
596
  # puts "removed: #{print_out_command} is removed from #{str}".red
526
597
 
@@ -548,7 +619,7 @@ module Aka
548
619
  content_array= content.split("\n")
549
620
  content_array.each_with_index { |line, index|
550
621
  if line == "source \"/home/ryan/.aka/autosource\""
551
- content_array.delete_at(index) and write_with_newline(content_array)
622
+ content_array.delete_at(index) && write_with_newline(content_array)
552
623
  # puts "---> removed: source \"/home/ryan/.aka/autosource\""
553
624
  puts "Removed: ".red + "source \"/home/ryan/.aka/autosource\""
554
625
 
@@ -625,7 +696,7 @@ module Aka
625
696
  content_array= content.split("\n")
626
697
  content_array.each_with_index { |line, index|
627
698
  value = line.split(" ")
628
- if value.length > 1 and value.first == "function"
699
+ if value.length > 1 && value.first == "function"
629
700
  answer = value[1].split("=")
630
701
  function_count += 1
631
702
  end
@@ -643,7 +714,7 @@ module Aka
643
714
  content_array= content.split("\n")
644
715
  content_array.each_with_index { |line, index|
645
716
  value = line.split(" ")
646
- if value.length > 1 and value.first == "export"
717
+ if value.length > 1 && value.first == "export"
647
718
  answer = value[1].split("=")
648
719
  export_count += 1
649
720
  end
@@ -664,7 +735,7 @@ module Aka
664
735
  content_array= content.split("\n")
665
736
  content_array.each_with_index { |line, index|
666
737
  value = line.split(" ")
667
- if value.length > 1 and value.first == "alias"
738
+ if value.length > 1 && value.first == "alias"
668
739
  answer = value[1].split("=")
669
740
  alias_count += 1
670
741
  end
@@ -793,7 +864,7 @@ module Aka
793
864
  # read location
794
865
  def read location
795
866
  answer = dot_location_exists?(location)
796
- if answer == true and content = File.open(location).read
867
+ if answer == true && content = File.open(location).read
797
868
  return content
798
869
  end
799
870
  return ""
@@ -836,7 +907,41 @@ module Aka
836
907
  total_aliases = []
837
908
  content_array.each_with_index { |line, index|
838
909
  value = line.split(" ")
839
- if value.length > 1 and value.first == "alias"
910
+ if value.length > 1 && value.first == "alias"
911
+ total_aliases.push(line)
912
+ end
913
+ }
914
+ puts ""
915
+ if total_aliases.count > howmany
916
+ total_aliases.last(howmany).each_with_index do |line, index|
917
+ splitted= line.split('=')
918
+ puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
919
+ # puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
920
+ # puts "#{total_aliases.count - howmany + index+1}. " + splitted[0] + "=" + splitted[1].red
921
+ end
922
+ else
923
+ total_aliases.last(howmany).each_with_index do |line, index|
924
+ splitted= line.split('=')
925
+ # puts "#{index+1}. " + splitted[0] + "=" + splitted[1].red
926
+ puts "#{index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
927
+ # puts "#{index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
928
+ end
929
+ end
930
+ puts ""
931
+ end
932
+ end
933
+
934
+ def show_last_with_group(list_number=false, howmany=10, group)
935
+ str = checkConfigFile(readYML("#{Dir.home}/.aka/.config")["dotfile"])
936
+
937
+ if content = File.open(str).read
938
+ content.gsub!(/\r\n?/, "\n")
939
+ content_array = content.split("\n")
940
+
941
+ total_aliases = []
942
+ content_array.each_with_index { |line, index|
943
+ value = line.split(" ")
944
+ if value.length > 1 && value.first == "alias"
840
945
  total_aliases.push(line)
841
946
  end
842
947
  }
@@ -844,14 +949,26 @@ module Aka
844
949
  if total_aliases.count > howmany
845
950
  total_aliases.last(howmany).each_with_index do |line, index|
846
951
  splitted= line.split('=')
847
- puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
952
+ if list_number
953
+ puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
954
+ # puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
955
+ else
956
+ puts "aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
957
+ # puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
958
+ end
848
959
  # puts "#{total_aliases.count - howmany + index+1}. " + splitted[0] + "=" + splitted[1].red
849
960
  end
850
961
  else
851
962
  total_aliases.last(howmany).each_with_index do |line, index|
852
963
  splitted= line.split('=')
853
964
  # puts "#{index+1}. " + splitted[0] + "=" + splitted[1].red
854
- puts "#{index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
965
+ if list_number
966
+ puts "#{index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
967
+ # puts "#{index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
968
+ else
969
+ puts "aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
970
+ # puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
971
+ end
855
972
  end
856
973
  end
857
974
  puts ""
@@ -869,7 +986,7 @@ module Aka
869
986
  total_aliases = []
870
987
  content_array.each_with_index { |line, index|
871
988
  value = line.split(" ")
872
- if value.length > 1 and value.first == "alias"
989
+ if value.length > 1 && value.first == "alias"
873
990
  total_aliases.push(line)
874
991
  end
875
992
  }
@@ -878,9 +995,11 @@ module Aka
878
995
  total_aliases.last(howmany).each_with_index do |line, index|
879
996
  splitted= line.split('=')
880
997
  if list_number
881
- puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
998
+ puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
999
+ # puts "#{total_aliases.count - howmany + index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
882
1000
  else
883
- puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
1001
+ puts "aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
1002
+ # puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
884
1003
  end
885
1004
  # puts "#{total_aliases.count - howmany + index+1}. " + splitted[0] + "=" + splitted[1].red
886
1005
  end
@@ -889,9 +1008,11 @@ module Aka
889
1008
  splitted= line.split('=')
890
1009
  # puts "#{index+1}. " + splitted[0] + "=" + splitted[1].red
891
1010
  if list_number
892
- puts "#{index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
1011
+ puts "#{index+1}. aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
1012
+ # puts "#{index+1}. aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
893
1013
  else
894
- puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
1014
+ puts "aka g " + splitted[0].split(" ")[1].red + "=" + splitted[1]
1015
+ # puts "aka g " + splitted[0].split(" ")[1] + "=" + splitted[1].red
895
1016
  end
896
1017
  end
897
1018
  end
@@ -978,7 +1099,7 @@ module Aka
978
1099
  countarray.each_with_index { |count, index|
979
1100
  countarray[0..countarray.size-index].each_with_index { |x, thisindex| #always one less than total
980
1101
 
981
- if index < countarray.size-1 and thisindex < countarray.size-1
1102
+ if index < countarray.size-1 && thisindex < countarray.size-1
982
1103
  if countarray[thisindex] < countarray[thisindex+1] #if this count is less than next count
983
1104
  temp = countarray[thisindex]
984
1105
  countarray[thisindex] = countarray[thisindex+1]
@@ -1012,7 +1133,7 @@ module Aka
1012
1133
  while check == false
1013
1134
  check = true
1014
1135
  content_array.each_with_index { |line, index|
1015
- if line == "" or line == "\n"
1136
+ if line == "" || line == "\n"
1016
1137
  content_array.delete_at(index)
1017
1138
  check = false
1018
1139
  end
@@ -1039,7 +1160,7 @@ module Aka
1039
1160
  def showBar percent
1040
1161
  result = ""
1041
1162
  val = percent/100 * 50
1042
- val = 2 if val > 1 and val < 2
1163
+ val = 2 if val > 1 && val < 2
1043
1164
  val = 1 if val.round <= 1 #for visibiity, show two bars if it's just one
1044
1165
  val.round.times do
1045
1166
  result += "+"
@@ -1178,7 +1299,6 @@ module Aka
1178
1299
  end
1179
1300
  end
1180
1301
 
1181
-
1182
1302
  end
1183
1303
 
1184
1304
 
@@ -1,3 +1,3 @@
1
1
  module Aka
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aka2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Lim
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-17 00:00:00.000000000 Z
12
+ date: 2015-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: net-scp
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  version: '0'
165
165
  requirements: []
166
166
  rubyforge_project:
167
- rubygems_version: 2.4.5
167
+ rubygems_version: 2.4.8
168
168
  signing_key:
169
169
  specification_version: 4
170
170
  summary: The Missing Alias Manager