idcfcloud 0.2.2 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. checksums.yaml +5 -5
  2. data/.codeclimate.yml +12 -0
  3. data/.rubocop.yml +12 -2
  4. data/README.md +30 -12
  5. data/idcfcloud.gemspec +12 -12
  6. data/lib/idcf/cli/command/morio.rb +4 -4
  7. data/lib/idcf/cli/conf/conf.yml +0 -6
  8. data/lib/idcf/cli/conf/const.rb +32 -29
  9. data/lib/idcf/cli/controller/base.rb +50 -23
  10. data/lib/idcf/cli/controller/compute.rb +15 -2
  11. data/lib/idcf/cli/controller/extend/command.rb +25 -2
  12. data/lib/idcf/cli/controller/extend/search_module.rb +0 -10
  13. data/lib/idcf/cli/controller/extend/util.rb +12 -0
  14. data/lib/idcf/cli/controller/include/client.rb +1 -1
  15. data/lib/idcf/cli/controller/include/command.rb +1 -1
  16. data/lib/idcf/cli/controller/include/util.rb +3 -5
  17. data/lib/idcf/cli/controller/include/validate.rb +1 -1
  18. data/lib/idcf/cli/extend/configure.rb +2 -4
  19. data/lib/idcf/cli/extend/update.rb +21 -21
  20. data/lib/idcf/cli/extend/update_file.rb +21 -10
  21. data/lib/idcf/cli/gem_ext/idcf/json_hyper_schema/expands/link_info_base_extension.rb +25 -9
  22. data/lib/idcf/cli/gem_ext/thor/init_util.rb +6 -3
  23. data/lib/idcf/cli/index.rb +17 -5
  24. data/lib/idcf/cli/lib/api.rb +5 -4
  25. data/lib/idcf/cli/lib/configure.rb +2 -2
  26. data/lib/idcf/cli/lib/convert/filter/field_filter.rb +9 -12
  27. data/lib/idcf/cli/lib/convert/filter/json_path_filter.rb +1 -1
  28. data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -2
  29. data/lib/idcf/cli/lib/convert/formatter/csv_format.rb +15 -32
  30. data/lib/idcf/cli/lib/convert/formatter/json_format.rb +1 -1
  31. data/lib/idcf/cli/lib/convert/formatter/table_format.rb +2 -2
  32. data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
  33. data/lib/idcf/cli/lib/convert/helper.rb +16 -5
  34. data/lib/idcf/cli/lib/document.rb +45 -0
  35. data/lib/idcf/cli/lib/util/cli_file.rb +1 -1
  36. data/lib/idcf/cli/lib/util/cli_logger.rb +3 -3
  37. data/lib/idcf/cli/lib/util/ini_conf.rb +2 -2
  38. data/lib/idcf/cli/lib/util/input.rb +40 -5
  39. data/lib/idcf/cli/lib/util/yml_conf.rb +1 -1
  40. data/lib/idcf/cli/service/base.rb +6 -6
  41. data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +22 -18
  42. data/lib/idcf/cli/validate/custom/month_check_validator.rb +1 -1
  43. data/lib/idcf/cli/validate/custom/require_relation_validator.rb +2 -2
  44. data/lib/idcf/cli/validate/define/base.rb +3 -2
  45. data/lib/idcf/cli/version.rb +1 -1
  46. metadata +55 -68
  47. data/lib/idcf/cli/controller/cdn.rb +0 -37
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 09cbeede1098617cb40e566cd20f240d6b2d0404
4
- data.tar.gz: d7a1709c7246eb5a56d83cb2b310830d40f4383a
2
+ SHA256:
3
+ metadata.gz: 2e85df53cf877b508edb0741ace4be89179fcd6b7186df2323a7d992dc91e53e
4
+ data.tar.gz: 9fb184070e033ad9fb6472a80eff05ff1d44a2cadde499afd8b53ad5868139a4
5
5
  SHA512:
