grouse 1.1.3 → 1.1.5

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/enaga +98 -0
  3. data/grouse.gemspec +1 -0
  4. data/lib/grouse.rb +38 -1
  5. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2a408b5f2f04f5a71fd5e2eebf86b6230d2f52747f48037eb280138b2d592a68
4
- data.tar.gz: d67cd8de39fe33d369eb1554e6bd18823ec622a8c33625f9f114e9067bc5bf1c
3
+ metadata.gz: deb7083e52ee9e488ea54f05d0d34785a1a16b6cdc1263a5a18db508e2735eb4
4
+ data.tar.gz: 1b4662d9d8aa5b3f1ba4035fe284e4a0192f29c4b7af09e72dce5178cafc07d9
5
5
  SHA512:
6
- metadata.gz: 0b777eb0d4dc730da941341a9382ab18cf1c59c9937a5d18076d1e16687f4860ed8b41fb5d42d360cfe7837408e26ab8065bd47af2d977f1c1d8c56a63022d66
7
- data.tar.gz: '0929ae6436d59ffb5b3b80af72d33289596d2b9f937285eef891bb813bb26653f9e2ebcd30e79e3f93dd8800095ff7535396bb7f0bcc5e58f30dc8d40273f6d8'
6
+ metadata.gz: be3cb4f26f2e69c222554007247908202735695be0f345c3702405596eadbdeba0c6107fc906431e1e259bf3c606f0e5a419679c66ba86ce9fe2a4b2322e9ad5
7
+ data.tar.gz: 1de4c9cef8f0dfb9efea6e29b273c8389e81440778d1a2e8a67c9704ba458f8d3e58f18af2b2776187567794d4ee9488ad04b834be376a51241b942bc7cd8c67
data/bin/enaga ADDED
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+ # vim: filetype=ruby
4
+
5
+ require 'socket'
6
+ require 'grouse'
7
+ require 'tanraku'
8
+
9
+ # Enaga core in Grouse/lib
10
+ class Enaga
11
+ def self.udp_socket
12
+ udp = UDPSocket.new
13
+ udp.connect("128.0.0.0", 7)
14
+ adrs = Socket.unpack_sockaddr_in(udp.getsockname)[1]
15
+ udp.close
16
+ adrs
17
+ end
18
+
19
+ def self.list_socket
20
+ Socket.ip_address_list.find do |intf|
21
+ intf.ipv4? && !intf.ipv4_loopback? && !intf.ipv4_multicast?
22
+ end.ip_address
23
+ end
24
+
25
+ def self.eq_socket
26
+ Socket.ip_address_list.find do |ai|
27
+ ai.ipv4? && !ai.ipv4_loopback?
28
+ end.ip_address
29
+ end
30
+
31
+ def self.koyomi
32
+ dt = Time.new.getlocal('+09:00')
33
+ week = %w(日 月 火 水 木 金 土)[dt.wday]
34
+ himekuri = "#{dt.year}年" + "#{dt.month}月" + "#{dt.day}日" + ' : '.to_s + "#{dt.hour}時"+"#{dt.min}分"+"#{dt.sec}秒" + ' : '.to_s + week + "曜日"
35
+ himekuri
36
+ end
37
+
38
+ def self.version
39
+ puts 'Enaga core in Grouse VERSION: ' + core_version
40
+ end
41
+
42
+ def self.help
43
+ puts 'HELP'.center(60, '-')
44
+ puts ''
45
+ puts 'Enaga'
46
+ puts ''
47
+ Enaga.version
48
+ puts ''
49
+ puts 'Enaga -a'
50
+ puts ''
51
+ puts Enaga.udp_socket
52
+ puts ''
53
+ puts 'Enaga -b'
54
+ puts ''
55
+ puts Enaga.list_socket
56
+ puts ''
57
+ puts 'Enaga -c'
58
+ puts ''
59
+ puts Enaga.eq_socket
60
+ puts ''
61
+ puts 'Enaga -d'
62
+ puts ''
63
+ puts Enaga.koyomi
64
+ puts ''
65
+ puts 'HELP'.center(60, '-')
66
+ end
67
+ end
68
+
69
+ one = ARGV[0]
70
+
71
+ a = /\A[-][a]\z/
72
+ b = /\A[-][b]\z/
73
+ c = /\A[-][c]\z/
74
+ d = /\A[-][d]\z/
75
+ h = /\A[-][h]\z/
76
+
77
+ begin
78
+ if one.nil?
79
+ Enaga.version
80
+ elsif one.match?(a)
81
+ puts Enaga.udp_socket
82
+ elsif one.match?(b)
83
+ puts Enaga.list_socket
84
+ elsif one.match?(c)
85
+ puts Enaga.eq_socket
86
+ elsif one.match?(d)
87
+ puts Enaga.koyomi
88
+ elsif one.match?(h)
89
+ Enaga.help
90
+ end
91
+ rescue Exception => e
92
+ puts e.backtrace
93
+ tanraku_execute
94
+ ensure
95
+ GC.auto_compact
96
+ end
97
+
98
+ __END__
data/grouse.gemspec CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
15
15
  ]
16
16
  # Ignore files in mini_test and mini_unit folder.
17
17
  s.files = `git ls-files -z`.split("\x0")
18
+ s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
19
  s.homepage = "https://github.com/takkii/grouse"
19
20
  s.licenses = ["MIT"]
20
21
  s.require_paths = ["lib"]
data/lib/grouse.rb CHANGED
@@ -74,9 +74,46 @@ module Grouse
74
74
  end
75
75
  end
76
76
 
77
+ def validation_check(card_naming, members_card, equal_password)
78
+ begin
79
+ card_name = card_naming
80
+ memberscard = members_card
81
+ member = File.expand_path(memberscard + card_name)
82
+ eq_pass = equal_password
83
+
84
+ unless File.exist?(member)
85
+ puts 'Not found ' + card_name.to_s + ', Exec tanraku.'
86
+ tanraku_execute
87
+ else
88
+ File.open(member) do |f|
89
+ while (name = f.gets)
90
+ name_c = name.chomp
91
+ unless name_c =~ /#{eq_pass}/o
92
+ puts 'No, Match Word in ' + card_name.to_s
93
+ exit!
94
+ else
95
+ puts "Match word contain #{eq_pass} in #{card_name}"
96
+ return
97
+ end
98
+ end
99
+ if f.eof?
100
+ f.close
101
+ elsif !f.eof
102
+ tanraku_execute
103
+ end
104
+ end
105
+ end
106
+ rescue StandardError => a
107
+ puts a.backtrace
108
+ tanraku_execute
109
+ ensure
110
+ GC.auto_compact
111
+ end
112
+ end
113
+
77
114
  # grouse version
78
115
  def core_version
79
- '1.1.3'.to_s
116
+ '1.1.5'.to_s
80
117
  end
81
118
  end
82
119
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grouse
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takayuki Kamiyama
@@ -25,7 +25,8 @@ dependencies:
25
25
  version: '4.0'
26
26
  description: In a way quasi AI program, automatic decision in key or value etc.
27
27
  email: karuma.reason@gmail.com
28
- executables: []
28
+ executables:
29
+ - enaga
29
30
  extensions: []
30
31
  extra_rdoc_files:
31
32
  - LICENSE.txt
@@ -34,6 +35,7 @@ files:
34
35
  - Gemfile
35
36
  - LICENSE.txt
36
37
  - README.md
38
+ - bin/enaga
37
39
  - grouse.gemspec
38
40
  - images/grouse.gif
39
41
  - lib/grouse.rb