ix-cli 0.0.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.
Files changed (274) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/VERSION +1 -0
  4. data/bin/ix +14 -0
  5. data/bin/ix-acronym +21 -0
  6. data/bin/ix-add +8 -0
  7. data/bin/ix-append +8 -0
  8. data/bin/ix-arguments +12 -0
  9. data/bin/ix-array +17 -0
  10. data/bin/ix-ascii +3 -0
  11. data/bin/ix-avg +18 -0
  12. data/bin/ix-aws-pass +17 -0
  13. data/bin/ix-banner +2 -0
  14. data/bin/ix-base +24 -0
  15. data/bin/ix-base64-to-image +6 -0
  16. data/bin/ix-basename +8 -0
  17. data/bin/ix-bash-to-md +17 -0
  18. data/bin/ix-bcat +184 -0
  19. data/bin/ix-bellgrep +17 -0
  20. data/bin/ix-bench +9 -0
  21. data/bin/ix-binary-to-text +8 -0
  22. data/bin/ix-blackbox +45 -0
  23. data/bin/ix-blackbox-html-table +86 -0
  24. data/bin/ix-blamer +23 -0
  25. data/bin/ix-box +35 -0
  26. data/bin/ix-box2 +3 -0
  27. data/bin/ix-box3 +3 -0
  28. data/bin/ix-camel +17 -0
  29. data/bin/ix-cat +7 -0
  30. data/bin/ix-catafter +18 -0
  31. data/bin/ix-catan +6 -0
  32. data/bin/ix-chain +13 -0
  33. data/bin/ix-chars +4 -0
  34. data/bin/ix-checklist +23 -0
  35. data/bin/ix-child-math +10 -0
  36. data/bin/ix-chomp +6 -0
  37. data/bin/ix-chr +6 -0
  38. data/bin/ix-class +5 -0
  39. data/bin/ix-columns +41 -0
  40. data/bin/ix-combinations +11 -0
  41. data/bin/ix-command-class +21 -0
  42. data/bin/ix-commandify +22 -0
  43. data/bin/ix-commit +9 -0
  44. data/bin/ix-confirm +47 -0
  45. data/bin/ix-constants +9 -0
  46. data/bin/ix-cp +10 -0
  47. data/bin/ix-crack +163 -0
  48. data/bin/ix-crap +26 -0
  49. data/bin/ix-crazy-case +9 -0
  50. data/bin/ix-create-cluster-nodes +15 -0
  51. data/bin/ix-csv-to-json +16 -0
  52. data/bin/ix-day +12 -0
  53. data/bin/ix-debugging +33 -0
  54. data/bin/ix-decode-base64 +8 -0
  55. data/bin/ix-dequote +3 -0
  56. data/bin/ix-df +15 -0
  57. data/bin/ix-diagram +47 -0
  58. data/bin/ix-dirname +5 -0
  59. data/bin/ix-divide +8 -0
  60. data/bin/ix-done +11 -0
  61. data/bin/ix-dot-case +15 -0
  62. data/bin/ix-downcase +5 -0
  63. data/bin/ix-dto +39 -0
  64. data/bin/ix-each +7 -0
  65. data/bin/ix-edit +21 -0
  66. data/bin/ix-emails +10 -0
  67. data/bin/ix-escape +8 -0
  68. data/bin/ix-extensions +3 -0
  69. data/bin/ix-file-exists +11 -0
  70. data/bin/ix-filename +7 -0
  71. data/bin/ix-files +9 -0
  72. data/bin/ix-first +6 -0
  73. data/bin/ix-fish-diagram +47 -0
  74. data/bin/ix-flip-flop +20 -0
  75. data/bin/ix-flow +22 -0
  76. data/bin/ix-format-ruby-hash +61 -0
  77. data/bin/ix-gauge +86 -0
  78. data/bin/ix-get-colors +520 -0
  79. data/bin/ix-gift-exchange +52 -0
  80. data/bin/ix-glitter +29 -0
  81. data/bin/ix-grep-join +4 -0
  82. data/bin/ix-group +21 -0
  83. data/bin/ix-groups +15 -0
  84. data/bin/ix-gsub +5 -0
  85. data/bin/ix-gzip-dir +33 -0
  86. data/bin/ix-hash +10 -0
  87. data/bin/ix-hashtag +12 -0
  88. data/bin/ix-hex2rgb +5 -0
  89. data/bin/ix-histogram +80 -0
  90. data/bin/ix-hls +21 -0
  91. data/bin/ix-html +3 -0
  92. data/bin/ix-human-time +3 -0
  93. data/bin/ix-hyphen +9 -0
  94. data/bin/ix-hypothesis +546 -0
  95. data/bin/ix-ids +10 -0
  96. data/bin/ix-image-generate +3 -0
  97. data/bin/ix-image-to-base64 +9 -0
  98. data/bin/ix-increments +16 -0
  99. data/bin/ix-indent +42 -0
  100. data/bin/ix-indent-to-dot +36 -0
  101. data/bin/ix-int +5 -0
  102. data/bin/ix-interpolate +5 -0
  103. data/bin/ix-ips +4 -0
  104. data/bin/ix-jd +13 -0
  105. data/bin/ix-join +15 -0
  106. data/bin/ix-js-classic-functions +9 -0
  107. data/bin/ix-json-append +17 -0
  108. data/bin/ix-json-array-to-records +10 -0
  109. data/bin/ix-json-format +31 -0
  110. data/bin/ix-json-grep +16 -0
  111. data/bin/ix-json-interpolate +17 -0
  112. data/bin/ix-json-key +40 -0
  113. data/bin/ix-json-key-value +14 -0
  114. data/bin/ix-json-keys +12 -0
  115. data/bin/ix-json-merge +11 -0
  116. data/bin/ix-json-paths +61 -0
  117. data/bin/ix-json-paths-pretty +2 -0
  118. data/bin/ix-json-pp +11 -0
  119. data/bin/ix-json-query +14 -0
  120. data/bin/ix-json-records-to-array +13 -0
  121. data/bin/ix-json-remove-key +15 -0
  122. data/bin/ix-json-replace-values +35 -0
  123. data/bin/ix-json-template +267 -0
  124. data/bin/ix-json-to-csv +19 -0
  125. data/bin/ix-json-to-dot +5 -0
  126. data/bin/ix-json-to-html-table +84 -0
  127. data/bin/ix-json-to-ruby-hash +13 -0
  128. data/bin/ix-json-to-table +21 -0
  129. data/bin/ix-json-to-table-2 +22 -0
  130. data/bin/ix-json-to-xml +1 -0
  131. data/bin/ix-json-values +13 -0
  132. data/bin/ix-jsonpp +14 -0
  133. data/bin/ix-lake +6 -0
  134. data/bin/ix-lemmatize +17 -0
  135. data/bin/ix-length +6 -0
  136. data/bin/ix-linkify +35 -0
  137. data/bin/ix-linkify-html +70 -0
  138. data/bin/ix-links +3 -0
  139. data/bin/ix-llp +247 -0
  140. data/bin/ix-llp-indent +20 -0
  141. data/bin/ix-llp2 +224 -0
  142. data/bin/ix-log +44 -0
  143. data/bin/ix-make-readable +13 -0
  144. data/bin/ix-man +14 -0
  145. data/bin/ix-math +6 -0
  146. data/bin/ix-maze +3 -0
  147. data/bin/ix-md5 +7 -0
  148. data/bin/ix-md5s +3 -0
  149. data/bin/ix-military +39 -0
  150. data/bin/ix-morse-to-text +76 -0
  151. data/bin/ix-mr-robot +13 -0
  152. data/bin/ix-multiply +8 -0
  153. data/bin/ix-mv +10 -0
  154. data/bin/ix-ncsa-date-to-timestamp +27 -0
  155. data/bin/ix-nested-list +23 -0
  156. data/bin/ix-nnjj +16 -0
  157. data/bin/ix-noeol +6 -0
  158. data/bin/ix-noise +7 -0
  159. data/bin/ix-normalize +69 -0
  160. data/bin/ix-numbers +4 -0
  161. data/bin/ix-numerate +16 -0
  162. data/bin/ix-occurrence +8 -0
  163. data/bin/ix-open +9 -0
  164. data/bin/ix-parse +17 -0
  165. data/bin/ix-pass +17 -0
  166. data/bin/ix-path +8 -0
  167. data/bin/ix-path-stats +21 -0
  168. data/bin/ix-pbcopy +9 -0
  169. data/bin/ix-pdf +4 -0
  170. data/bin/ix-percentage +103 -0
  171. data/bin/ix-permutations +12 -0
  172. data/bin/ix-pick +4 -0
  173. data/bin/ix-planning-tickets +27 -0
  174. data/bin/ix-prefix +7 -0
  175. data/bin/ix-pretty +3 -0
  176. data/bin/ix-print-and-run +15 -0
  177. data/bin/ix-psd-to-json +16 -0
  178. data/bin/ix-quote +12 -0
  179. data/bin/ix-rainbow +21 -0
  180. data/bin/ix-ramp +15 -0
  181. data/bin/ix-random-hypothesis +10 -0
  182. data/bin/ix-range +9 -0
  183. data/bin/ix-remove-colors +519 -0
  184. data/bin/ix-remove-empty-lines +12 -0
  185. data/bin/ix-remove-leading-spaces +11 -0
  186. data/bin/ix-remove-trailing-spaces +11 -0
  187. data/bin/ix-replace +6 -0
  188. data/bin/ix-replay +34 -0
  189. data/bin/ix-retab +13 -0
  190. data/bin/ix-reverse +5 -0
  191. data/bin/ix-right +3 -0
  192. data/bin/ix-rm +8 -0
  193. data/bin/ix-rot13 +9 -0
  194. data/bin/ix-rot3 +9 -0
  195. data/bin/ix-rps +50 -0
  196. data/bin/ix-ruby-constructor-arguments +7 -0
  197. data/bin/ix-ruby-methods +40 -0
  198. data/bin/ix-ruby-options +189 -0
  199. data/bin/ix-ruby-procs +40 -0
  200. data/bin/ix-ruby-put-vars +11 -0
  201. data/bin/ix-ruby-setter-methods +47 -0
  202. data/bin/ix-ruby-to-json +9 -0
  203. data/bin/ix-ruler +13 -0
  204. data/bin/ix-run +105 -0
  205. data/bin/ix-saldo +25 -0
  206. data/bin/ix-sat +10 -0
  207. data/bin/ix-scan +13 -0
  208. data/bin/ix-scrum +13 -0
  209. data/bin/ix-scrum-summary +12 -0
  210. data/bin/ix-sentence +23 -0
  211. data/bin/ix-sentencify-comments +12 -0
  212. data/bin/ix-show-tabs +5 -0
  213. data/bin/ix-show-trailing-spaces +10 -0
  214. data/bin/ix-shuffle +11 -0
  215. data/bin/ix-signature +7 -0
  216. data/bin/ix-size +9 -0
  217. data/bin/ix-slider +201 -0
  218. data/bin/ix-snake +25 -0
  219. data/bin/ix-split +9 -0
  220. data/bin/ix-stack +42 -0
  221. data/bin/ix-stack-2 +31 -0
  222. data/bin/ix-stamp +5 -0
  223. data/bin/ix-stats +11 -0
  224. data/bin/ix-stream +15 -0
  225. data/bin/ix-string-similarity +152 -0
  226. data/bin/ix-string-similarity2 +35 -0
  227. data/bin/ix-strip +6 -0
  228. data/bin/ix-substract +5 -0
  229. data/bin/ix-success +2 -0
  230. data/bin/ix-suffix +7 -0
  231. data/bin/ix-sum +10 -0
  232. data/bin/ix-swap +3 -0
  233. data/bin/ix-symlink +13 -0
  234. data/bin/ix-tab +6 -0
  235. data/bin/ix-tabify +7 -0
  236. data/bin/ix-tac +11 -0
  237. data/bin/ix-task +20 -0
  238. data/bin/ix-technical +7 -0
  239. data/bin/ix-template +48 -0
  240. data/bin/ix-text-to-binary +7 -0
  241. data/bin/ix-text-to-dot +22 -0
  242. data/bin/ix-text-to-json +16 -0
  243. data/bin/ix-text-to-morse +72 -0
  244. data/bin/ix-tick +20 -0
  245. data/bin/ix-time +6 -0
  246. data/bin/ix-times +10 -0
  247. data/bin/ix-timestamp +79 -0
  248. data/bin/ix-timestamp-sort +16 -0
  249. data/bin/ix-timestamp2 +14 -0
  250. data/bin/ix-title +2 -0
  251. data/bin/ix-to-f +6 -0
  252. data/bin/ix-to-i +6 -0
  253. data/bin/ix-to-sym +6 -0
  254. data/bin/ix-to_i +6 -0
  255. data/bin/ix-todo +11 -0
  256. data/bin/ix-tokenize-for-template +25 -0
  257. data/bin/ix-transpose +48 -0
  258. data/bin/ix-tree +19 -0
  259. data/bin/ix-trim +5 -0
  260. data/bin/ix-truncate +22 -0
  261. data/bin/ix-ts +6 -0
  262. data/bin/ix-tsv-to-json +15 -0
  263. data/bin/ix-ucwords +11 -0
  264. data/bin/ix-unescape +8 -0
  265. data/bin/ix-unhtml +8 -0
  266. data/bin/ix-upcase +5 -0
  267. data/bin/ix-url-check +25 -0
  268. data/bin/ix-urls +46 -0
  269. data/bin/ix-vim +9 -0
  270. data/bin/ix-words +9 -0
  271. data/bin/ix-wrap +10 -0
  272. data/bin/ix-xy +81 -0
  273. data/bin/ix-zebra +122 -0
  274. metadata +597 -0
data/bin/ix-indent ADDED
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ unless ARGV[0]
4
+ $stderr.puts "Please provide a list of indender strings"
5
+ $stderr.puts "(separated by a colon character) as argv 1"
6
+ exit 1
7
+ end
8
+
9
+ unless ARGV[1]
10
+ $stderr.puts "Please provide a list of outdenter strings"
11
+ $stderr.puts "(separated by a colon character) as argv 2"
12
+ exit 1
13
+ end
14
+
15
+ unless ARGV[2]
16
+ $stderr.puts "Please provide a string to indent with"
17
+ $stderr.puts "as argv 3"
18
+ exit 1
19
+ end
20
+
21
+ indenters = ARGV[0].split(':')
22
+ outdenters = ARGV[1].split(':')
23
+
24
+ INDENT_REGEX = /#{indenters * '|'}/
25
+ OUTDENT_REGEX = /#{outdenters * '|'}/
26
+ INDENT_STR = "#{ARGV[2]}"
27
+
28
+ multiplier = 0
29
+
30
+ STDIN.each_line do |line|
31
+ if line =~ OUTDENT_REGEX
32
+ multiplier -= 1
33
+ if multiplier < 0
34
+ multiplier = 0
35
+ end
36
+ end
37
+ puts "#{INDENT_STR * multiplier} #{line}"
38
+ if line =~ INDENT_REGEX
39
+ multiplier += 1
40
+ end
41
+ end
42
+
@@ -0,0 +1,36 @@
1
+ #!/usr/bin/env node
2
+
3
+ lines = [];
4
+
5
+ process.stdin.setEncoding('utf8');
6
+
7
+ process.stdin.on('readable', function() {
8
+
9
+ var input = process.stdin.read();
10
+ input = input + '';
11
+ input.split(/\n/).forEach(function (line) {
12
+ if (line != 'null') { // fix
13
+ lines.push(line);
14
+ }
15
+ });
16
+
17
+ ind = lines.map(function (l) { return l.match(/^\s*/)[0].length / 4 })
18
+
19
+ lines.forEach(function (l,i){
20
+ if (i == 0) {
21
+ return
22
+ }
23
+ j = i - 1;
24
+ while(j > -1){
25
+ if(ind[i] - ind[j] === 1){
26
+ console.log(' "'+lines[j].trim()+'" -> "'+lines[i].trim()+'"');
27
+ return
28
+ }
29
+ j--;
30
+ }
31
+ });
32
+
33
+
34
+ });
35
+
36
+
data/bin/ix-int ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ STDIN.each_line do |line|
4
+ puts line.chomp.to_i
5
+ end
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ STDIN.each_line do |line|
4
+ puts '#{' + line.chomp + '} '
5
+ end
data/bin/ix-ips ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ system "ix scan '\\d+\\.\\d+\\.\\d+\\.\\d+'"
4
+
data/bin/ix-jd ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ if ARGV[0]
5
+ location = ARGV[0]
6
+ else
7
+ location = 'Guadalajara'
8
+ end
9
+
10
+ date = Time.now
11
+
12
+ puts date.strftime("%A %B %d %Y #{location} - #{date.to_i}")
13
+
data/bin/ix-join ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ join_string = ARGV[0]
4
+
5
+ chunks = []
6
+
7
+ STDIN.each_line do |line|
8
+ line = line.chomp
9
+ array = line.split(/\s+$/)
10
+ array.each do |chunk|
11
+ chunks << chunk
12
+ end
13
+ end
14
+
15
+ puts chunks.join("#{join_string}")
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ REGEX = /(\([^)(]+\))(\s+=>\s+)/
4
+
5
+ STDIN.each_line do |line|
6
+ puts line.gsub(REGEX, 'function \1 ')
7
+ end
8
+
9
+
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ require 'json'
5
+
6
+
7
+ key = ARGV[0]
8
+ value = ARGV[1]
9
+
10
+ STDIN.each_line do |line|
11
+ begin
12
+ hash = JSON.parse(line)
13
+ hash[key] = value
14
+ puts hash.to_json
15
+ rescue => error
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ object = JSON.parse(line)
7
+ object.each do |element|
8
+ puts JSON.dump(element)
9
+ end
10
+ end
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # formats json objects into strings.
4
+
5
+ require 'rubygems'
6
+ require 'json'
7
+
8
+ class Hash
9
+ def transform_keys!
10
+ keys.each do |key|
11
+ self[yield(key)] = delete(key)
12
+ end
13
+ self
14
+ end
15
+ def symbolize_keys!
16
+ transform_keys! { |key| key.to_sym rescue key }
17
+ end
18
+ end
19
+
20
+ TEMPLATE = ARGV[0].to_s
21
+
22
+ STDIN.each_line do |line|
23
+ begin
24
+ next unless line.include?('}')
25
+ object = JSON.parse(line)
26
+ object.symbolize_keys!
27
+ puts format(TEMPLATE, object)
28
+ rescue => error
29
+ end
30
+ end
31
+
data/bin/ix-json-grep ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'json'
5
+
6
+ STDIN.each_line do |line|
7
+ if line.include?('}')
8
+ hash = JSON.parse(line)
9
+ copy = {}
10
+ ARGV.each do |key|
11
+ copy[key] = hash[key]
12
+ end
13
+ puts copy.to_json
14
+ end
15
+ end
16
+
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ object = JSON.parse(line)
8
+ symbolized_object = {}
9
+ object.each do |k, v|
10
+ symbolized_object[k.to_sym] = v
11
+ end
12
+ puts format(ARGV[0], symbolized_object)
13
+ rescue => error
14
+ # $stderr.puts error.message
15
+ end
16
+ end
17
+
data/bin/ix-json-key ADDED
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+
3
+
4
+ # Reads json strings (one per line) from stdin.
5
+ # you pass keys as arguments and those are printed out as columns.
6
+
7
+ require 'rubygems'
8
+ require 'json'
9
+
10
+ $stdout.sync = true
11
+
12
+ STDIN.each_line do |line|
13
+ begin
14
+ next unless line.include?('}')
15
+ object = JSON.parse(line)
16
+ string = []
17
+ ARGV.each do |argument|
18
+ if object[argument]
19
+ if object[argument].is_a?(String)
20
+ string.push(object[argument])
21
+ elsif object[argument].is_a?(Array)
22
+ object[argument].each do |element|
23
+ string.push("\n" + element.to_json) # will break if not an object!
24
+ end
25
+ else
26
+ string.push(object[argument].to_json)
27
+ end
28
+ else
29
+ string.push(argument)
30
+ end
31
+ end
32
+ if string.size > 0
33
+ puts string.join(" ")
34
+ end
35
+ rescue => error
36
+ # $stderr.puts line
37
+ # $stderr.puts error.message
38
+ # $stderr.puts error.backtrace
39
+ end
40
+ end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ hash = JSON.parse(line)
8
+ hash.keys.each do |key|
9
+ puts "#{key}\t#{hash[key]}"
10
+ end
11
+ rescue => error
12
+ puts error.message
13
+ end
14
+ end
data/bin/ix-json-keys ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ hash = JSON.parse(line)
8
+ puts hash.keys.inspect
9
+ rescue => error
10
+ # ignore
11
+ end
12
+ end
data/bin/ix-json-merge ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ hash = JSON.parse(line)
8
+ rescue => error
9
+ end
10
+ end
11
+
data/bin/ix-json-paths ADDED
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ def resolve_type(object)
6
+ if object.is_a?(Hash)
7
+ return 'object'
8
+ end
9
+ if object.is_a?(String)
10
+ return 'string'
11
+ end
12
+ if object.is_a?(Array)
13
+ result = ''
14
+ result << '(array)'
15
+ object.each do |item|
16
+ result << "\n - " + resolve_type(item)
17
+ end
18
+ result << "\n"
19
+ return result
20
+ end
21
+ if object.is_a?(Fixnum)
22
+ return 'integer'
23
+ end
24
+ if object.is_a?(TrueClass)
25
+ return 'boolean'
26
+ end
27
+ if object.is_a?(FalseClass)
28
+ return 'boolean'
29
+ end
30
+ if object.is_a?(Float)
31
+ return 'float'
32
+ end
33
+ if object.is_a?(NilClass)
34
+ return 'null'
35
+ end
36
+ return 'unknown'
37
+ end
38
+
39
+ def parse(hash)
40
+ result = ''
41
+ hash.each do |key, value|
42
+ result << key + ' (' + resolve_type(value) + ")\n"
43
+ if value.is_a?(Hash)
44
+ parse(value).each_line do |line|
45
+ result << "#{key}.#{line}"
46
+ end
47
+ end
48
+ end
49
+ result
50
+ end
51
+
52
+ STDIN.each_line do |line|
53
+ begin
54
+ hash = JSON.parse(line)
55
+ puts parse(hash)
56
+ rescue => e
57
+ raise e
58
+ puts e.message
59
+ end
60
+ end
61
+
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env bash
2
+ ix json-paths | awk '{print $2, $1}' | column -t
data/bin/ix-json-pp ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ object = JSON.parse(line)
8
+ puts JSON.pretty_generate(object)
9
+ rescue => error
10
+ end
11
+ end
data/bin/ix-json-query ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ object = JSON.parse(line)
8
+ if object[ARGV[0]].to_s =~ /#{ARGV[1]}/
9
+ puts line
10
+ end
11
+ rescue => error
12
+ end
13
+ end
14
+
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ the_list = []
6
+
7
+ STDIN.each_line do |line|
8
+ object = JSON.parse(line)
9
+ the_list.push(object)
10
+ end
11
+
12
+ puts the_list.to_json
13
+
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ STDIN.each_line do |line|
6
+ begin
7
+ input_object = JSON.parse(line)
8
+ ARGV.each do |key|
9
+ input_object.delete(key)
10
+ end
11
+ puts input_object.to_json
12
+ rescue => error
13
+ end
14
+ end
15
+
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+
5
+ data = STDIN.read
6
+
7
+ hash = JSON.parse(data)
8
+
9
+ def replace_value(value)
10
+ if value.is_a?(String)
11
+ return 'string'
12
+ end
13
+ if value.is_a?(Fixnum)
14
+ return 1
15
+ end
16
+ if value.is_a?(Float)
17
+ return 1.0
18
+ end
19
+ if value.is_a?(Array)
20
+ return value.map! do |item|
21
+ replace_value(item)
22
+ end
23
+ end
24
+ if value.is_a?(Hash)
25
+ return nest(value)
26
+ end
27
+ end
28
+
29
+ def nest(hash)
30
+ hash.each do |key, value|
31
+ hash[key] = replace_value(value)
32
+ end
33
+ end
34
+
35
+ puts nest(hash).to_json