hammer_cli 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -5
- data/config/cli_config.template.yml +12 -3
- data/doc/creating_apipie_commands.md +53 -56
- data/doc/creating_commands.md +25 -19
- data/doc/developer_docs.md +3 -2
- data/doc/development_tips.md +3 -3
- data/doc/i18n.md +3 -3
- data/doc/installation.md +24 -207
- data/doc/installation_deb.md +48 -0
- data/doc/installation_gem.md +30 -0
- data/doc/installation_rpm.md +53 -0
- data/doc/installation_source.md +31 -0
- data/doc/option_builders.md +77 -0
- data/doc/option_normalizers.md +5 -5
- data/doc/writing_a_plugin.md +9 -9
- data/lib/hammer_cli.rb +1 -0
- data/lib/hammer_cli/abstract.rb +21 -8
- data/lib/hammer_cli/apipie.rb +1 -2
- data/lib/hammer_cli/apipie/command.rb +37 -64
- data/lib/hammer_cli/apipie/option_builder.rb +69 -0
- data/lib/hammer_cli/apipie/options.rb +1 -61
- data/lib/hammer_cli/clamp.rb +15 -0
- data/lib/hammer_cli/i18n.rb +14 -2
- data/lib/hammer_cli/logger.rb +1 -1
- data/lib/hammer_cli/option_builder.rb +43 -0
- data/lib/hammer_cli/options/option_definition.rb +6 -0
- data/lib/hammer_cli/output/adapter/abstract.rb +2 -2
- data/lib/hammer_cli/output/adapter/base.rb +6 -3
- data/lib/hammer_cli/output/adapter/table.rb +19 -2
- data/lib/hammer_cli/output/definition.rb +4 -0
- data/lib/hammer_cli/output/fields.rb +9 -0
- data/lib/hammer_cli/output/formatters.rb +20 -8
- data/lib/hammer_cli/utils.rb +1 -1
- data/lib/hammer_cli/version.rb +1 -1
- data/locale/hammer-cli.pot +103 -79
- data/test/unit/abstract_test.rb +62 -0
- data/test/unit/apipie/command_test.rb +12 -197
- data/test/unit/apipie/option_builder_test.rb +110 -0
- data/test/unit/i18n_test.rb +50 -0
- data/test/unit/option_builder_test.rb +33 -0
- data/test/unit/output/adapter/abstract_test.rb +26 -3
- data/test/unit/output/adapter/base_test.rb +20 -3
- data/test/unit/output/adapter/csv_test.rb +2 -2
- data/test/unit/output/adapter/table_test.rb +24 -1
- data/test/unit/output/definition_test.rb +13 -0
- data/test/unit/output/formatters_test.rb +17 -1
- data/test/unit/utils_test.rb +1 -1
- metadata +101 -88
- data/lib/hammer_cli/apipie/read_command.rb +0 -41
- data/lib/hammer_cli/apipie/write_command.rb +0 -49
- data/test/unit/apipie/read_command_test.rb +0 -37
- data/test/unit/apipie/write_command_test.rb +0 -41
@@ -0,0 +1,33 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
require 'tempfile'
|
3
|
+
|
4
|
+
|
5
|
+
describe HammerCLI::OptionBuilderContainer do
|
6
|
+
|
7
|
+
let(:options) {
|
8
|
+
[
|
9
|
+
HammerCLI::Options::OptionDefinition.new(["--test"], "TEST", "test"),
|
10
|
+
HammerCLI::Options::OptionDefinition.new(["--test2"], "TEST2", "test2")
|
11
|
+
]
|
12
|
+
}
|
13
|
+
let(:container) { HammerCLI::OptionBuilderContainer.new }
|
14
|
+
|
15
|
+
it "collects options from contained builders" do
|
16
|
+
builder = Object.new
|
17
|
+
builder.stubs(:build).returns(options)
|
18
|
+
|
19
|
+
container.builders = [builder, builder]
|
20
|
+
container.build.must_equal options+options
|
21
|
+
end
|
22
|
+
|
23
|
+
it "passes build parameters from contained builders" do
|
24
|
+
params = {:param => :value}
|
25
|
+
builder = Object.new
|
26
|
+
builder.expects(:build).with(params).returns(options)
|
27
|
+
|
28
|
+
container.builders = [builder]
|
29
|
+
container.build(params)
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
|
@@ -11,7 +11,7 @@ describe HammerCLI::Output::Adapter::Abstract do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
class UnknownTestFormatter < HammerCLI::Output::Formatters::FieldFormatter
|
14
|
-
def format(data)
|
14
|
+
def format(data, field_params={})
|
15
15
|
data+'.'
|
16
16
|
end
|
17
17
|
|
@@ -52,7 +52,7 @@ describe HammerCLI::Output::Adapter::Abstract do
|
|
52
52
|
end
|
53
53
|
|
54
54
|
it "should print formatted message with parameters" do
|
55
|
-
proc { adapter.print_message("MESSAGE %{a}
|
55
|
+
proc { adapter.print_message("MESSAGE %{a}, %{b}", :a => 'A', :b => 'B') }.must_output(/.*MESSAGE A, B.*/, "")
|
56
56
|
end
|
57
57
|
|
58
58
|
end
|
@@ -87,10 +87,33 @@ describe HammerCLI::Output::Adapter::Abstract do
|
|
87
87
|
|
88
88
|
it "should print formatted message with parameters" do
|
89
89
|
proc {
|
90
|
-
adapter.print_error("MESSAGE %{a}
|
90
|
+
adapter.print_error("MESSAGE %{a}, %{b}", ["error %{a}", "error %{b}"], :a => 'A', :b => 'B')
|
91
91
|
}.must_output("", expected_formatted_output)
|
92
92
|
end
|
93
93
|
|
94
94
|
end
|
95
95
|
|
96
|
+
context "test data_for_field" do
|
97
|
+
let(:field) { Fields::Field.new(:path => [:field1]) }
|
98
|
+
|
99
|
+
it "returns nil if the record is nil" do
|
100
|
+
record = nil
|
101
|
+
assert_nil adapter.send(:data_for_field, field, record)
|
102
|
+
end
|
103
|
+
|
104
|
+
it "returns nil if the record is not a hash" do
|
105
|
+
record = []
|
106
|
+
assert_nil adapter.send(:data_for_field, field, record)
|
107
|
+
end
|
108
|
+
|
109
|
+
it "returns nil, if the data does not exist for the field" do
|
110
|
+
record = { :field2 => :value2 }
|
111
|
+
assert_nil adapter.send(:data_for_field, field, record)
|
112
|
+
end
|
113
|
+
|
114
|
+
it "returns the value, if data exists for the field" do
|
115
|
+
record = { :field1 => :value1, :field2 => :value2 }
|
116
|
+
assert_equal adapter.send(:data_for_field, field, record), :value1
|
117
|
+
end
|
118
|
+
end
|
96
119
|
end
|
@@ -14,7 +14,8 @@ describe HammerCLI::Output::Adapter::Base do
|
|
14
14
|
let(:address_city) { Fields::Field.new(:path => [:address, :city], :label => "City") }
|
15
15
|
let(:city) { Fields::Field.new(:path => [:city], :label => "City") }
|
16
16
|
let(:label_address) { Fields::Label.new(:path => [:address], :label => "Address") }
|
17
|
-
let(:
|
17
|
+
let(:num_contacts) { Fields::Collection.new(:path => [:contacts], :label => "Contacts") }
|
18
|
+
let(:contacts) { Fields::Collection.new(:path => [:contacts], :label => "Contacts", :numbered => false) }
|
18
19
|
let(:desc) { Fields::Field.new(:path => [:desc], :label => "Description") }
|
19
20
|
let(:contact) { Fields::Field.new(:path => [:contact], :label => "Contact") }
|
20
21
|
let(:params) { Fields::KeyValueList.new(:path => [:params], :label => "Parameters") }
|
@@ -108,8 +109,8 @@ describe HammerCLI::Output::Adapter::Base do
|
|
108
109
|
|
109
110
|
|
110
111
|
it "should print collection" do
|
111
|
-
|
112
|
-
fields = [
|
112
|
+
num_contacts.output_definition.append [desc, contact]
|
113
|
+
fields = [num_contacts]
|
113
114
|
|
114
115
|
expected_output = [
|
115
116
|
"Contacts: ",
|
@@ -123,6 +124,22 @@ describe HammerCLI::Output::Adapter::Base do
|
|
123
124
|
proc { adapter.print_collection(fields, data) }.must_output(expected_output)
|
124
125
|
end
|
125
126
|
|
127
|
+
it "should print unnumbered collection" do
|
128
|
+
contacts.output_definition.append [desc, contact]
|
129
|
+
fields = [contacts]
|
130
|
+
|
131
|
+
expected_output = [
|
132
|
+
"Contacts: ",
|
133
|
+
" Description: personal email",
|
134
|
+
" Contact: john.doe@doughnut.com",
|
135
|
+
" Description: telephone",
|
136
|
+
" Contact: 123456789",
|
137
|
+
"\n"
|
138
|
+
].join("\n")
|
139
|
+
|
140
|
+
proc { adapter.print_collection(fields, data) }.must_output(expected_output)
|
141
|
+
end
|
142
|
+
|
126
143
|
it "hides ids by default" do
|
127
144
|
fields = [id, name]
|
128
145
|
expected_output = [
|
@@ -47,7 +47,7 @@ describe HammerCLI::Output::Adapter::CSValues do
|
|
47
47
|
context "formatters" do
|
48
48
|
it "should apply formatters" do
|
49
49
|
class DotFormatter < HammerCLI::Output::Formatters::FieldFormatter
|
50
|
-
def format(data)
|
50
|
+
def format(data, field_params={})
|
51
51
|
'-DOT-'
|
52
52
|
end
|
53
53
|
end
|
@@ -59,7 +59,7 @@ describe HammerCLI::Output::Adapter::CSValues do
|
|
59
59
|
|
60
60
|
it "should not replace nil with empty string before it applies formatters" do
|
61
61
|
class NilFormatter < HammerCLI::Output::Formatters::FieldFormatter
|
62
|
-
def format(data)
|
62
|
+
def format(data, field_params={})
|
63
63
|
'NIL' if data.nil?
|
64
64
|
end
|
65
65
|
end
|
@@ -9,6 +9,7 @@ describe HammerCLI::Output::Adapter::Table do
|
|
9
9
|
let(:field_name) { Fields::Field.new(:path => [:fullname], :label => "Name") }
|
10
10
|
let(:field_firstname) { Fields::Field.new(:path => [:firstname], :label => "Firstname") }
|
11
11
|
let(:field_lastname) { Fields::Field.new(:path => [:lastname], :label => "Lastname") }
|
12
|
+
let(:field_long) { Fields::Field.new(:path => [:long], :label => "Full") }
|
12
13
|
|
13
14
|
let(:fields) {
|
14
15
|
[field_name]
|
@@ -119,7 +120,7 @@ describe HammerCLI::Output::Adapter::Table do
|
|
119
120
|
context "formatters" do
|
120
121
|
it "should apply formatters" do
|
121
122
|
class DotFormatter < HammerCLI::Output::Formatters::FieldFormatter
|
122
|
-
def format(data)
|
123
|
+
def format(data, field_params={})
|
123
124
|
'-DOT-'
|
124
125
|
end
|
125
126
|
end
|
@@ -128,6 +129,28 @@ describe HammerCLI::Output::Adapter::Table do
|
|
128
129
|
out, err = capture_io { adapter.print_collection(fields, data) }
|
129
130
|
out.must_match(/.*-DOT-.*/)
|
130
131
|
end
|
132
|
+
|
133
|
+
it "should not break formatting" do
|
134
|
+
class SliceFormatter < HammerCLI::Output::Formatters::FieldFormatter
|
135
|
+
def format(data, field_params={})
|
136
|
+
data[0..5]
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
adapter = HammerCLI::Output::Adapter::Table.new({}, { :Field => [ SliceFormatter.new ]})
|
141
|
+
|
142
|
+
expected_output = [
|
143
|
+
"------",
|
144
|
+
"FULL ",
|
145
|
+
"------",
|
146
|
+
"SomeVe",
|
147
|
+
"------",
|
148
|
+
""
|
149
|
+
].join("\n")
|
150
|
+
|
151
|
+
proc { adapter.print_collection([field_long], data) }.must_output(expected_output)
|
152
|
+
end
|
153
|
+
|
131
154
|
end
|
132
155
|
|
133
156
|
context "sort_columns" do
|
@@ -8,6 +8,19 @@ describe HammerCLI::Output::Definition do
|
|
8
8
|
let(:last_field) { definition.fields[-1] }
|
9
9
|
let(:field_count) { definition.fields.length }
|
10
10
|
|
11
|
+
describe "empty?" do
|
12
|
+
|
13
|
+
it "returns true for empty definition" do
|
14
|
+
definition.empty?.must_equal true
|
15
|
+
end
|
16
|
+
|
17
|
+
it "returns false for definition with fields" do
|
18
|
+
definition.fields << Fields::Field.new
|
19
|
+
definition.empty?.must_equal false
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
11
24
|
it "should be able to add field" do
|
12
25
|
definition.fields << Fields::Field.new
|
13
26
|
field_count.must_equal 1
|
@@ -34,7 +34,7 @@ end
|
|
34
34
|
describe HammerCLI::Output::Formatters::FormatterContainer do
|
35
35
|
|
36
36
|
class TestFormatter
|
37
|
-
def format(data)
|
37
|
+
def format(data, field_params={})
|
38
38
|
data+'.'
|
39
39
|
end
|
40
40
|
end
|
@@ -138,3 +138,19 @@ describe HammerCLI::Output::Formatters::LongTextFormatter do
|
|
138
138
|
end
|
139
139
|
|
140
140
|
end
|
141
|
+
|
142
|
+
describe HammerCLI::Output::Formatters::BooleanFormatter do
|
143
|
+
|
144
|
+
it "says yes for true like objects" do
|
145
|
+
formatter = HammerCLI::Output::Formatters::BooleanFormatter.new
|
146
|
+
formatter.format(true).must_equal "yes"
|
147
|
+
formatter.format("yes").must_equal "yes"
|
148
|
+
end
|
149
|
+
|
150
|
+
it "says no for false and nil and empty string" do
|
151
|
+
formatter = HammerCLI::Output::Formatters::BooleanFormatter.new
|
152
|
+
formatter.format(nil).must_equal "no"
|
153
|
+
formatter.format(false).must_equal "no"
|
154
|
+
formatter.format("").must_equal "no"
|
155
|
+
end
|
156
|
+
end
|
data/test/unit/utils_test.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hammer_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Bačovský
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-05-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clamp
|
@@ -171,14 +171,14 @@ dependencies:
|
|
171
171
|
requirements:
|
172
172
|
- - '>='
|
173
173
|
- !ruby/object:Gem::Version
|
174
|
-
version: 0.0.
|
174
|
+
version: 0.0.8
|
175
175
|
type: :runtime
|
176
176
|
prerelease: false
|
177
177
|
version_requirements: !ruby/object:Gem::Requirement
|
178
178
|
requirements:
|
179
179
|
- - '>='
|
180
180
|
- !ruby/object:Gem::Version
|
181
|
-
version: 0.0.
|
181
|
+
version: 0.0.8
|
182
182
|
description: |
|
183
183
|
Hammer cli provides universal extendable CLI interface for ruby apps
|
184
184
|
email: mbacovsk@redhat.com
|
@@ -186,107 +186,119 @@ executables:
|
|
186
186
|
- hammer
|
187
187
|
extensions: []
|
188
188
|
extra_rdoc_files:
|
189
|
-
- doc/
|
189
|
+
- doc/option_builders.md
|
190
|
+
- doc/design.uml
|
191
|
+
- doc/writing_a_plugin.md
|
192
|
+
- doc/installation_gem.md
|
193
|
+
- doc/option_normalizers.md
|
190
194
|
- doc/development_tips.md
|
195
|
+
- doc/i18n.md
|
196
|
+
- doc/creating_apipie_commands.md
|
191
197
|
- doc/developer_docs.md
|
198
|
+
- doc/design.png
|
192
199
|
- doc/creating_commands.md
|
193
|
-
- doc/
|
200
|
+
- doc/installation_source.md
|
201
|
+
- doc/installation_rpm.md
|
194
202
|
- doc/installation.md
|
195
|
-
- doc/
|
196
|
-
- doc/design.uml
|
197
|
-
- doc/writing_a_plugin.md
|
198
|
-
- doc/i18n.md
|
199
|
-
- config/cli_config.template.yml
|
203
|
+
- doc/installation_deb.md
|
200
204
|
- config/cli.modules.d/module_config_template.yml
|
205
|
+
- config/cli_config.template.yml
|
201
206
|
- README.md
|
202
207
|
files:
|
208
|
+
- lib/hammer_cli.rb
|
209
|
+
- lib/hammer_cli/clamp.rb
|
210
|
+
- lib/hammer_cli/options/option_definition.rb
|
211
|
+
- lib/hammer_cli/options/normalizers.rb
|
212
|
+
- lib/hammer_cli/logger.rb
|
213
|
+
- lib/hammer_cli/messages.rb
|
214
|
+
- lib/hammer_cli/main.rb
|
203
215
|
- lib/hammer_cli/connection.rb
|
216
|
+
- lib/hammer_cli/apipie.rb
|
217
|
+
- lib/hammer_cli/settings.rb
|
218
|
+
- lib/hammer_cli/completer.rb
|
219
|
+
- lib/hammer_cli/modules.rb
|
220
|
+
- lib/hammer_cli/exception_handler.rb
|
204
221
|
- lib/hammer_cli/logger_watch.rb
|
205
222
|
- lib/hammer_cli/i18n.rb
|
206
|
-
- lib/hammer_cli/apipie/
|
223
|
+
- lib/hammer_cli/apipie/command.rb
|
207
224
|
- lib/hammer_cli/apipie/resource.rb
|
208
|
-
- lib/hammer_cli/apipie/
|
225
|
+
- lib/hammer_cli/apipie/option_builder.rb
|
209
226
|
- lib/hammer_cli/apipie/options.rb
|
210
|
-
- lib/hammer_cli/apipie/command.rb
|
211
|
-
- lib/hammer_cli/logger.rb
|
212
|
-
- lib/hammer_cli/messages.rb
|
213
|
-
- lib/hammer_cli/exceptions.rb
|
214
|
-
- lib/hammer_cli/abstract.rb
|
215
|
-
- lib/hammer_cli/apipie.rb
|
216
227
|
- lib/hammer_cli/version.rb
|
217
|
-
- lib/hammer_cli/exception_handler.rb
|
218
|
-
- lib/hammer_cli/output.rb
|
219
|
-
- lib/hammer_cli/shell.rb
|
220
|
-
- lib/hammer_cli/modules.rb
|
221
228
|
- lib/hammer_cli/utils.rb
|
222
|
-
- lib/hammer_cli/
|
229
|
+
- lib/hammer_cli/exceptions.rb
|
230
|
+
- lib/hammer_cli/validator.rb
|
231
|
+
- lib/hammer_cli/output/adapter.rb
|
232
|
+
- lib/hammer_cli/output/dsl.rb
|
233
|
+
- lib/hammer_cli/output/record_collection.rb
|
234
|
+
- lib/hammer_cli/output/adapter/csv.rb
|
223
235
|
- lib/hammer_cli/output/adapter/base.rb
|
236
|
+
- lib/hammer_cli/output/adapter/table.rb
|
224
237
|
- lib/hammer_cli/output/adapter/abstract.rb
|
225
238
|
- lib/hammer_cli/output/adapter/silent.rb
|
226
|
-
- lib/hammer_cli/output/adapter/csv.rb
|
227
|
-
- lib/hammer_cli/output/definition.rb
|
228
|
-
- lib/hammer_cli/output/adapter.rb
|
229
|
-
- lib/hammer_cli/output/dsl.rb
|
230
239
|
- lib/hammer_cli/output/formatters.rb
|
231
|
-
- lib/hammer_cli/output/output.rb
|
232
240
|
- lib/hammer_cli/output/fields.rb
|
233
|
-
- lib/hammer_cli/output/
|
241
|
+
- lib/hammer_cli/output/output.rb
|
242
|
+
- lib/hammer_cli/output/definition.rb
|
234
243
|
- lib/hammer_cli/output/field_filter.rb
|
235
|
-
- lib/hammer_cli/
|
236
|
-
- lib/hammer_cli/
|
237
|
-
- lib/hammer_cli/completer.rb
|
238
|
-
- lib/hammer_cli/settings.rb
|
239
|
-
- lib/hammer_cli/validator.rb
|
244
|
+
- lib/hammer_cli/option_builder.rb
|
245
|
+
- lib/hammer_cli/output.rb
|
240
246
|
- lib/hammer_cli/exit_codes.rb
|
241
|
-
- lib/hammer_cli/
|
242
|
-
- lib/hammer_cli.rb
|
243
|
-
- test/unit/
|
244
|
-
- test/unit/
|
247
|
+
- lib/hammer_cli/shell.rb
|
248
|
+
- lib/hammer_cli/abstract.rb
|
249
|
+
- test/unit/abstract_test.rb
|
250
|
+
- test/unit/validator_test.rb
|
251
|
+
- test/unit/main_test.rb
|
252
|
+
- test/unit/options/field_filter_test.rb
|
253
|
+
- test/unit/options/option_definition_test.rb
|
254
|
+
- test/unit/options/normalizers_test.rb
|
255
|
+
- test/unit/settings_test.rb
|
256
|
+
- test/unit/exception_handler_test.rb
|
257
|
+
- test/unit/utils_test.rb
|
245
258
|
- test/unit/fixtures/json_input/valid.json
|
246
259
|
- test/unit/fixtures/json_input/invalid.json
|
260
|
+
- test/unit/fixtures/apipie/documented.json
|
261
|
+
- test/unit/fixtures/apipie/architectures.json
|
247
262
|
- test/unit/apipie/command_test.rb
|
248
|
-
- test/unit/apipie/
|
249
|
-
- test/unit/
|
250
|
-
- test/unit/
|
251
|
-
- test/unit/
|
252
|
-
- test/unit/completer_test.rb
|
253
|
-
- test/unit/utils_test.rb
|
254
|
-
- test/unit/exception_handler_test.rb
|
255
|
-
- test/unit/main_test.rb
|
256
|
-
- test/unit/test_helper.rb
|
257
|
-
- test/unit/modules_test.rb
|
258
|
-
- test/unit/abstract_test.rb
|
259
|
-
- test/unit/output/adapter/base_test.rb
|
263
|
+
- test/unit/apipie/option_builder_test.rb
|
264
|
+
- test/unit/i18n_test.rb
|
265
|
+
- test/unit/option_builder_test.rb
|
266
|
+
- test/unit/output/fields_test.rb
|
260
267
|
- test/unit/output/adapter/csv_test.rb
|
261
268
|
- test/unit/output/adapter/abstract_test.rb
|
269
|
+
- test/unit/output/adapter/base_test.rb
|
262
270
|
- test/unit/output/adapter/table_test.rb
|
263
|
-
- test/unit/output/formatters_test.rb
|
264
271
|
- test/unit/output/dsl_test.rb
|
265
|
-
- test/unit/output/definition_test.rb
|
266
272
|
- test/unit/output/output_test.rb
|
267
|
-
- test/unit/output/
|
273
|
+
- test/unit/output/formatters_test.rb
|
268
274
|
- test/unit/output/record_collection_test.rb
|
269
|
-
- test/unit/
|
270
|
-
- test/unit/
|
271
|
-
- test/unit/
|
275
|
+
- test/unit/output/definition_test.rb
|
276
|
+
- test/unit/completer_test.rb
|
277
|
+
- test/unit/history_test.rb
|
278
|
+
- test/unit/modules_test.rb
|
279
|
+
- test/unit/test_helper.rb
|
272
280
|
- test/unit/connection_test.rb
|
273
|
-
- test/unit/settings_test.rb
|
274
281
|
- bin/hammer
|
275
|
-
- doc/
|
282
|
+
- doc/option_builders.md
|
283
|
+
- doc/design.uml
|
284
|
+
- doc/writing_a_plugin.md
|
285
|
+
- doc/installation_gem.md
|
286
|
+
- doc/option_normalizers.md
|
276
287
|
- doc/development_tips.md
|
288
|
+
- doc/i18n.md
|
289
|
+
- doc/creating_apipie_commands.md
|
277
290
|
- doc/developer_docs.md
|
291
|
+
- doc/design.png
|
278
292
|
- doc/creating_commands.md
|
279
|
-
- doc/
|
293
|
+
- doc/installation_source.md
|
294
|
+
- doc/installation_rpm.md
|
280
295
|
- doc/installation.md
|
281
|
-
- doc/
|
282
|
-
- doc/design.uml
|
283
|
-
- doc/writing_a_plugin.md
|
284
|
-
- doc/i18n.md
|
285
|
-
- config/cli_config.template.yml
|
296
|
+
- doc/installation_deb.md
|
286
297
|
- config/cli.modules.d/module_config_template.yml
|
287
|
-
-
|
298
|
+
- config/cli_config.template.yml
|
288
299
|
- locale/hammer-cli.pot
|
289
300
|
- locale/Makefile
|
301
|
+
- locale/zanata.xml
|
290
302
|
- LICENSE
|
291
303
|
- README.md
|
292
304
|
- hammer_cli_complete
|
@@ -310,40 +322,41 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
310
322
|
version: '0'
|
311
323
|
requirements: []
|
312
324
|
rubyforge_project:
|
313
|
-
rubygems_version: 2.
|
325
|
+
rubygems_version: 2.1.11
|
314
326
|
signing_key:
|
315
327
|
specification_version: 4
|
316
328
|
summary: Universal command-line interface
|
317
329
|
test_files:
|
318
|
-
- test/unit/
|
319
|
-
- test/unit/
|
330
|
+
- test/unit/abstract_test.rb
|
331
|
+
- test/unit/validator_test.rb
|
332
|
+
- test/unit/main_test.rb
|
333
|
+
- test/unit/options/field_filter_test.rb
|
334
|
+
- test/unit/options/option_definition_test.rb
|
335
|
+
- test/unit/options/normalizers_test.rb
|
336
|
+
- test/unit/settings_test.rb
|
337
|
+
- test/unit/exception_handler_test.rb
|
338
|
+
- test/unit/utils_test.rb
|
320
339
|
- test/unit/fixtures/json_input/valid.json
|
321
340
|
- test/unit/fixtures/json_input/invalid.json
|
341
|
+
- test/unit/fixtures/apipie/documented.json
|
342
|
+
- test/unit/fixtures/apipie/architectures.json
|
322
343
|
- test/unit/apipie/command_test.rb
|
323
|
-
- test/unit/apipie/
|
324
|
-
- test/unit/
|
325
|
-
- test/unit/
|
326
|
-
- test/unit/
|
327
|
-
- test/unit/completer_test.rb
|
328
|
-
- test/unit/utils_test.rb
|
329
|
-
- test/unit/exception_handler_test.rb
|
330
|
-
- test/unit/main_test.rb
|
331
|
-
- test/unit/test_helper.rb
|
332
|
-
- test/unit/modules_test.rb
|
333
|
-
- test/unit/abstract_test.rb
|
334
|
-
- test/unit/output/adapter/base_test.rb
|
344
|
+
- test/unit/apipie/option_builder_test.rb
|
345
|
+
- test/unit/i18n_test.rb
|
346
|
+
- test/unit/option_builder_test.rb
|
347
|
+
- test/unit/output/fields_test.rb
|
335
348
|
- test/unit/output/adapter/csv_test.rb
|
336
349
|
- test/unit/output/adapter/abstract_test.rb
|
350
|
+
- test/unit/output/adapter/base_test.rb
|
337
351
|
- test/unit/output/adapter/table_test.rb
|
338
|
-
- test/unit/output/formatters_test.rb
|
339
352
|
- test/unit/output/dsl_test.rb
|
340
|
-
- test/unit/output/definition_test.rb
|
341
353
|
- test/unit/output/output_test.rb
|
342
|
-
- test/unit/output/
|
354
|
+
- test/unit/output/formatters_test.rb
|
343
355
|
- test/unit/output/record_collection_test.rb
|
344
|
-
- test/unit/
|
345
|
-
- test/unit/
|
346
|
-
- test/unit/
|
356
|
+
- test/unit/output/definition_test.rb
|
357
|
+
- test/unit/completer_test.rb
|
358
|
+
- test/unit/history_test.rb
|
359
|
+
- test/unit/modules_test.rb
|
360
|
+
- test/unit/test_helper.rb
|
347
361
|
- test/unit/connection_test.rb
|
348
|
-
- test/unit/settings_test.rb
|
349
362
|
has_rdoc:
|