6
- metadata.gz: e9f9c7a579f7772f72b190fce4e712e1b63dcb2144952b5e42d69faa31a7572e97aad5009b7ff933b9dd14ddc49f04f429dab5ba509c5bfc47a110cda1fcc8c1
7
- data.tar.gz: 8374e4292620361ca1e6e2eb798316dcaeb852cf810549062493ab2643049c4d03e995b9534aff6dbce7d4af7c5df63d264527b8aa3e6c0a3e613c2d640a102e
6
+ metadata.gz: 1b1f4a11375d35f81b6abc8dcbeb477bec8c5a3325fa92d334b233adf9e2cb2910d68d6f797084ce6788164df08386185cb118035be2e0609a4e5454efb8bba3
7
+ data.tar.gz: 7581a8ff47eef3af7a155c0faf9187580d3b3bb46f855a7bb7e26b8b13b6b379013e6510fb69f8527487926eb74542ce190e18bc2521884cfb9af0495353cbd5
@@ -12,11 +12,23 @@ engines:
12
12
  enabled: true
13
13
  rubocop:
14
14
  enabled: true
15
+ structure:
16
+ exclude_paths:
17
+ - 'test/**/*'
15
18
  ratings:
16
19
  paths:
17
20
  - "**.rb"
21
+ checks:
22
+ argument-count:
23
+ config:
24
+ threshold: 6
25
+ method-complexity:
26
+ config:
27
+ threshold: 9
28
+
18
29
  exclude_paths:
19
30
  - vendor/bundle
20
31
  - .idea
21
32
  - bin
22
33
  - doc
34
+ - output
@@ -28,7 +28,7 @@ LineLength:
28
28
  Exclude:
29
29
  - 'test/**/*'
30
30
  Style/ClassLength:
31
- Max: 150
31
+ Max: 160
32
32
  Exclude:
33
33
  - 'test/**/*'
34
34
  Style/ModuleLength:
@@ -38,4 +38,14 @@ Style/ModuleLength:
38
38
  ParameterLists:
39
39
  Max: 6
40
40
  Style/DoubleNegation:
41
- Enabled: false
41
+ Enabled: false
42
+ Style/SymbolArray:
43
+ Exclude:
44
+ - 'test/**/*'
45
+ Style/IndentHeredoc:
46
+ EnforcedStyle: active_support
47
+ Style/PercentLiteralDelimiters:
48
+ Exclude:
49
+ - 'test/**/*'
50
+ Lint/InterpolationCheck:
51
+ Enabled: false
data/README.md CHANGED
@@ -55,8 +55,9 @@ cat [attributes file path] | echo -e "'"$(cat)"'" | xargs -L1 idcfcloud
55
55
  | secret-key | | [Configuration file description] | Secret Key |
56
56
  | no-ssl | | | Not using SSL |
57
57
  | no-vssl | | | Not using Verify SSL |
58
- | json-path | | | Narrowing the data part of a return value using json-path<br/>https://github.com/joshbuddy/jsonpath |
59
- | fields | | | Limiting the return value to be displayed (applied only to the latest hash)<br/>Punctuation: comma (",") |
58
+ | json-path | j | | Narrowing the data part of a return value using json-path<br/>https://github.com/joshbuddy/jsonpath |
59
+ | fields | f | | Limiting the return value to be displayed (applied only to the latest hash)<br/>Punctuation: comma (",") |
60
+ | version | | [latest] | The API version to be used |
60
61
 
61
62
 
62
63
  #### How to Narrow Down (Examples)
@@ -69,14 +70,22 @@ idcfcloud your list_billing_history --json-path '$.data[?(@.month=="2017-10")]'
69
70
 
