grouse 1.1.4 → 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 +1 -1
  5. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 554f9c2f1a1c056f04fdb399522775b460c46321691c86110218c3fad6b12595
4
- data.tar.gz: f41b9f7f301bb603bb3b49886e6e2588a1fe0708617a4f63d886a4d479e2474f
3
+ metadata.gz: deb7083e52ee9e488ea54f05d0d34785a1a16b6cdc1263a5a18db508e2735eb4
4
+ data.tar.gz: 1b4662d9d8aa5b3f1ba4035fe284e4a0192f29c4b7af09e72dce5178cafc07d9
5
5
  SHA512:
6
- metadata.gz: a17cfa8c92f57e5b715f68523e890d784515d1734ece8acb0d25b800bce000af59c7af5d0e76951e242b2e86530e6e7912ac32c5a6c21d02389911d948ffb7dc
7
- data.tar.gz: 541103a446b0adc625be6a6b67fc69d02590ba0d6aec4797dc8fa3310ad62f75b4160208c447a812eabefe0fef56274c51468357c6168a5763d17e4f280e4c0f
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
@@ -113,7 +113,7 @@ module Grouse
113
113
 
114
114
  # grouse version
115
115
  def core_version
116
- '1.1.4'.to_s
116
+ '1.1.5'.to_s
117
117
  end
118
118
  end
119
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.4
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