particlecmd 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/bin/console +13 -9
- data/lib/particlecmd/definition.rb +5 -4
- data/lib/particlecmd/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fce8b584fc0cb3e00e6ca57644b75c9bf0b96b77a9b18e0367cd314c7a1c21fe
|
4
|
+
data.tar.gz: c647a09240a205623bb28da3240312fd395b64a2e64fb831cae418c0fae69659
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8676bc8e634bc3aff3c85fe38e38b1d7335a69dbc3114f0cf711b6fda79a446a650480169f7d2ab013a966efc08b8082a06f10a12cb03a8b3ae7531fc6b9b070
|
7
|
+
data.tar.gz: 9e508838fb9ab9207a39662212634d1e8a51386dd0b142f61c5fd689965c7c3d2564e4f5d928a5ef8037fcb3f31d47197f47cb3331e521065d87c481fd9a15c1
|
data/Gemfile.lock
CHANGED
data/bin/console
CHANGED
@@ -3,18 +3,22 @@
|
|
3
3
|
require 'bundler/setup'
|
4
4
|
require 'particlecmd'
|
5
5
|
|
6
|
-
|
7
|
-
d.positional 'a', description: 'First value'
|
8
|
-
d.positional 'b', description: 'Second value'
|
9
|
-
|
10
|
-
d.collect_extra
|
6
|
+
#$sample = ParticleCMD::Definition.new 'add' do |d|
|
7
|
+
# d.positional 'a', description: 'First value'
|
8
|
+
# d.positional 'b', description: 'Second value'
|
9
|
+
#
|
10
|
+
# d.collect_extra
|
11
|
+
#
|
12
|
+
# d.flag 'multiply', description: 'Multiply instead of adding'
|
13
|
+
#
|
14
|
+
# d.option 'divide', argname: 'X', description: 'Divide the result by X'
|
15
|
+
#end
|
11
16
|
|
12
|
-
|
13
|
-
|
14
|
-
d.option 'divide', argname: 'X', description: 'Divide the result by X'
|
15
|
-
end
|
17
|
+
$sample = ParticleCMD::Definition.from_string 'add', 'a b -multiply -divide=X ...'
|
18
|
+
puts $sample.inspect
|
16
19
|
|
17
20
|
require 'shellwords'
|
21
|
+
|
18
22
|
puts ($sample.match ParticleCMD::Info.new Shellwords.split '1 2 3 \\\' 4 5 "6 7\' 8" --multiply --divide=123').inspect
|
19
23
|
|
20
24
|
require 'irb'
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class ParticleCMD::Definition
|
2
|
-
attr_accessor :name
|
2
|
+
attr_accessor :name, :positionals, :flags, :options, :collecting
|
3
3
|
|
4
4
|
def initialize(name)
|
5
5
|
@name = name
|
@@ -12,9 +12,10 @@ class ParticleCMD::Definition
|
|
12
12
|
|
13
13
|
def self.from_string(name, string)
|
14
14
|
d = new name do end
|
15
|
-
string.split.each do |word|
|
15
|
+
string.split(' ').each do |word|
|
16
|
+
puts word == '...'
|
16
17
|
if word == '...'
|
17
|
-
|
18
|
+
d.collecting = true
|
18
19
|
elsif word[0] == '-'
|
19
20
|
i = word.match(/-+(.+?)(=(.+))?$/)
|
20
21
|
if i[3]
|
@@ -76,7 +77,7 @@ class ParticleCMD::Definition
|
|
76
77
|
s = ''
|
77
78
|
s << "#{@name} " if include_name
|
78
79
|
@positionals.each do |p|
|
79
|
-
s << "
|
80
|
+
s << "<#{p[:name]}> "
|
80
81
|
end
|
81
82
|
@flags.each do |f|
|
82
83
|
s << "[--#{f[:name]}] "
|
data/lib/particlecmd/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: particlecmd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nickolay Ilyushin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|