70
71
  [ILB](#ilb)
71
72
 
72
- [CDN](#cdn)
73
-
74
73
  [DNS](#dns)
75
74
 
76
75
  [Your](#your)
77
76
 
78
- ### Compute(Bata)<a name="compute"></a>
79
- \* If you encounter any problem, please contact us or file a pull request.
77
+ ### Common Features
78
+
79
+ versions
80
+
81
+ Get a supported API version.
82
+
83
+ ```code
84
+ $ idcfcloud your versions
85
+ ```
86
+
87
+
88
+ ### Compute<a name="compute"></a>
80
89
 
81
90
  http://docs.idcf.jp/cloud/api/
82
91
 
@@ -115,10 +124,6 @@ sslalgorithms_ids
115
124
  $ idcfcloud ilb sslalgorithms_ids
116
125
  ```
117
126
 
118
- ### CDN<a name="cdn"></a>
119
-
120
- https://www.idcf.jp/help/cache/docs/pdf/cache_api.pdf?cl=rd_0046
121
-
122
127
  ### DNS<a name="dns"></a>
123
128
 
124
129
  http://docs.idcf.jp/cloud/dns/#s_fid=4FEB16B56007BA5C-0BFB42ABA668ADA8
@@ -127,16 +132,29 @@ http://docs.idcf.jp/cloud/dns/#s_fid=4FEB16B56007BA5C-0BFB42ABA668ADA8
127
132
 
128
133
  http://docs.idcf.jp/cloud/billing/
129
134
 
130
- ## Development
135
+ ## Development && Test
131
136
 
132
137
  Running the following test code is possible, but not recommended nor supported. Run only a code of a target.
133
138
 
139
+ 🚨NOTE 🚨
140
+
141
+ - Be sure to specify `test/run_test.rb` before the test target.
142
+ - The test environment is not standalone. You need to apply for services and prepare your own environment.
143
+ At least an [ILB](https://www.idcf.jp/cloud/ilb/) is required to pass all tests.
144
+ - If you do not specify the region properly with the environment variable `TEST_REGION (default: jp-east)`, the test will not pass.
145
+
134
146
  ```code
135
- $ bundle exec ruby test/run_test.rb idcf/cli/controller/test_your.rb
147
+ $ TEST_REGION=your_region bundle exec ruby test/run_test.rb idcf/cli/controller/test_your.rb
136
148
  ```
137
149
 
138
150
  In order to avoid collapsed setting in ILB, make sure you understand how things work before running a code.
139
151
 
152
+ #### environments
153
+
154
+ |name|description|
155
+ |----|-----------|
156
+ |`TEST_REGION`|Region used in the test. (jp-east・jp-east-2・jp-west)|
157
+
140
158
  ## Contributing
141
159
 
142
160
  1. Fork it ( https://github.com/idcf/idcfcloud-cli/fork )
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path('../lib', __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'idcf/cli/version'
@@ -23,23 +22,24 @@ Gem::Specification.new do |spec|
23
22
  spec.bindir = 'exe'
24
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
24
  spec.require_paths = ['lib']
25
+ spec.required_ruby_version = '>= 2.5.0'
26
26
 
27
- spec.add_development_dependency 'bundler', '~> 1.14'
28
- spec.add_development_dependency 'rake', '~> 10.0'
27
+ spec.add_development_dependency 'bundler', '>= 1.14'
28
+ spec.add_development_dependency 'rake', '>= 10.0'
29
29
  spec.add_development_dependency 'test-unit', '~> 3.2', '>= 3.2.5'
30
30
  spec.add_development_dependency 'test-unit-notify', '~> 1.0', '>= 1.0.4'
31
31
 
32
- spec.add_dependency 'activemodel', '~> 4.2', '>= 4.2.3'
33
- spec.add_dependency 'activesupport', '~> 4.2', '>= 4.2.3'
34
- spec.add_dependency 'inifile', '~> 3.0', '>= 3.0.0'
35
- spec.add_dependency 'thor', '~> 0.19.4'
32
+ spec.add_dependency 'activemodel', '>= 5.2.4.1'
33
+ spec.add_dependency 'activesupport', '>= 5.2.4.1'
36
34
  spec.add_dependency 'builder', '~> 3.1'
35
+ spec.add_dependency 'CFPropertyList', '~> 2.3.5'
36
+ spec.add_dependency 'facter', '~> 2.5.1'
37
+ spec.add_dependency 'idcf-faraday_middleware', '~> 0.0.2'
38
+ spec.add_dependency 'idcf-json_hyper_schema', '~> 0.3.1'
39
+ spec.add_dependency 'inifile', '~> 3.0', '>= 3.0.0'
40
+ spec.add_dependency 'jsonpath', '~> 0.8.10'
37
41
  spec.add_dependency 'kosi', '~> 1.0', '>= 1.0.0'
38
42
 
39
43
  spec.add_dependency 'open_uri_redirections', '~> 0.2.1'
40
- spec.add_dependency 'idcf-json_hyper_schema', '~> 0.1.0'
41
- spec.add_dependency 'idcf-faraday_middleware', '~> 0.0.2'
42
- spec.add_dependency 'jsonpath', '~> 0.8.10'
43
- spec.add_dependency 'facter', '~> 2.5.1'
44
- spec.add_dependency 'CFPropertyList', '~> 2.3.5'
44
+ spec.add_dependency 'thor', '~> 0.19.4'
45
45
  end
@@ -11,7 +11,7 @@ module Idcf
11
11
  module Command
12
12
  # morio command
13
13
  class Morio
14
- MORIO_TXT = <<-'EOS'.freeze
14
+ MORIO_TXT = <<-TEXT.freeze
15
15
  -+sso+-
16
16
  .... -ssssssso`
17
17
  `-/ossssss+/. `ssssssso`
@@ -25,7 +25,7 @@ module Idcf
25
25
  ./osssssssssssssssssssssss+.
26
26
  `-:+oosssssssssssso+:.
27
27
  ``````````
28
- EOS
28
+ TEXT
29
29
  ATTRIBUTES_OFF = "\e[0m".freeze
30
30
  MORIO_COLOR = "\e[38;5;45m".freeze
31
31
  TITLE_COLOR = "\e[38;5;45m".freeze
@@ -81,7 +81,7 @@ module Idcf
81
81
  result << [k.to_s, data.body] if data.success?
82
82
  end
83
83
  end
84
- rescue
84
+ rescue StandardError => _e
85
85
  []
86
86
  end
87
87
 
@@ -108,7 +108,7 @@ module Idcf
108
108
  if content && content.class == Array && content.size == 2
109
109
  title = content[1].present? ? "#{content[0]} : " : content[0]
110
110
  txt = content[1].present? ? content[1] : ''
111
- add_str = format(" #{TITLE_COLOR}%s#{TEXT_COLOR}%s", title, txt)
111
+ add_str = format(" #{TITLE_COLOR}%<title>s#{TEXT_COLOR}%<txt>s", title: title, txt: txt)
112
112
  end
113
113
  "#{base_str}#{add_str}"
114
114
  end
@@ -18,12 +18,6 @@ your:
18
18
  default:
19
19
  schema: https://your.idcfcloud.com/api/v1/schema
20
20
  host: your.idcfcloud.com
21
- cdn:
22
- v0:
23
- region:
24
- default:
25
- schema: https://cdn.idcfcloud.com/api/v1/schema
26
- host: cdn.idcfcloud.com
27
21
  dns:
28
22
  v1:
29
23
  region:
@@ -1,4 +1,3 @@
1
- require 'date'
2
1
  require 'logger'
3
2
  require 'idcf/cli/version'
4
3
  module Idcf
@@ -6,32 +5,36 @@ module Idcf
6
5
  module Conf
7
6
  # const
8
7
  class Const
9
- VERSION_STR = "idcfcloud version #{Idcf::Cli::VERSION}".freeze
10
- now = DateTime.now.strftime('%Y%m%d%H%M%S%6N')
11
- dir_path = File.dirname(__FILE__)
12
- BASE_PATH = File.expand_path("#{dir_path}/../../../")
13
- LOCAL_ERROR_PREFIX = '[idcfcli]'.freeze
14
- HEADERS =
8
+ DOCUMENT_URL = 'https://www.idcf.jp/api-docs/apis/'.freeze
9
+ DOCUMENT_ID_SEP = '_'.freeze
10
+ DOCUMENT_SPACE_CONVERSION = '-'.freeze
11
+ DOCUMENT_ID_PREFIX_FORMAT = 'docs_%<service>s_reference%<version>s'.freeze
12
+ VERSION_STR = "idcfcloud version #{Idcf::Cli::VERSION}".freeze
13
+ now = Time.now.strftime('%Y%m%d%H%M%S%6N')
14
+ dir_path = File.dirname(__FILE__)
15
+ BASE_PATH = File.expand_path("#{dir_path}/../../../")
16
+ LOCAL_ERROR_PREFIX = '[idcfcli]'.freeze
17
+ HEADERS =
15
18
  {
16
19
  'User-Agent': "IDCF CLI v#{Idcf::Cli::VERSION}"
17
20
  }.freeze
18
- USER_DIR_PATH = '~/.idcfcloud'.freeze
19
- VALIDATOR_DIR_PATH = 'idcf/cli/validate/define'.freeze
20
- CODE_CONF_PATH = "#{BASE_PATH}/idcf/cli/conf/conf.yml".freeze
21
- USER_CONF_PATH = "#{USER_DIR_PATH}/config.ini".freeze
22
- USER_CONF_GLOBAL = "#{BASE_PATH}/../config/config.ini".freeze
23
- REGIONS = %w(jp-east jp-east-2 jp-west).freeze
24
- GLOBAL_CONF_ITEMS =
21
+ USER_DIR_PATH = '~/.idcfcloud'.freeze
22
+ VALIDATOR_DIR_PATH = 'idcf/cli/validate/define'.freeze
23
+ CODE_CONF_PATH = "#{BASE_PATH}/idcf/cli/conf/conf.yml".freeze
24
+ USER_CONF_PATH = "#{USER_DIR_PATH}/config.ini".freeze
25
+ USER_CONF_GLOBAL = "#{BASE_PATH}/../config/config.ini".freeze
26
+ REGIONS = %w[jp-east jp-east-2 jp-west].freeze
27
+ GLOBAL_CONF_ITEMS =
25
28
  {
26
29
  output_log: {
27
30
  default: 'Y',
28
- list: %w(Y n)
31
+ list: %w[Y n]
29
32
  },
30
33
  log_path: {
31
34
  default: '~/.idcfcloud/log'
32
35
  }
33
36
  }.freeze
34
- USER_CONF_ITEMS =
37
+ USER_CONF_ITEMS =
35
38
  {
36
39
  api_key: nil,
37
40
  secret_key: nil,
@@ -39,22 +42,22 @@ module Idcf
39
42
  list: REGIONS
40
43
  }
41
44
  }.freeze
42
- FULL_HREF_REGEXP = Regexp.new('\A[a-zA-Z]*:?//').freeze
43
- CMD_FILE_DIR = "#{BASE_PATH}/idcf/cli/conf/service".freeze
44
- CMD_FILE_EXT = 'json'.freeze
45
- SERVICE_PATH = 'idcf/cli/service'.freeze
46
- TEMPLATE_DIR = "#{BASE_PATH}/idcf/cli/templates".freeze
47
- OUT_DIR = "#{BASE_PATH}/../output".freeze
48
- COMP_PATHS = {
45
+ FULL_HREF_REGEXP = Regexp.new('\A[a-zA-Z]*:?//').freeze
46
+ CMD_FILE_DIR = "#{BASE_PATH}/idcf/cli/conf/service".freeze
47
+ CMD_FILE_EXT = 'json'.freeze
48
+ SERVICE_PATH = 'idcf/cli/service'.freeze
49
+ TEMPLATE_DIR = "#{BASE_PATH}/idcf/cli/templates".freeze
50
+ OUT_DIR = "#{BASE_PATH}/../output".freeze
51
+ COMP_PATHS = {
49
52
  bash: '~/.bash_profile',
50
53
  zsh: '~/.zprofile'
51
54
  }.freeze
52
- LOG_FILE_PREFIX = 'cli_log_'.freeze
53
- LOG_FILE_NAME = "#{LOG_FILE_PREFIX}#{now}.log".freeze
54
- LOG_LEVEL = Logger::INFO.freeze
55
- CLASSIFY_RULE = [
56
- %w(sslalgorithms_ids SslalgorithmsIds),
57
- %w(dns Dns)
55
+ LOG_FILE_PREFIX = 'cli_log_'.freeze
56
+ LOG_FILE_NAME = "#{LOG_FILE_PREFIX}#{now}.log".freeze
57
+ LOG_LEVEL = Logger::INFO.freeze
58
+ CLASSIFY_RULE = [
59
+ %w[sslalgorithms_ids SslalgorithmsIds],
60
+ %w[dns Dns]
58
61
  ].freeze
59
62
  end
60
63
  end
@@ -11,6 +11,7 @@ require_relative './extend/init'
11
11
  require_relative './include/init'
12
12
  require 'jsonpath'
13
13
  require 'idcf/cli/lib/include/recurring_calling'
14
+ require 'idcf/cli/lib/document'
14
15
 
15
16
  module Idcf
16
17
  module Cli
@@ -35,9 +36,13 @@ module Idcf
35
36
  class_option :no_vssl,
36
37
  desc: 'not use verify ssl'
37
38
  class_option :json_path,
38
- desc: 'data filter json_path'
39
+ aliases: '-j',
40
+ desc: 'data filter json_path'
39
41
  class_option :fields,
40
- desc: 'field filter'
42
+ aliases: '-f',
43
+ desc: 'field filter'
44
+ class_option :version,
45
+ desc: 'api version'
41
46
 
42
47
  attr_reader :config, :code_conf, :cmd, :m_classes
43
48
 
@@ -49,7 +54,11 @@ module Idcf
49
54
  attr_accessor :links
50
55
 
51
56
  def init(argv)
52
- o = Thor::Options.new(class_options).parse(argv)
57
+ o = Thor::Options.new(class_options).parse(argv)
58
+ region = get_region(o)
59
+ version = service_version(o)
60
+ Idcf::Cli::Lib::Document.init(region: region, version: version)
61
+
53
62
  register_schema_method(o)
54
63
 
55
64
  make_module_classes.each do |cn, c|
@@ -83,28 +92,38 @@ module Idcf
83
92
  name.underscore.split('/').last
84
93
  end
85
94
 
86
- # service version
95
+ # service version list
87
96
  #
88
- # @param o [Hash]
89
- # @return String
90
- def service_version(o)
91
- sn = service_name
92
- list = Idcf::Cli::Lib::Configure.get_code_conf(sn, o)
93
- result = o[:version].nil? ? list.keys.last : o[:version]
94
- msg = "not found input version[#{o[:version]}]"
95
- raise Idcf::Cli::Error::CliError, msg unless list.keys.include?(result)
96
- result
97
+ # @return [Array]
98
+ def service_versions(region)
99
+ [].tap do |result|
100
+ sn = service_name
101
+ Idcf::Cli::Lib::Configure.get_code_conf(sn).each do |k, v|
102
+ v['region'].each_key do |reg|
103
+ next unless region == reg
104
+ result << k
105
+ break
106
+ end
107
+ end
108
+ end
97
109
  end
98
110
  end
99
111
 
112
+ desc 'versions', 'versions'
113
+
114
+ def versions
115
+ list = self.class.service_versions(self.class.get_region(options))
116
+ puts make_result_str(make_result_data(list, options), options)
117
+ end
118
+
100
119
  protected
101
120
 
102
121
  def execute(cmd, *args)
103
122
  data = run(cmd, args, options)
104
- puts make_result_str(data, false, options)
123
+ puts make_result_str(data, options)
105
124
  Idcf::Cli::Lib::Util::CliLogger.delete
106
125
  Idcf::Cli::Lib::Util::CliLogger.cleaning(options)
107
- rescue => e
126
+ rescue StandardError => e
108
127
  self.class.error_exit(e)
109
128
  end
110
129
 
@@ -202,26 +221,34 @@ module Idcf
202
221
 
203
222
  def make_result_data(data, o)
204
223
  format = output_format(o, '')
205
- table_flag = %w(csv table).include?(format)
224
+ table_flag = %w[csv table].include?(format)
206
225
  helper = Idcf::Cli::Lib::Convert::Helper.new
207
226
 
208
- if helper.filter_target?(o)
209
- result = helper.filter(data, o, table_flag)
210
- elsif table_flag
211
- result = make_table_data(data)
212
- else
213
- result = make_base_response
214
- result[:data] = data
227
+ return data_filter(data, o, table_flag) if helper.filter_target?(o)
228
+ if table_flag
229
+ return data.class == Hash ? make_table_data(data) : data
215
230
  end
231
+ result = make_base_response
232
+ result[:data] = data
216
233
  result
217
234
  end
218
235
 
236
+ def data_filter(data, o, table_flag)
237
+ helper = Idcf::Cli::Lib::Convert::Helper.new
238
+ data = make_field_data(data) if helper.only_filter_fields?(o)
239
+ [Hash, Array].include?(data.class) ? helper.filter(data, o, table_flag) : data
240
+ end
241
+
219
242
  # table data
220
243
  # @param data [Hash]
221
244
  # @return Hash
222
245
  def make_table_data(data)
223
246
  data
224
247
  end
248
+
249
+ def make_field_data(data)
250
+ data
251
+ end
225
252
  end
226
253
  end
227
254
  end