security_guard 0.0.1 → 0.0.2

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.
data/README.md CHANGED
@@ -30,7 +30,7 @@ Returns a list of the IPs from given country and IP dictionaries. Useful for aud
30
30
 
31
31
  ```ruby
32
32
  country_ips = SecurityGuard::CountryIps.new
33
- country_ips.countries = ['Australia', 'United States']
33
+ country_ips.countries = ['Australia', 'United Kingdom']
34
34
  country_ips.ips = ['4.4.4.4', '8.8.8.8', '203.206.0.1']
35
35
  country_ips.result # => ['203.206.0.1']
36
36
  ```
@@ -42,6 +42,18 @@ country_ips.countries_from_file = '/path/to/the/file'
42
42
  country_ips.ips_from_file = '/path/to/the/file'
43
43
  ```
44
44
 
45
+ ## Changelog
46
+
47
+ ### v0.0.2 [2012-01-19]
48
+
49
+ - Added IP address sanity check
50
+ - Coloured test output
51
+ - Added changelog
52
+
53
+ ### v0.0.1 [2012-01-18]
54
+
55
+ - First release, implemented SecurityGuard::CountryIps and `bin/sguard`
56
+
45
57
  ## Contributing
46
58
 
47
59
  1. Fork it
@@ -6,7 +6,7 @@ module SecurityGuard
6
6
  end
7
7
 
8
8
  def self.to_array(line_delimited_file)
9
- File.readlines(line_delimited_file).map{ |line| line.sub("\n", '') }
9
+ File.readlines(line_delimited_file).map{ |line| line.chomp }
10
10
  end
11
11
  end
12
12
  end
@@ -5,6 +5,8 @@ module SecurityGuard
5
5
  class GeoIps
6
6
  attr_accessor :ip_address
7
7
 
8
+ VALID_IP_ADDRESS = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
9
+
8
10
  def initialize(geo_data_file, ip_address = nil)
9
11
  @geoip ||= GeoIP.new(geo_data_file)
10
12
  self.ip_address = ip_address
@@ -17,6 +19,10 @@ module SecurityGuard
17
19
  def country_name
18
20
  country.country_name
19
21
  end
22
+
23
+ def ip_address=(ip_address)
24
+ @ip_address = ip_address.to_s[VALID_IP_ADDRESS]
25
+ end
20
26
  end
21
27
  end
22
28
  end
@@ -1,3 +1,3 @@
1
1
  module SecurityGuard
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -19,4 +19,5 @@ Gem::Specification.new do |gem|
19
19
  gem.add_dependency 'awesome_print'
20
20
  gem.add_dependency 'geoip'
21
21
  gem.add_development_dependency 'simplecov'
22
+ gem.add_development_dependency 'minitest-colorize'
22
23
  end
data/specs/spec_helper.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'simplecov'
2
2
  SimpleCov.start
3
3
 
4
+ require 'minitest-colorize'
4
5
  require 'minitest/autorun'
5
6
  require 'minitest/spec'
6
7
 
@@ -14,6 +14,16 @@ describe SecurityGuard::Utils::GeoIps do
14
14
  @geoip.ip_address = '8.8.8.8'
15
15
  @geoip.ip_address.must_equal '8.8.8.8'
16
16
  end
17
+
18
+ it 'sanitises the (valid) ip address' do
19
+ @geoip.ip_address = 'a8.8.8.8, '
20
+ @geoip.ip_address.must_equal '8.8.8.8'
21
+ end
22
+
23
+ it 'sanitises the (invalid) ip address' do
24
+ @geoip.ip_address = 'abc'
25
+ @geoip.ip_address.must_equal nil
26
+ end
17
27
  end
18
28
 
19
29
  describe 'initialise with an ip' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: security_guard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-01-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: clamp
16
- requirement: &70177434013380 !ruby/object:Gem::Requirement
16
+ requirement: &70244890970620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70177434013380
24
+ version_requirements: *70244890970620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: awesome_print
27
- requirement: &70177434012840 !ruby/object:Gem::Requirement
27
+ requirement: &70244890967900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70177434012840
35
+ version_requirements: *70244890967900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: geoip
38
- requirement: &70177434012420 !ruby/object:Gem::Requirement
38
+ requirement: &70244890966500 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70177434012420
46
+ version_requirements: *70244890966500
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: simplecov
49
- requirement: &70177434011980 !ruby/object:Gem::Requirement
49
+ requirement: &70244890962180 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,18 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70177434011980
57
+ version_requirements: *70244890962180
58
+ - !ruby/object:Gem::Dependency
59
+ name: minitest-colorize
60
+ requirement: &70244890958840 !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
63
+ - - ! '>='
64
+ - !ruby/object:Gem::Version
65
+ version: '0'
66
+ type: :development
67
+ prerelease: false
68
+ version_requirements: *70244890958840
58
69
  description: A collection of useful tools for auditing data and performing security
59
70
  checks.
60
71
  email: