xvert 0.1.1 → 0.2.0

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: e08b317c06391c961129a015fa498543b7ef3bdf646883eeafb52b4135100c2f
4
- data.tar.gz: 4d27c0bb688bcae0c9934603d2b9a049fbf18e1e3eddd329d2063ccebea20595
3
+ metadata.gz: 1f3a39e3dbf8e60d7966f13c9191eabbbc3eff872f8371bf4eb61e79d61d113c
4
+ data.tar.gz: 7138515754cfbd83bb61b8ad32e6998928bc4b84a1087593b1960d6bacbbb757
5
5
  SHA512:
6
- metadata.gz: 1b5af035a6f9e8ef5454380cfb9bfa419fa53d0e3f6926dcf0de70536e504df28731b2aaa6b2140c6964fd0d9878a2a18d5e12222d98d9b8eff9ab647fdd953f
7
- data.tar.gz: 2d4a15ddaa7289b51a478acdd1bd0fb6bf45bde3d08d84a2e959418cd087a6ee647490af0432d4002a030456fccb6fee09cd98383e0611fa0eb29a94311b6082
6
+ metadata.gz: 1fdbe1355d42520c33a072350aa3cd279ee34489c8c5d20fc7a6388dc9fe0dbcb210cde1b23e9341d2d18d89bd576d0e2432524f1fa67e4110fc8b3ee389912c
7
+ data.tar.gz: 9942a4f3cda3e6a9901bb70718b7b045c1bcd4899bfbb477f140659a14102a8eb68abb85818309d507c37ef23a29d3d185cdaa83d69d2993986d5e5f014a0acf
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xvert (0.1.1)
4
+ xvert (0.2.0)
5
5
  json (~> 2.6.0)
6
6
  thor (~> 1.2.0)
7
7
  toml-rb (~> 2.2.0)
data/README.md CHANGED
@@ -16,7 +16,7 @@ $ gem install xvert
16
16
 
17
17
  ## Usage
18
18
 
19
- ```
19
+ ```console
20
20
  $ xvert help
21
21
  Commands:
22
22
  xvert help [COMMAND] # Describe available commands or one specific command
@@ -28,6 +28,61 @@ Commands:
28
28
  xvert yt # Convert YAML to TOML
29
29
  ```
30
30
 
31
+ - [JSON to TOML](#json-to-toml)
32
+ - [JSON to YAML](#json-to-yaml)
33
+ - [TOML to JSON](#toml-to-json)
34
+ - [TOML to YAML](#toml-to-yaml)
35
+ - [YAML to JSON](#yaml-to-json)
36
+ - [YAML to TOML](#yaml-to-toml)
37
+
38
+ ### JSON to TOML
39
+
40
+ ```console
41
+ $ xvert jt < foo.json
42
+ ```
43
+
44
+ ![](./assets/jt.gif)
45
+
46
+ ### JSON to YAML
47
+
48
+ ```console
49
+ $ xvert jy < foo.json
50
+ ```
51
+
52
+ ![](./assets/jy.gif)
53
+
54
+ ### TOML to JSON
55
+
56
+ ```console
57
+ $ xvert tj < foo.toml
58
+ ```
59
+
60
+ ![](./assets/tj.gif)
61
+
62
+ ### TOML to YAML
63
+
64
+ ```console
65
+ $ xvert ty < foo.toml
66
+ ```
67
+
68
+ ![](./assets/ty.gif)
69
+
70
+ ### YAML to JSON
71
+
72
+ ```console
73
+ $ xvert yj < foo.yaml
74
+ ```
75
+
76
+ ![](./assets/yj.gif)
77
+
78
+ ### YAML to TOML
79
+
80
+ ```console
81
+ $ xvert yt < foo.yaml
82
+ ```
83
+
84
+ ![](./assets/yt.gif)
85
+
31
86
  ## License
32
87
 
33
88
  [MIT License](./LICENSE.txt)
data/assets/jt.gif ADDED
Binary file
data/assets/jy.gif ADDED
Binary file
data/assets/tj.gif ADDED
Binary file
data/assets/ty.gif ADDED
Binary file
data/assets/yj.gif ADDED
Binary file
data/assets/yt.gif ADDED
Binary file
data/lib/xvert/cli.rb CHANGED
@@ -10,6 +10,13 @@ module Xvert
10
10
  end
11
11
  end
12
12
 
13
+ map %w[-v --version] => :version
14
+
15
+ desc "--version, -v", "Print Xvert version"
16
+ def version
17
+ puts ::Xvert::VERSION
18
+ end
19
+
13
20
  #
14
21
  # JSON => X
15
22
  #
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.1.1"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/xvert.rb CHANGED
@@ -7,19 +7,7 @@ require_relative "xvert/version"
7
7
  require_relative "xvert/cli"
8
8
 
9
9
  module Xvert
10
- TO_OBJECT_MAP = {
11
- json: :json_to_object,
12
- yaml: :yaml_to_object,
13
- toml: :toml_to_object
14
- }.freeze
15
-
16
- TO_TEXT_MAP = {
17
- json: :object_to_json,
18
- yaml: :object_to_yaml,
19
- toml: :object_to_toml
20
- }.freeze
21
-
22
- private_constant :TO_OBJECT_MAP, :TO_TEXT_MAP
10
+ class UnsupportedFormatError < StandardError; end
23
11
 
24
12
  class << self
25
13
  def convert(text, from:, to:)
@@ -28,11 +16,21 @@ module Xvert
28
16
  end
29
17
 
30
18
  def to_object(text, format:)
31
- send(TO_OBJECT_MAP[format], text)
19
+ case format
20
+ when :json then json_to_object(text)
21
+ when :yaml then yaml_to_object(text)
22
+ when :toml then toml_to_object(text)
23
+ else raise UnsupportedFormatError, "Unsupported format: #{format}"
24
+ end
32
25
  end
33
26
 
34
27
  def to_text(object, format:)
35
- send(TO_TEXT_MAP[format], object)
28
+ case format
29
+ when :json then object_to_json(object)
30
+ when :yaml then object_to_yaml(object)
31
+ when :toml then object_to_toml(object)
32
+ else raise UnsupportedFormatError, "Unsupported format: #{format}"
33
+ end
36
34
  end
37
35
 
38
36
  private
data/tapes/foo.json ADDED
@@ -0,0 +1 @@
1
+ {"message":"hello world"}
data/tapes/foo.toml ADDED
@@ -0,0 +1 @@
1
+ message = "hello world"
data/tapes/foo.yaml ADDED
@@ -0,0 +1 @@
1
+ message: hello world
data/tapes/jt.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/jt.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.json" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert jt < foo.json" Sleep 500ms Enter
20
+
21
+ Sleep 5s
data/tapes/jy.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/jy.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.json" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert jy < foo.json" Sleep 500ms Enter
20
+
21
+ Sleep 5s
data/tapes/tj.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/tj.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.toml" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert tj < foo.toml" Sleep 500ms Enter
20
+
21
+ Sleep 5s
data/tapes/ty.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/ty.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.toml" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert ty < foo.toml" Sleep 500ms Enter
20
+
21
+ Sleep 5s
data/tapes/yj.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/yj.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.yaml" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert yj < foo.yaml" Sleep 500ms Enter
20
+
21
+ Sleep 5s
data/tapes/yt.tape ADDED
@@ -0,0 +1,21 @@
1
+ Output assets/yt.gif
2
+
3
+ Require xvert
4
+
5
+ Set Shell "bash"
6
+ Set FontSize 32
7
+ Set Width 1200
8
+ Set Height 600
9
+
10
+ Hide
11
+ Type "cd ./tapes" Enter
12
+ Ctrl+l
13
+ Show
14
+
15
+ Type "cat foo.yaml" Sleep 500ms Enter Sleep 500ms
16
+ Sleep 1s
17
+ Type "clear" Sleep 500ms Enter Sleep 500ms
18
+
19
+ Type "xvert yt < foo.yaml" Sleep 500ms Enter
20
+
21
+ Sleep 5s
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.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - koki-develop
@@ -81,12 +81,27 @@ files:
81
81
  - LICENSE.txt
82
82
  - README.md
83
83
  - Rakefile
84
+ - assets/jt.gif
85
+ - assets/jy.gif
86
+ - assets/tj.gif
87
+ - assets/ty.gif
88
+ - assets/yj.gif
89
+ - assets/yt.gif
84
90
  - bin/xvert
85
91
  - lib/xvert.rb
86
92
  - lib/xvert/cli.rb
87
93
  - lib/xvert/version.rb
88
94
  - renovate.json
89
95
  - sig/xvert.rbs
96
+ - tapes/foo.json
97
+ - tapes/foo.toml
98
+ - tapes/foo.yaml
99
+ - tapes/jt.tape
100
+ - tapes/jy.tape
101
+ - tapes/tj.tape
102
+ - tapes/ty.tape
103
+ - tapes/yj.tape
104
+ - tapes/yt.tape
90
105
  - xvert.gemspec
91
106
  homepage: https://github.com/koki-develop/xvert
92
107
  licenses: