vipnet_parser 2.0.1 → 2.0.2

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: 83759d7e632c4b66ff7b6aada228c807381b5ae5
4
- data.tar.gz: 2bd2ed5e06b1518814c7a59889f63b21d35fe179
3
+ metadata.gz: 7970f04e800c4708b908008d233b801145a23ba6
4
+ data.tar.gz: ade58764a0627fbee189144d7891824b1394d447
5
5
  SHA512:
6
- metadata.gz: 4a050843054685430ffef617b99c8a1dea9e4746e42b342f488859a243a6b51c0f8e98ed57d43e806bf2f091a909a0e9532ae09419f04536efc62ccce635223f
7
- data.tar.gz: 0656d373bf227f86068ab34c32f2c9fa6005dc49d34d0f95b36533278b1fe46e4c8e2b65345d4ff889a3b0b846bbe027122a2a368960a778af45b0db5c1042b4
6
+ metadata.gz: db265c3b81ebfbfa511b289be370d6aa2e439e51042335495ca957b8dab16bee2a79581ac849da15753fe7070113668acb9265fbcae142fd5e8106f216d19be1
7
+ data.tar.gz: 6fda0aa8af392f7a76d430fe0e29b744bd013ba9fff680f65ce43232e95dc1587c3b900f1363f27082c06151ca092f9e19988c9e69eb3044dcba05dd925fd0e7
@@ -12,9 +12,7 @@ module VipnetParser
12
12
 
13
13
  def parse(args = DEFAULT_PARSE_ARGS)
14
14
  args = DEFAULT_PARSE_ARGS.merge(args)
15
- format = args[:format]
16
- encoding = args[:encoding]
17
- normalize_names = args[:normalize_names]
15
+ format, encoding, normalize_names = args.values_at(:format, :encoding, :normalize_names)
18
16
 
19
17
  # change encoding to utf8 and remove comments
20
18
  string = self.string
@@ -35,8 +33,8 @@ module VipnetParser
35
33
  sections = string.map do |section|
36
34
  section =~ /\[(?<section_name>.+)\]\n(?<section_content>.*)/m
37
35
  {
38
- name: Regexp.last_match[:section_name].to_sym,
39
- content: Regexp.last_match[:section_content],
36
+ name: Regexp.last_match(:section_name).to_sym,
37
+ content: Regexp.last_match(:section_content),
40
38
  }
41
39
  end
42
40
 
@@ -80,11 +78,11 @@ module VipnetParser
80
78
 
81
79
  section_content.split("\n").each do |line|
82
80
  if line =~ /(?<prop>.*)=\s(?<value>.*)/
83
- prop = Regexp.last_match[:prop].to_sym
84
- value = Regexp.last_match[:value]
81
+ prop = Regexp.last_match(:prop).to_sym
82
+ value = Regexp.last_match(:value)
85
83
 
86
84
  # array-type props
87
- if [:ip, :filterudp, :filtertcp, :server].include?(prop)
85
+ if %i[ip filterudp filtertcp server].include?(prop)
88
86
  if hash[prop]
89
87
  hash[prop].push(value)
90
88
  else
@@ -12,9 +12,7 @@ module VipnetParser
12
12
 
13
13
  def parse(args = DEFAULT_PARSE_ARGS)
14
14
  args = DEFAULT_PARSE_ARGS.merge(args)
15
- format = args[:format]
16
- encoding = args[:encoding]
17
- normalize_names = args[:normalize_names]
15
+ format, encoding, normalize_names = args.values_at(:format, :encoding, :normalize_names)
18
16
 
19
17
  # change encoding to utf8
20
18
  string = self.string
@@ -2,16 +2,14 @@ module VipnetParser
2
2
  def id(args)
3
3
  if args.class == String
4
4
  string = args
5
- array = Array.new
5
+ array = []
6
6
  elsif args.class == Hash
7
- string = args[:string]
8
- array = args[:array]
9
- threshold = args[:threshold]
7
+ string, array, threshold = args.values_at(:string, :array, :threshold)
10
8
  end
11
9
  string = string.downcase
12
10
  cyrillic_sub = {
13
- "а" => "a", "б" => "b", "с" => "c", "д" => "d", "е" => "e", "ф" => "f",
14
- "А" => "a", "Б" => "b", "С" => "c", "Д" => "d", "Е" => "e", "Ф" => "f",
11
+ "а" => "a", "б" => "b", "В" => "b", "с" => "c", "д" => "d", "е" => "e", "ф" => "f",
12
+ "А" => "a", "Б" => "b", "в" => "b", "С" => "c", "Д" => "d", "Е" => "e", "Ф" => "f",
15
13
  }
16
14
  cyrillic_sub.each do |cyr, lat|
17
15
  string = string.gsub(cyr, lat)
@@ -27,10 +25,10 @@ module VipnetParser
27
25
  regexps.each do |regexp, callback|
28
26
  if string =~ regexp && !string_matches_anything
29
27
  string_matches_anything = true
30
- array += callback.call({ string: Regexp.last_match(2), threshold: threshold })
28
+ array += callback.call(string: Regexp.last_match(2), threshold: threshold)
31
29
  [Regexp.last_match(1), Regexp.last_match(3)].each do |side_match|
32
30
  unless side_match.empty?
33
- array += id({ string: side_match, array: array, threshold: threshold })
31
+ array += id(string: side_match, array: array, threshold: threshold)
34
32
  end
35
33
  end
36
34
  end
@@ -53,7 +51,7 @@ module VipnetParser
53
51
  if threshold
54
52
  return [] if interval_end - interval_begin + 1 > threshold
55
53
  end
56
- array = Array.new
54
+ array = []
57
55
  (interval_end - interval_begin + 1).times do |n|
58
56
  array.push("0x#{(interval_begin + n).to_s(16).rjust(8, '0')}")
59
57
  end
@@ -74,7 +72,7 @@ module VipnetParser
74
72
  def network(id)
75
73
  normal_ids = id(id)
76
74
  if normal_ids
77
- normal_id = normal_ids[0]
75
+ normal_id = normal_ids.first
78
76
  return id[2..5].to_i(16).to_s(10)
79
77
  end
80
78
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vipnet_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Morozov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-12 00:00:00.000000000 Z
11
+ date: 2017-01-17 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Parses ViPNet™ IDs, iplir.conf and other files
14
14
  email: ntcomp12@gmail.com
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
41
41
  version: '0'
42
42
  requirements: []
43
43
  rubyforge_project:
44
- rubygems_version: 2.5.2
44
+ rubygems_version: 2.6.6
45
45
  signing_key:
46
46
  specification_version: 4
47
47
  summary: ViPNet™ strings parser