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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 70fedddc9d95aeff60bcc2cc64610e71fd9d07e21ea517ae9617cf83911d07c0
4
- data.tar.gz: f7b10b35c4c1ed0a6d0315df716aea2f0b29b31fd3f4827e4aa1a98bdcd42c42
3
+ metadata.gz: fce8b584fc0cb3e00e6ca57644b75c9bf0b96b77a9b18e0367cd314c7a1c21fe
4
+ data.tar.gz: c647a09240a205623bb28da3240312fd395b64a2e64fb831cae418c0fae69659
5
5
  SHA512:
6
- metadata.gz: 98c57442b76dc53ff1a75cb45aeb9e227b204f97147f6f636648bd0bef76df2a0fbb09a4cccce04c80cb8bbc5225ddb41791e6e54b40a433989937c87b373c0c
7
- data.tar.gz: df6301e12d832c3e85123c0ea56eab41a3d521f0994e3fde71dd901b3071cee055ba9c72e9e0d8f81cfae363597685dae69dbb0521851e1988ba5d5a60b152fa
6
+ metadata.gz: 8676bc8e634bc3aff3c85fe38e38b1d7335a69dbc3114f0cf711b6fda79a446a650480169f7d2ab013a966efc08b8082a06f10a12cb03a8b3ae7531fc6b9b070
7
+ data.tar.gz: 9e508838fb9ab9207a39662212634d1e8a51386dd0b142f61c5fd689965c7c3d2564e4f5d928a5ef8037fcb3f31d47197f47cb3331e521065d87c481fd9a15c1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- particlecmd (0.1.0)
4
+ particlecmd (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/bin/console CHANGED
@@ -3,18 +3,22 @@
3
3
  require 'bundler/setup'
4
4
  require 'particlecmd'
5
5
 
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
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
- d.flag 'multiply', description: 'Multiply instead of adding'
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
- @collecting = true
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 << "#{p[:name]} "
80
+ s << "<#{p[:name]}> "
80
81
  end
81
82
  @flags.each do |f|
82
83
  s << "[--#{f[:name]}] "
@@ -1,3 +1,3 @@
1
1
  module ParticleCMD
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
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.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-03-26 00:00:00.000000000 Z
11
+ date: 2018-04-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler