macker 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.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/.travis.yml +26 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +150 -0
- data/Rakefile +16 -0
- data/data/oui_1499079803.txt +141330 -0
- data/lib/macker.rb +394 -0
- data/lib/macker/address.rb +137 -0
- data/lib/macker/config.rb +32 -0
- data/lib/macker/version.rb +7 -0
- data/macker.gemspec +30 -0
- data/test/maker_test.rb +7 -0
- metadata +114 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
module Macker
|
4
|
+
# Configuration class
|
5
|
+
class Config
|
6
|
+
# Initialization with default configuration.
|
7
|
+
# @return [OpenStruct] default configuration
|
8
|
+
def initialize
|
9
|
+
@config = OpenStruct.new(
|
10
|
+
# Full URL of OUI text file
|
11
|
+
oui_full_url: 'http://standards-oui.ieee.org/oui.txt',
|
12
|
+
# A common user agent
|
13
|
+
user_agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0',
|
14
|
+
# Will expire the vendors in one day
|
15
|
+
ttl_in_seconds: 86_400,
|
16
|
+
# Can be a string, pathname or proc
|
17
|
+
cache: File.expand_path(File.dirname(__FILE__) + '/../../data/oui_*.txt'),
|
18
|
+
# Expiration can be checked manually
|
19
|
+
auto_expiration: true
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
# Send missing methods to the OpenStruct configuration.
|
24
|
+
#
|
25
|
+
# @param method [String] the missing method name
|
26
|
+
# @param *args [Array] list of arguments of the missing method
|
27
|
+
# @return [Object] a configuration parameter
|
28
|
+
def method_missing(method, *args, &block)
|
29
|
+
@config.send(method, *args, &block)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/macker.gemspec
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
lib = File.expand_path('../lib', __FILE__)
|
4
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
+
require 'macker/version'
|
6
|
+
|
7
|
+
Gem::Specification.new do |spec|
|
8
|
+
spec.name = 'macker'
|
9
|
+
spec.version = Macker::VERSION
|
10
|
+
spec.authors = ['Egon Zemmer']
|
11
|
+
spec.email = ['office@phlegx.com']
|
12
|
+
spec.date = Time.now.utc.strftime('%Y-%m-%d')
|
13
|
+
spec.homepage = "https://github.com/phlegx/#{spec.name}"
|
14
|
+
|
15
|
+
spec.summary = 'Real MAC addresses maker.'
|
16
|
+
spec.description = 'Real MAC addresses generator and vendor lookup.'
|
17
|
+
spec.license = 'MIT'
|
18
|
+
|
19
|
+
spec.files = `git ls-files -z`.split("\x0")
|
20
|
+
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
21
|
+
spec.test_files = Dir.glob('test/*_test.rb')
|
22
|
+
spec.require_paths = ['lib']
|
23
|
+
|
24
|
+
spec.required_ruby_version = '>= 1.9.3'
|
25
|
+
|
26
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
27
|
+
spec.add_development_dependency 'rr', '~> 1.2'
|
28
|
+
spec.add_development_dependency 'minitest', '~> 5.8'
|
29
|
+
spec.add_development_dependency 'inch', '~>0.7.1'
|
30
|
+
end
|
data/test/maker_test.rb
ADDED
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: macker
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Egon Zemmer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-07-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '12.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '12.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rr
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.2'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.2'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.8'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.8'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: inch
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.7.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.7.1
|
69
|
+
description: Real MAC addresses generator and vendor lookup.
|
70
|
+
email:
|
71
|
+
- office@phlegx.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- ".travis.yml"
|
78
|
+
- Gemfile
|
79
|
+
- LICENSE.txt
|
80
|
+
- README.md
|
81
|
+
- Rakefile
|
82
|
+
- data/oui_1499079803.txt
|
83
|
+
- lib/macker.rb
|
84
|
+
- lib/macker/address.rb
|
85
|
+
- lib/macker/config.rb
|
86
|
+
- lib/macker/version.rb
|
87
|
+
- macker.gemspec
|
88
|
+
- test/maker_test.rb
|
89
|
+
homepage: https://github.com/phlegx/macker
|
90
|
+
licenses:
|
91
|
+
- MIT
|
92
|
+
metadata: {}
|
93
|
+
post_install_message:
|
94
|
+
rdoc_options: []
|
95
|
+
require_paths:
|
96
|
+
- lib
|
97
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.9.3
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0'
|
107
|
+
requirements: []
|
108
|
+
rubyforge_project:
|
109
|
+
rubygems_version: 2.4.8
|
110
|
+
signing_key:
|
111
|
+
specification_version: 4
|
112
|
+
summary: Real MAC addresses maker.
|
113
|
+
test_files:
|
114
|
+
- test/maker_test.rb
|