sourcebin 0.1.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.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/sourcebin.rb +108 -0
  3. metadata +105 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b70978ef2c3c5c2e2aeee091c93ae6c971ec14d2f0e3c29c481548c70bd52b70
4
+ data.tar.gz: 45aa7d8d91a15cdc6b876b21fd51339e9dda0c78f26c91f416fcc9e26243c808
5
+ SHA512:
6
+ metadata.gz: 41de93505c8961413d298be311fffbb65b991c3cfad1fedcbe0c5ac26e0023fbb944c89c46d015cb95608a696124e806a21661d4945f61898bb19f53ee5b40de
7
+ data.tar.gz: 5952e95b56d72598468f30efc05145f3589486f2c999e5120b09079cd03c385c176c439cad5f1f45e31818face171c00e4d2059285f0e755da337d283422e85b
@@ -0,0 +1,108 @@
1
+ require "uri"
2
+ require "net/http"
3
+ require "json"
4
+ require "colorize"
5
+
6
+ module Sourcebin
7
+
8
+ $base_url = "https://sourceb.in/"
9
+ $domain = $base_url.gsub("https://","").gsub('/','')
10
+
11
+ def self.write(name = "file.rb",code)
12
+ url = URI($base_url + "/api/bins")
13
+ form = {
14
+ files: [name: name, content: code, languageId: 326]
15
+ }
16
+ https = Net::HTTP.new(url.host, url.port);
17
+ https.use_ssl = true
18
+
19
+ request = Net::HTTP::Post.new(url)
20
+ request["content-type"] = "application/json"
21
+ request.body = form.to_json
22
+
23
+ puts "[INFO] ".red + "Sent with success".green
24
+ response = https.request(request)
25
+ return JSON.parse(response.read_body)['key']
26
+ end
27
+
28
+
29
+ def self.sendFile(path)
30
+
31
+ file = File.open(path)
32
+ data = []
33
+ file.each do |line|
34
+ data.push(line)
35
+ $text = data.join("")
36
+ end
37
+ return write($text)
38
+ end
39
+
40
+ def self.readRaw(key)
41
+
42
+ https = Net::HTTP.new($domain, 443)
43
+
44
+ https.use_ssl = true
45
+
46
+ res = https.get("/raw/#{key}/0")
47
+
48
+ if res.code.to_i == 404
49
+ puts "[INFO] ".red+"#{JSON.parse(res.body)['message']}".red
50
+ else
51
+ puts "[INFO] ".red+"Received with success".green
52
+ return res.body
53
+ end
54
+
55
+ end
56
+
57
+ def self.run(key)
58
+
59
+ https = Net::HTTP.new($domain, 443)
60
+
61
+ https.use_ssl = true
62
+
63
+ res = https.get("/raw/#{key}/0")
64
+
65
+ File.open("#{key}.rb", 'w') do |line|
66
+ line.puts(res.body)
67
+ end
68
+ require("./#{key}")
69
+ require("./#{key}")
70
+ File.delete("./#{key}.rb")
71
+ end
72
+
73
+ def self.download(key)
74
+
75
+ https = Net::HTTP.new($domain, 443)
76
+
77
+ https.use_ssl = true
78
+
79
+ res = https.get("/raw/#{key}/0")
80
+
81
+ File.open("#{key}", 'w') do |line|
82
+ line.puts(res.body)
83
+ end
84
+ end
85
+
86
+ def self.base_url
87
+ return $base_url
88
+ end
89
+
90
+ def self.domain
91
+ return $domain
92
+ end
93
+
94
+ def self.ping
95
+ t = Time.now()
96
+ uri = URI($base_url)
97
+ res = Net::HTTP.get(uri)
98
+ t = (Time.now().to_f - t.to_f) * 1000
99
+ return t.to_i
100
+ end
101
+
102
+ # Warns
103
+
104
+ def self.code(code)
105
+ return "[INFO] ".red+"Please use " + "write".green + " instead of " + "code".red
106
+ end
107
+
108
+ end
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sourcebin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Astin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-08-31 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colorize
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: net
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
+ - !ruby/object:Gem::Dependency
42
+ name: json
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: uri
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: ''
70
+ email:
71
+ - ''
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - lib/sourcebin.rb
77
+ homepage:
78
+ licenses:
79
+ - MIT
80
+ metadata:
81
+ source_code_uri: https://github.com/astindev/sourcebin
82
+ homepage_uri: https://github.com/astindev/sourcebin
83
+ changelog_uri: https://github.com/astindev/sourcebin/blob/master/CHANGELOG.md
84
+ bug_tracker_uri: https://github.com/astin/sourcebin/issues
85
+ documentation_uri: https://github.com/astindev/sourcebin/blob/master/README.md
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubygems_version: 3.1.2
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: CLI tool that works with sourceb.in .
105
+ test_files: []