idcfcloud 0.2.2 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.codeclimate.yml +12 -0
- data/.rubocop.yml +12 -2
- data/README.md +30 -12
- data/idcfcloud.gemspec +12 -12
- data/lib/idcf/cli/command/morio.rb +4 -4
- data/lib/idcf/cli/conf/conf.yml +0 -6
- data/lib/idcf/cli/conf/const.rb +32 -29
- data/lib/idcf/cli/controller/base.rb +50 -23
- data/lib/idcf/cli/controller/compute.rb +15 -2
- data/lib/idcf/cli/controller/extend/command.rb +25 -2
- data/lib/idcf/cli/controller/extend/search_module.rb +0 -10
- data/lib/idcf/cli/controller/extend/util.rb +12 -0
- data/lib/idcf/cli/controller/include/client.rb +1 -1
- data/lib/idcf/cli/controller/include/command.rb +1 -1
- data/lib/idcf/cli/controller/include/util.rb +3 -5
- data/lib/idcf/cli/controller/include/validate.rb +1 -1
- data/lib/idcf/cli/extend/configure.rb +2 -4
- data/lib/idcf/cli/extend/update.rb +21 -21
- data/lib/idcf/cli/extend/update_file.rb +21 -10
- data/lib/idcf/cli/gem_ext/idcf/json_hyper_schema/expands/link_info_base_extension.rb +25 -9
- data/lib/idcf/cli/gem_ext/thor/init_util.rb +6 -3
- data/lib/idcf/cli/index.rb +17 -5
- data/lib/idcf/cli/lib/api.rb +5 -4
- data/lib/idcf/cli/lib/configure.rb +2 -2
- data/lib/idcf/cli/lib/convert/filter/field_filter.rb +9 -12
- data/lib/idcf/cli/lib/convert/filter/json_path_filter.rb +1 -1
- data/lib/idcf/cli/lib/convert/formatter/base.rb +1 -2
- data/lib/idcf/cli/lib/convert/formatter/csv_format.rb +15 -32
- data/lib/idcf/cli/lib/convert/formatter/json_format.rb +1 -1
- data/lib/idcf/cli/lib/convert/formatter/table_format.rb +2 -2
- data/lib/idcf/cli/lib/convert/formatter/xml_format.rb +1 -1
- data/lib/idcf/cli/lib/convert/helper.rb +16 -5
- data/lib/idcf/cli/lib/document.rb +45 -0
- data/lib/idcf/cli/lib/util/cli_file.rb +1 -1
- data/lib/idcf/cli/lib/util/cli_logger.rb +3 -3
- data/lib/idcf/cli/lib/util/ini_conf.rb +2 -2
- data/lib/idcf/cli/lib/util/input.rb +40 -5
- data/lib/idcf/cli/lib/util/yml_conf.rb +1 -1
- data/lib/idcf/cli/service/base.rb +6 -6
- data/lib/idcf/cli/service/ilb/base_server_for_protocol.rb +22 -18
- data/lib/idcf/cli/validate/custom/month_check_validator.rb +1 -1
- data/lib/idcf/cli/validate/custom/require_relation_validator.rb +2 -2
- data/lib/idcf/cli/validate/define/base.rb +3 -2
- data/lib/idcf/cli/version.rb +1 -1
- metadata +55 -68
- data/lib/idcf/cli/controller/cdn.rb +0 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2e85df53cf877b508edb0741ace4be89179fcd6b7186df2323a7d992dc91e53e
|
4
|
+
data.tar.gz: 9fb184070e033ad9fb6472a80eff05ff1d44a2cadde499afd8b53ad5868139a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b1f4a11375d35f81b6abc8dcbeb477bec8c5a3325fa92d334b233adf9e2cb2910d68d6f797084ce6788164df08386185cb118035be2e0609a4e5454efb8bba3
|
7
|
+
data.tar.gz: 7581a8ff47eef3af7a155c0faf9187580d3b3bb46f855a7bb7e26b8b13b6b379013e6510fb69f8527487926eb74542ce190e18bc2521884cfb9af0495353cbd5
|
data/.codeclimate.yml
CHANGED
@@ -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
|
data/.rubocop.yml
CHANGED
@@ -28,7 +28,7 @@ LineLength:
|
|
28
28
|
Exclude:
|
29
29
|
- 'test/**/*'
|
30
30
|
Style/ClassLength:
|
31
|
-
Max:
|
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 |
|
59
|
-
| fields |
|
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
|
-
###
|
79
|
-
|
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 )
|
data/idcfcloud.gemspec
CHANGED
@@ -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', '
|
28
|
-
spec.add_development_dependency 'rake', '
|
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', '
|
33
|
-
spec.add_dependency 'activesupport', '
|
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 '
|
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 = <<-
|
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
|
-
|
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}
|
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
|
data/lib/idcf/cli/conf/conf.yml
CHANGED
data/lib/idcf/cli/conf/const.rb
CHANGED
@@ -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
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
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
|
19
|
-
VALIDATOR_DIR_PATH
|
20
|
-
CODE_CONF_PATH
|
21
|
-
USER_CONF_PATH
|
22
|
-
USER_CONF_GLOBAL
|
23
|
-
REGIONS
|
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
|
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
|
43
|
-
CMD_FILE_DIR
|
44
|
-
CMD_FILE_EXT
|
45
|
-
SERVICE_PATH
|
46
|
-
TEMPLATE_DIR
|
47
|
-
OUT_DIR
|
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
|
53
|
-
LOG_FILE_NAME
|
54
|
-
LOG_LEVEL
|
55
|
-
CLASSIFY_RULE
|
56
|
-
%w
|
57
|
-
%w
|
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
|
-
|
39
|
+
aliases: '-j',
|
40
|
+
desc: 'data filter json_path'
|
39
41
|
class_option :fields,
|
40
|
-
|
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
|
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
|
-
# @
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
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,
|
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
|
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
|
-
|
210
|
-
|
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
|