collect_first_word_of_case_menu 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f8af505cbffe44c84aed0e081698d6e80aa7503a14651db825d661da7fba4753
4
+ data.tar.gz: f3cd9008b0e3dcfe390c0113207b39c90c7e7504d17ab92ac16f28a5fdd3cb60
5
+ SHA512:
6
+ metadata.gz: de8f5ac7d8ba46c5d2f39a61c9837d1eb236fe61a2d4a4cae10d8eb250a423f701ba3ba3723a97155eb177c36c2307cc04b2fc360158076cbd216eb777c9fbf5
7
+ data.tar.gz: 17b319717bb70d5279773644cad7e8b70e2ab0d7482623f5eb769d287d6e4d7ef33319b1974522d6086c3af75364ff474d07b1196d0058dfd66ecc70c9c2566a
@@ -0,0 +1,44 @@
1
+ # =========================================================================== #
2
+ # Gemspec for Project CollectFirstWordOfCaseMenu.
3
+ # =========================================================================== #
4
+ Gem::Specification.new { |s|
5
+
6
+ s.name = 'collect_first_word_of_case_menu'
7
+ s.version = '0.0.7'
8
+ s.date = Time.now.strftime('%Y-%m-%d')
9
+
10
+ s.summary = <<-EOF
11
+
12
+ This class shall be able to collect all first entries
13
+ in a case menu.
14
+
15
+ If you have specific suggestions to make this gem more
16
+ useful for others, please drop me an email at:
17
+ shevegen@gmail.com
18
+ Thank you.
19
+ EOF
20
+
21
+ s.description = <<-EOF
22
+
23
+ This class shall be able to collect all first entries
24
+ in a case menu.
25
+
26
+ This library is called collect_first_word_of_case_menu
27
+ EOF
28
+
29
+ s.extra_rdoc_files = %w()
30
+
31
+ s.authors = ['Robert A. Heiler']
32
+ s.email = 'shevegen@gmail.com'
33
+ s.files = Dir.glob('**/*')
34
+ s.license = 'GPL-2.0'
35
+ s.homepage = 'http://rubygems.org/gems/collect_first_word_of_case_menu'
36
+
37
+ s.required_ruby_version = '>= '+RUBY_VERSION
38
+ s.required_rubygems_version = '>= '+Gem::VERSION
39
+ s.rubygems_version = '>= '+Gem::VERSION
40
+
41
+ s.add_dependency 'colours'
42
+ s.add_dependency 'convert_global_env'
43
+
44
+ }
@@ -0,0 +1,143 @@
1
+ #!/System/Index/bin/ruby -w
2
+ # Encoding: ISO-8859-1
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === CollectFirstWordOfCaseMenu
6
+ #
7
+ # This file will give us an Array of "when" words.
8
+ #
9
+ # Usage examples:
10
+ # GetFirstWordOfCaseMenu.new
11
+ # =========================================================================== #
12
+ begin
13
+ require 'colours'
14
+ rescue LoadError; end
15
+ require 'convert_global_env'
16
+
17
+ class CollectFirstWordOfCaseMenu # require 'collect_first_word_of_case_menu'; GetFirstWordOfCaseMenu.new
18
+
19
+ include Colours
20
+
21
+ # ========================================================================= #
22
+ # Test it via compile.rb.
23
+ # ========================================================================= #
24
+ DEFAULT_FILE = ENV['RBT'].to_s+'/compile.rb'
25
+
26
+ attr_reader :result # Has the results.
27
+
28
+ # ========================================================================= #
29
+ # === initialize
30
+ #
31
+ # The first argument specifies the .rb file in question from where we
32
+ # try to find the case/when structure.
33
+ # ========================================================================= #
34
+ def initialize(
35
+ this_file = nil,
36
+ run_already = true
37
+ )
38
+ reset
39
+ set_read_this_file(this_file)
40
+ run if run_already
41
+ end
42
+
43
+ # ========================================================================= #
44
+ # === reset
45
+ # ========================================================================= #
46
+ def reset
47
+ @result = []
48
+ @array_all_with_words = []
49
+ end
50
+
51
+ # ========================================================================= #
52
+ # === convert_env
53
+ # ========================================================================= #
54
+ def convert_env(i)
55
+ return ConvertGlobalEnv.convert(i) # Always return it.
56
+ end
57
+
58
+ # ========================================================================= #
59
+ # === set_read_this_file
60
+ # ========================================================================= #
61
+ def set_read_this_file(i = nil) # some symbols are special keyword instructions.
62
+ i = DEFAULT_FILE if i.nil?
63
+ case i
64
+ when :beautiful_menu
65
+ _ = '$RSRC/beautiful_url/lib/beautiful_url/menu/beautiful_menu.rb'
66
+ i = convert_env(_)
67
+ end
68
+ @read_this_file = i
69
+ end
70
+
71
+ # ========================================================================= #
72
+ # === read_in_the_dataset
73
+ # ========================================================================= #
74
+ def read_in_the_dataset
75
+ @data = File.readlines(@read_this_file).sort
76
+ end
77
+
78
+ # ========================================================================= #
79
+ # === add
80
+ # ========================================================================= #
81
+ def add(i)
82
+ if i.include? '/' # Assume we give a regex. In this case we do not continue.
83
+ else
84
+ @array_all_with_words << i
85
+ end
86
+ end
87
+ # === assign_result
88
+ def assign_result
89
+ @result = @array_all_with_words
90
+ end
91
+
92
+ # ========================================================================= #
93
+ # === report_result
94
+ # ========================================================================= #
95
+ def report_result
96
+ if @array_all_with_words.empty?
97
+ e 'Unfortunately we found no entry.'
98
+ else
99
+ e 'The results are:'
100
+ @array_all_with_words.each {|entry| e ' '+entry }
101
+ end
102
+ end
103
+
104
+ # ========================================================================= #
105
+ # === cleanup
106
+ # ========================================================================= #
107
+ def cleanup # get rid of some things.
108
+ remove_instance_variable(:@data)
109
+ end
110
+
111
+ # ========================================================================= #
112
+ # === work_through_dataset
113
+ # ========================================================================= #
114
+ def work_through_dataset
115
+ @data.sort.each {|line|
116
+ if line =~ /when /
117
+ line = line.strip
118
+ next if line.start_with? '#'
119
+ line = line.gsub(/when /,'')
120
+ splitted = line
121
+ splitted = splitted.split(',')[0] if splitted.include? ','
122
+ splitted = splitted.delete("'") if splitted.include? "'"
123
+ add splitted
124
+ end
125
+ }
126
+ end
127
+
128
+ # ========================================================================= #
129
+ # === run
130
+ # ========================================================================= #
131
+ def run # (run tag)
132
+ read_in_the_dataset
133
+ work_through_dataset
134
+ assign_result
135
+ cleanup
136
+ end
137
+
138
+ end
139
+
140
+ if __FILE__ == $PROGRAM_NAME
141
+ _ = CollectFirstWordOfCaseMenu.new(ARGV.first)
142
+ _.report_result
143
+ end # gword $RSRC/beautiful_url/lib/beautiful_url/beautiful_menu.rb
@@ -0,0 +1 @@
1
+ require 'collect_first_word_of_case_menu/collect_first_word_of_case_menu.rb'
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: collect_first_word_of_case_menu
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.7
5
+ platform: ruby
6
+ authors:
7
+ - Robert A. Heiler
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2019-05-03 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colours
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: convert_global_env
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: |2
42
+
43
+ This class shall be able to collect all first entries
44
+ in a case menu.
45
+
46
+ This library is called collect_first_word_of_case_menu
47
+ email: shevegen@gmail.com
48
+ executables: []
49
+ extensions: []
50
+ extra_rdoc_files: []
51
+ files:
52
+ - collect_first_word_of_case_menu.gemspec
53
+ - lib/collect_first_word_of_case_menu.rb
54
+ - lib/collect_first_word_of_case_menu/collect_first_word_of_case_menu.rb
55
+ homepage: http://rubygems.org/gems/collect_first_word_of_case_menu
56
+ licenses:
57
+ - GPL-2.0
58
+ metadata: {}
59
+ post_install_message:
60
+ rdoc_options: []
61
+ require_paths:
62
+ - lib
63
+ required_ruby_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 2.6.3
68
+ required_rubygems_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.0.3
73
+ requirements: []
74
+ rubygems_version: 3.0.3
75
+ signing_key:
76
+ specification_version: 4
77
+ summary: 'This class shall be able to collect all first entries in a case menu. If
78
+ you have specific suggestions to make this gem more useful for others, please drop
79
+ me an email at: shevegen@gmail.com Thank you.'
80
+ test_files: []