utility 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7146d6516db0a0b290e4570b5e9d5d97623ff10e
4
- data.tar.gz: d847d69e41dbce10df764aba51e92e22d3104d35
3
+ metadata.gz: 1d2ce37f67cff412377ef436b8cf7a930622a844
4
+ data.tar.gz: e325ade3a0e62e6c220fac485fdd32ac0d70dde5
5
5
  SHA512:
6
- metadata.gz: 6be1be7251b66c04f4edde21136d0c98dde378ffef63f4e7293d6f0df639dbc785208e6c45c7f003b58dd38c3ce83d38504d0903e7acc768600da8381bc68a1e
7
- data.tar.gz: f64610245f2f557b4a73882959cd51db7003021e9abdd964771788ed3e536b967b60613cc00e5d56caad5b7c31c4cdb77079b825ae67b89c579f45ee5900ed1a
6
+ metadata.gz: e53b0dfae235814a63256647838f14ecf73e7b782cae2283b22a37b3fb4b90bb3b3ffac459b4a236ae9e8f2aa27d7ca0335f39111ffeedca323f79e945a161c2
7
+ data.tar.gz: 65b139f0818e279778355ebe3e6d6dd825bf49f1c2ce3ab498226f9f074ee27256c5ee4a09e2c47207724ea96eb86266f65180445af53047c9acec1f6b41d2d9
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Utility ##
2
2
 
3
- The useful utilities which made in ruby ways.
3
+ A number of ruby useful utilities.
4
4
 
5
5
 
6
6
  ### Installation ###
@@ -30,11 +30,49 @@ Utility.base64decode "dXRpbGl0eQ==" #=> utility
30
30
  Utility.base64decode "5Lit5paH" #=> 中文
