atk_toolbox 0.0.59 → 0.0.60
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 +4 -4
- data/lib/atk/atk_info.rb +1 -1
- data/lib/atk/{extra_file_utils.rb → file_sys.rb} +47 -0
- data/lib/atk/set_command.rb +1 -1
- data/lib/atk/yaml_info_parser.rb +1 -1
- data/lib/atk_toolbox/version.rb +1 -1
- metadata +13 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44d65649a0eff44005ab8189a44cbb754835fe2b924db8ef32a2411a4d10fa02
|
4
|
+
data.tar.gz: 5568c9abaea3119838358c2a2904d47cff1983b772d80eb07e6dadaa159ea4f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecb57106021e63ac87ff5f19b8a4ba6ecdfb7cf11cb8f1f413c57847770caa0e3646348a75e138e35a1656c096a792c76fb0cd2d17006f98ac5514d9deaec2a0
|
7
|
+
data.tar.gz: 15e5201c7ecf5c58d66d115c4fdfdb68bd7dbc8a848986d913441988a7c2837aae7ea199907330e4e3ee760d4f9099c6dbef220fb5b4b97b6312125e7a922e2d
|
data/lib/atk/atk_info.rb
CHANGED
@@ -2,6 +2,9 @@ require 'etc'
|
|
2
2
|
require 'fileutils'
|
3
3
|
require 'pathname'
|
4
4
|
require 'open-uri'
|
5
|
+
require 'json'
|
6
|
+
require 'yaml'
|
7
|
+
require 'csv'
|
5
8
|
require_relative './os'
|
6
9
|
require_relative './remove_indent'
|
7
10
|
|
@@ -43,6 +46,50 @@ class FileSys
|
|
43
46
|
IO.write(to, data)
|
44
47
|
end
|
45
48
|
|
49
|
+
def self.save(value, to:nil, as:nil)
|
50
|
+
# assume string if as was not given
|
51
|
+
if as == nil
|
52
|
+
as = :s
|
53
|
+
end
|
54
|
+
|
55
|
+
# add a special exception for csv files
|
56
|
+
case as
|
57
|
+
when :csv
|
58
|
+
FS.write(value.map(&:to_csv).join, to: to)
|
59
|
+
else
|
60
|
+
conversion_method_name = "to_#{as}"
|
61
|
+
if value.respond_to? conversion_method_name
|
62
|
+
# this is like calling `value.to_json`, `value.to_yaml`, or `value.to_csv` but programatically
|
63
|
+
string_value = value.public_send(conversion_method_name)
|
64
|
+
if not string_value.is_a?(String)
|
65
|
+
raise <<-HEREDOC.remove_indent
|
66
|
+
|
67
|
+
|
68
|
+
The FileSys.save(value, to: #{to.inspect}, as: #{as.inspect}) had a problem.
|
69
|
+
The as: #{as}, gets converted into value.to_#{as}
|
70
|
+
Normally that returns a string that can be saved to a file
|
71
|
+
However, the value.to_#{as} did not return a string.
|
72
|
+
Value is of the #{value.class} class. Add a `to_#{as}`
|
73
|
+
method to that class that returns a string to get FileSys.save() working
|
74
|
+
HEREDOC
|
75
|
+
end
|
76
|
+
FS.write(string_value, to:to)
|
77
|
+
else
|
78
|
+
raise <<-HEREDOC.remove_indent
|
79
|
+
|
80
|
+
|
81
|
+
The FileSys.save(value, to: #{to.inspect}, as: #{as.inspect}) had a problem.
|
82
|
+
|
83
|
+
The as: #{as}, gets converted into value.to_#{as}
|
84
|
+
Normally that returns a string that can be saved to a file
|
85
|
+
However, the value.to_#{as} is not a method for value
|
86
|
+
Value is of the #{value.class} class. Add a `to_#{as}`
|
87
|
+
method to that class that returns a string to get FileSys.save() working
|
88
|
+
HEREDOC
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
46
93
|
def self.read(filepath)
|
47
94
|
begin
|
48
95
|
return IO.read(filepath)
|
data/lib/atk/set_command.rb
CHANGED
data/lib/atk/yaml_info_parser.rb
CHANGED
data/lib/atk_toolbox/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: atk_toolbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.60
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Hykin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zip
|
@@ -34,40 +34,40 @@ dependencies:
|
|
34
34
|
name: git
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - "
|
37
|
+
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: 1.5.0
|
40
|
-
- - "
|
40
|
+
- - ">="
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 1.5.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - "
|
47
|
+
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 1.5.0
|
50
|
-
- - "
|
50
|
+
- - ">="
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 1.5.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: tty-prompt
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
|
-
- - "
|
57
|
+
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 0.19.0
|
60
|
-
- - "
|
60
|
+
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: 0.19.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- - "
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: 0.19.0
|
70
|
-
- - "
|
70
|
+
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: 0.19.0
|
73
73
|
description: ''
|
@@ -79,8 +79,8 @@ files:
|
|
79
79
|
- lib/atk/atk_info.rb
|
80
80
|
- lib/atk/cmd.rb
|
81
81
|
- lib/atk/default_info.yaml
|
82
|
-
- lib/atk/extra_file_utils.rb
|
83
82
|
- lib/atk/extra_yaml.rb
|
83
|
+
- lib/atk/file_sys.rb
|
84
84
|
- lib/atk/git.rb
|
85
85
|
- lib/atk/online.rb
|
86
86
|
- lib/atk/os.rb
|
@@ -114,7 +114,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
version: '0'
|
116
116
|
requirements: []
|
117
|
-
|
117
|
+
rubyforge_project:
|
118
|
+
rubygems_version: 2.7.3
|
118
119
|
signing_key:
|
119
120
|
specification_version: 4
|
120
121
|
summary: The Ruby gem for all the standard tools ATK uses internally
|