xvert 0.2.0 → 0.3.0

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: 1f3a39e3dbf8e60d7966f13c9191eabbbc3eff872f8371bf4eb61e79d61d113c
4
- data.tar.gz: 7138515754cfbd83bb61b8ad32e6998928bc4b84a1087593b1960d6bacbbb757
3
+ metadata.gz: 2bdccff9925d173e41be9dec926b83ca609a09843245367bf28a3b75fc5993bf
4
+ data.tar.gz: 818797603eca5da9837fcd4ded7dffecfeaecd361b7b5ee408ab86a751bf161a
5
5
  SHA512:
6
- metadata.gz: 1fdbe1355d42520c33a072350aa3cd279ee34489c8c5d20fc7a6388dc9fe0dbcb210cde1b23e9341d2d18d89bd576d0e2432524f1fa67e4110fc8b3ee389912c
7
- data.tar.gz: 9942a4f3cda3e6a9901bb70718b7b045c1bcd4899bfbb477f140659a14102a8eb68abb85818309d507c37ef23a29d3d185cdaa83d69d2993986d5e5f014a0acf
6
+ metadata.gz: f7dab70151e4d7938c9b043e45967ec16e51a3a9ba54b599c745479570ed151411730abf32328bdd8846ac66edab85b0b4c72fad59253d5544dd0985f18267b2
7
+ data.tar.gz: f4b6510f03956ae5ee8fbb498e6f650e2a8968e3f439cea2e6751d9e5a8f65323a394a14213347987218b4c3a64b76617225480acf61e2e713775d85a2e540e3
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xvert (0.2.0)
4
+ xvert (0.3.0)
5
5
  json (~> 2.6.0)
6
+ rouge (~> 3.2.0)
6
7
  thor (~> 1.2.0)
7
8
  toml-rb (~> 2.2.0)
8
9
  yaml (~> 0.2.0)
@@ -22,6 +23,7 @@ GEM
22
23
  rake (13.0.6)
23
24
  regexp_parser (2.8.0)
24
25
  rexml (3.2.5)
26
+ rouge (3.2.1)
25
27
  rubocop (1.50.2)
26
28
  json (~> 2.3)
27
29
  parallel (~> 1.10)
data/README.md CHANGED
@@ -19,6 +19,7 @@ $ gem install xvert
19
19
  ```console
20
20
  $ xvert help
21
21
  Commands:
22
+ xvert --version, -v # Print Xvert version
22
23
  xvert help [COMMAND] # Describe available commands or one specific command
23
24
  xvert jt # Convert JSON to TOML
24
25
  xvert jy # Convert JSON to YAML
data/assets/jt.gif CHANGED
Binary file
data/assets/jy.gif CHANGED
Binary file
data/assets/tj.gif CHANGED
Binary file
data/assets/ty.gif CHANGED
Binary file
data/assets/yj.gif CHANGED
Binary file
data/assets/yt.gif CHANGED
Binary file
data/lib/xvert/cli.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "rouge"
3
4
  require "thor"
4
5
 
5
6
  module Xvert
@@ -62,7 +63,27 @@ module Xvert
62
63
  private
63
64
 
64
65
  def run(from:, to:)
65
- puts ::Xvert.convert(input, from: from, to: to)
66
+ text = ::Xvert.convert(input, from: from, to: to).chomp
67
+ puts highlight(text, to)
68
+ end
69
+
70
+ def highlight(text, format)
71
+ return text unless $stdout.isatty
72
+
73
+ formatter(Rouge::Themes::Monokai.new).format(lexer(format).lex(text))
74
+ end
75
+
76
+ def formatter(theme)
77
+ Rouge::Formatters::Terminal256.new(theme)
78
+ end
79
+
80
+ def lexer(format)
81
+ case format
82
+ when :json then Rouge::Lexers::JSON.new
83
+ when :yaml then Rouge::Lexers::YAML.new
84
+ when :toml then Rouge::Lexers::TOML.new
85
+ else raise UnsupportedFormatError, format
86
+ end
66
87
  end
67
88
 
68
89
  def input
data/lib/xvert/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Xvert
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/xvert.rb CHANGED
@@ -7,7 +7,11 @@ require_relative "xvert/version"
7
7
  require_relative "xvert/cli"
8
8
 
9
9
  module Xvert
10
- class UnsupportedFormatError < StandardError; end
10
+ class UnsupportedFormatError < StandardError
11
+ def initialize(format)
12
+ super("Unsupported format: #{format}")
13
+ end
14
+ end
11
15
 
12
16
  class << self
13
17
  def convert(text, from:, to:)
@@ -20,7 +24,7 @@ module Xvert
20
24
  when :json then json_to_object(text)
21
25
  when :yaml then yaml_to_object(text)
22
26
  when :toml then toml_to_object(text)
23
- else raise UnsupportedFormatError, "Unsupported format: #{format}"
27
+ else raise UnsupportedFormatError, format
24
28
  end
25
29
  end
26
30
 
@@ -29,7 +33,7 @@ module Xvert
29
33
  when :json then object_to_json(object)
30
34
  when :yaml then object_to_yaml(object)
31
35
  when :toml then object_to_toml(object)
32
- else raise UnsupportedFormatError, "Unsupported format: #{format}"
36
+ else raise UnsupportedFormatError, format
33
37
  end
34
38
  end
35
39
 
data/xvert.gemspec CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.require_paths = ["lib"]
27
27
 
28
28
  spec.add_runtime_dependency "json", "~> 2.6.0"
29
+ spec.add_runtime_dependency "rouge", "~> 3.2.0"
29
30
  spec.add_runtime_dependency "thor", "~> 1.2.0"
30
31
  spec.add_runtime_dependency "toml-rb", "~> 2.2.0"
31
32
  spec.add_runtime_dependency "yaml", "~> 0.2.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xvert
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - koki-develop
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.6.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rouge
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.2.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.2.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: thor
29
43
  requirement: !ruby/object:Gem::Requirement