cliswitch 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cliswitch.rb +25 -8
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5f884b75767f531b219206e74ae7ecaceea9fc9b6605f0ddc08175283447e497
4
- data.tar.gz: ef07f732a488e51e9483a903c70c089df190018f0919aebed8ee33856654cb80
3
+ metadata.gz: 2ac2df2809fefe3c68dcb610044a686868a93e4d6f9c02d4261b79f4604dd71c
4
+ data.tar.gz: 20261ed4fbc24010f195ff49961726841e92d2858334114b344aeb2ee544f814
5
5
  SHA512:
6
- metadata.gz: 564f3153be079f12cda33df74bbe9b0aedd6166fbd36df55ea4f803189564adc407a34daa84c8195720a2da6d883f705fb1c7f273ce1768cd16efadc6da41498
7
- data.tar.gz: 426f9e35c603935b9d04d71156a581460b4287e957dc4c727d4d3c061614858550783d4e219a34a4365cf0db6936dbe48f780c72f70eb92864a4ce2fa2cb6ede
6
+ metadata.gz: f3cda1f5ba6ca766162c52c53f4482aa0883bc25564415447b8d9bb106b23fd9742cb7b46f298baf1fbf106c1b5f580d2fd32bc5d3d32408e9c83a5d6e514df2
7
+ data.tar.gz: 8b2e63bfa865c2b4bdf012a2f6deeb2956d3f91e30eee77b39167f1751bc2081127e7372d58cb9e526f62f0f61609646b06c8116e36c05a7b7bc6527fd075871
data/lib/cliswitch.rb CHANGED
@@ -2,7 +2,7 @@
2
2
  # File : cliswitch.rb
3
3
  # Authors : ccmywish <ccmywish@qq.com>
4
4
  # Created on : <2022-04-13>
5
- # Last modified : <2022-04-13>
5
+ # Last modified : <2022-04-14>
6
6
  #
7
7
  # cliswitch:
8
8
  #
@@ -12,7 +12,7 @@
12
12
 
13
13
  class CliSwitch
14
14
 
15
- VERSION = "0.2.1"
15
+ VERSION = "0.3.0"
16
16
 
17
17
  class Option
18
18
  attr_accessor :name,
@@ -53,14 +53,14 @@ class CliSwitch
53
53
  end
54
54
  end
55
55
 
56
-
56
+ # instance attribute
57
57
  attr_accessor :args
58
58
  attr_accessor :options
59
59
  attr_accessor :options_config
60
60
 
61
61
 
62
- def initialize(options_config)
63
- @options_config = options_config
62
+ def initialize
63
+ @options_config = self.class.class_options_config
64
64
  end
65
65
 
66
66
 
@@ -127,7 +127,8 @@ class CliSwitch
127
127
  end
128
128
 
129
129
 
130
- validate_mandatory_options()
130
+ # Not validate by default, because it's not necessary
131
+ # validate_mandatory_options()
131
132
 
132
133
  # Debug
133
134
  # puts "=> args:"
@@ -140,6 +141,22 @@ class CliSwitch
140
141
  end
141
142
 
142
143
 
144
+ #
145
+ # MyClass < CliSwitch
146
+ # option ...
147
+ # end
148
+ #
149
+ def self.option(...)
150
+ # A class instance variable for every subclass
151
+ @class_options_config ||= []
152
+ @class_options_config << Option.new(...)
153
+ end
154
+
155
+ def self.class_options_config
156
+ @class_options_config
157
+ end
158
+
159
+
143
160
  private
144
161
 
145
162
 
@@ -172,9 +189,9 @@ class CliSwitch
172
189
  end
173
190
  end
174
191
 
175
- end
192
+ end #end each loop
176
193
 
177
- end
194
+ end # end def validate_mandatory_options
178
195
 
179
196
 
180
197
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cliswitch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ccmywish
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-13 00:00:00.000000000 Z
11
+ date: 2022-04-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: 'cliswitch: cli option parse.
14
14
 
@@ -40,7 +40,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
40
40
  - !ruby/object:Gem::Version
41
41
  version: '0'
42
42
  requirements: []
43
- rubygems_version: 3.3.7
43
+ rubygems_version: 3.3.11
44
44
  signing_key:
45
45
  specification_version: 4
46
46
  summary: 'cliswitch: cli option parse'