dummy_parser 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2b61aa2666e9359f58e67749cd21940963c5de3dd52dee0d38f89d14b4befef8
4
+ data.tar.gz: 36093095634a48dfd324a0ac9a8d6667a990f87893e22d4ae854682f34dae5da
5
+ SHA512:
6
+ metadata.gz: 8c5cecd47d3b7d7e12c0e43ffbd456453efa15db5d82c3a1fdd4403e7f8e5e1c3975f03b445ce68491ec5c949a9b741fa605ce8152fb66827cb2d62a32c2a059
7
+ data.tar.gz: '05896b553f96cfc3e501941d18990ad62912d1cd3d6b1fdbfb45bb4b2d6209ce176f035ca9ec5ec6d4dea57d2d9d39d2eb2f8edac117e52a1e8f82b80735897e'
data/.gitignore ADDED
@@ -0,0 +1,2 @@
1
+ Gemfile.lock
2
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,3 @@
1
+ require 'bundler'
2
+
3
+ gemspec
data/README.md ADDED
@@ -0,0 +1 @@
1
+ ## Simple project for showcasing capabilities of Ruby's 'optparser' module
data/bin/dummy_parser ADDED
@@ -0,0 +1,46 @@
1
+ #! /usr/bin/env ruby
2
+ # frozen_sting_literal: true
3
+
4
+ require 'dummy_parser'
5
+ require 'optparse'
6
+
7
+ options = {}
8
+
9
+ OptionParser.new do |opts|
10
+ opts.banner = 'Dummy program showcasing optparse module'
11
+ opts.program_name = 'Dummy Parser'
12
+ opts.version = DummyParser::VERSION
13
+ opts.on('-v', '--version', 'Prints the current version of dummy parser') do
14
+ puts(opts.version)
15
+ end
16
+ opts.on('-h', '--help', 'Prints this help message') do
17
+ puts(opts)
18
+ end
19
+ # Text input
20
+ opts.on('-g [USER]', '--greet [USER]', 'Greets the user before exiting') do |user|
21
+ puts("Hello #{user || 'User'}!")
22
+ end
23
+ # Numeric input with = sign
24
+ opts.on('-n=[NUM]', '--number=[NUM]', 'Prints the happy number') do |happy|
25
+ puts("The happy number is #{happy}")
26
+ end
27
+ # Boolean input
28
+ opts.on('-s', '--[no-]smile', 'Determines the mood of the printed face') do |smile|
29
+ puts(": - #{ smile ? ')' : '(' }")
30
+ end
31
+
32
+ # Mandatory Args:
33
+ opts.on('-l LIKE', '--like LIKE', TrueClass, 'Tell me if you enjoyed this article') do |like|
34
+ puts("#{like ? 'Thanks' : 'Apologies' }")
35
+ end
36
+
37
+ # Aborting :
38
+ opts.on('--abort', 'Stops the program') do
39
+ opts.abort('Aborting...')
40
+ end
41
+
42
+ # Empty param
43
+ opts.on('-b')
44
+ end.parse!(ARGV, into: options)
45
+
46
+ puts(options)
@@ -0,0 +1,14 @@
1
+ require_relative 'lib/dummy_parser/version'
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'dummy_parser'
5
+ spec.version = DummyParser::VERSION
6
+ spec.author = 'Jan Taras'
7
+ spec.email = 'jan.taras29@gmail.com'
8
+ spec.summary = 'Dummy project showcasing the optparse module'
9
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
10
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
11
+ end
12
+ spec.bindir = 'bin'
13
+ spec.executables = 'dummy_parser'
14
+ end
@@ -0,0 +1 @@
1
+ require 'dummy_parser/version'
@@ -0,0 +1,3 @@
1
+ module DummyParser
2
+ VERSION = '1.0.1'
3
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dummy_parser
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Jan Taras
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-08-06 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email: jan.taras29@gmail.com
15
+ executables:
16
+ - dummy_parser
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - Gemfile
22
+ - README.md
23
+ - bin/dummy_parser
24
+ - dummy_parser.gemspec
25
+ - lib/dummy_parser.rb
26
+ - lib/dummy_parser/version.rb
27
+ homepage:
28
+ licenses: []
29
+ metadata: {}
30
+ post_install_message:
31
+ rdoc_options: []
32
+ require_paths:
33
+ - lib
34
+ required_ruby_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubygems_version: 3.0.3
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: Dummy project showcasing the optparse module
49
+ test_files: []