31
31
  ```
32
32
 
33
- ### TODO ###
34
- - Add md5
35
- - Add sha1
36
- - Add sha256
37
- - Add random numbers/chars
33
+ #### md5/rmd/sha ####
34
+ ```ruby
35
+ Utility.md5 "ruby" #=> "58e53d1324eef6265fdb97b08ed9aadf"
36
+ Utility.rmd160 "ruby" #=> "29d9b710bc50866fa2399c3061cd02c0c8ffa197"
37
+ Utility.sha1 "ruby" #=> "18e40e1401eef67e1ae69efab09afb71f87ffb81"
38
+ Utility.sha256 "ruby" #=> "b9138194ffe9e7c8bb6d79d1ed56259553d18d9cb60b66e3ba5aa2e5b078055a"
39
+ Utility.sha384 "ruby" #=> "635365ef93ebf2c7a4e40b0b497da727ab8c2914eb9f052e6be40476f95d3daf44786790f5f0e843fab419b43022e069"
40
+ Utility.sha512 "ruby" #=> "423408d7723a3d80baefa804bd50b61a89667efec1713386a7b8efe28e5d13968307a908778cad210d7aa2dfe7db9a2aa86895f9fc1eeefcc99814310b207a6b"
41
+ ```
42
+
43
+ #### hmc ####
44
+ ```ruby
45
+ Utility.hmac "sha1", "key", "the data" #=> "ac5b94c09a6033e3aca1a02116ebf48722b155e0"
46
+ Utility.hmac "sha256", "key", "the data" #=> "00644ab9e7ce1b772c5fcd9b460b1a4fa78de4a55c162590ac506f2f76d62a40"
47
+ ```
48
+
49
+ #### params parse ####
50
+ ```ruby
51
+ # full url
52
+ Utility.parse_query "http://example.com/?param1=value1&param2=value2&param3=value3"
53
+ #=> {"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}
54
+
55
+ # only query params
56
+ Utility.parse_query "param1=value1&param2=value2&param3=value3"
57
+ #=> {"param1"=>["value1"], "param2"=>["value2"], "param3"=>["value3"]}
58
+ ```
59
+ ### computer info ###
60
+ ```ruby
61
+ # get hostname
62
+ Utility.get_hostname #=> "Charles"
63
+
64
+ # get ip address
65
+ Utility.get_ip #=> "192.168.12.26"
66
+
67
+ #get mac address
68
+ Utility.get_mac #=> "c8:60:00:10:ec:ee"
69
+
70
+ #get os
71
+ Utility.get_os #=> "linux"
72
+
73
+ #get os arch
74
+ Utility.get_arch #=> 64
75
+ ```
38
76
 
39
77
  ### License ###
40
78
  Released under the [MIT](http://opensource.org/licenses/MIT) license. See LICENSE file for details.
@@ -1,4 +1,4 @@
1
- module Utility::Atob
1
+ module Utility::Base64
2
2
 
3
3
  # Base64 convert in ruby way
4
4
  # Usually, we use Base64 module to handle everything of base64 with `require 'base64'`
@@ -0,0 +1,31 @@
1
+ require 'socket'
2
+ require 'macaddr'
3
+ require 'rubygems'
4
+
5
+ module Utility::Computer
6
+ def get_ip
7
+ ip = Socket.ip_address_list.detect do |intf|
8
+ intf.ipv4? &&
9
+ !intf.ipv4_loopback? &&
10
+ !intf.ipv4_multicast? &&
11
+ !intf.ipv4_private?
12
+ end
13
+ ip.nil?? "IP address not found" : ip.ip_address
14
+ end
15
+
16
+ def get_mac
17
+ Mac.addr.list rescue Mac.address
18
+ end
19
+
20
+ def get_hostname
21
+ Socket.gethostname
22
+ end
23
+
24
+ def get_os
25
+ Gem::Platform.local.os
26
+ end
27
+
28
+ def get_arch
29
+ 1226.size * 8
30
+ end
31
+ end
@@ -0,0 +1,11 @@
1
+ require 'digest'
2
+
3
+ module Utility::Digest
4
+
5
+ %w[md5 sha1 sha256 sha384 sha512 rmd160].each do |method_name|
6
+ define_method method_name do |str = nil|
7
+ Digest.const_get(method_name.upcase).hexdigest str.to_s
8
+ end
9
+ end
10
+
11
+ end
@@ -0,0 +1,9 @@
1
+ require "openssl"
2
+
3
+ module Utility::HMAC
4
+
5
+ def hmac(sha, key, data)
6
+ OpenSSL::HMAC.hexdigest sha, key, data
7
+ end
8
+
9
+ end
@@ -0,0 +1,12 @@
1
+ require 'cgi'
2
+ require 'uri'
3
+
4
+ module Utility::URL
5
+ def parse_query(url)
6
+ if url =~ URI::regexp
7
+ CGI.parse URI.parse(url).query
8
+ else
9
+ CGI.parse url
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module Utility
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
data/lib/utility.rb CHANGED
@@ -1,6 +1,9 @@
1
- require_relative "utility/version"
2
- require_relative "utility/atob"
1
+ Dir[File.dirname(__FILE__) + '/utility/*.rb'].each {|file| require file }
3
2
 
4
3
  module Utility
5
- extend Atob
4
+ extend Base64
5
+ extend Digest
6
+ extend HMAC
7
+ extend URL
8
+ extend Computer
6
9
  end
data/utility.gemspec CHANGED
@@ -9,8 +9,8 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Cenxky"]
10
10
  spec.email = ["cenxky@gmail.com"]
11
11
 
12
- spec.summary = %q{The useful utilities which made in ruby ways.}
13
- spec.description = %q{The useful utilities which made in ruby ways.}
12
+ spec.summary = %q{A number of ruby useful utilities.}
13
+ spec.description = %q{A number of ruby useful utilities.}
14
14
  spec.homepage = "https://github.com/cenxky/utility"
15
15
  spec.license = "MIT"
16
16
 
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
+ spec.add_dependency "macaddr", "~> 1.0"
24
25
  spec.add_development_dependency "bundler", "~> 1.14"
25
26
  spec.add_development_dependency "rake", "~> 10.0"
26
27
  spec.add_development_dependency "rspec", "~> 3.0"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: utility
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cenxky
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-31 00:00:00.000000000 Z
11
+ date: 2017-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: macaddr
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,7 +66,7 @@ dependencies:
52
66
  - - "~>"
53
67
  - !ruby/object:Gem::Version
54
68
  version: '3.0'
55
- description: The useful utilities which made in ruby ways.
69
+ description: A number of ruby useful utilities.
56
70
  email:
57
71
  - cenxky@gmail.com
58
72
  executables: []
@@ -69,7 +83,11 @@ files:
69
83
  - bin/console
70
84
  - bin/setup
71
85
  - lib/utility.rb
72
- - lib/utility/atob.rb
86
+ - lib/utility/base64.rb
87
+ - lib/utility/computer.rb
88
+ - lib/utility/digest.rb
89
+ - lib/utility/hmac.rb
90
+ - lib/utility/url.rb
73
91
  - lib/utility/version.rb
74
92
  - utility.gemspec
75
93
  homepage: https://github.com/cenxky/utility
@@ -95,5 +113,5 @@ rubyforge_project:
95
113
  rubygems_version: 2.6.6
96
114
  signing_key:
97
115
  specification_version: 4
98
- summary: The useful utilities which made in ruby ways.
116
+ summary: A number of ruby useful utilities.
99
117
  test_files: []