security_guard 0.0.4 → 0.0.5

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/.gitignore CHANGED
@@ -15,5 +15,5 @@ rdoc
15
15
  spec/reports
16
16
  test/tmp
17
17
  test/version_tmp
18
- spec/tmp
19
- tmp
18
+ spec/tmp/*
19
+ tmp/*
data/README.md CHANGED
@@ -4,6 +4,12 @@ This gem is a collection of useful tools for auditing data and performing securi
4
4
 
5
5
  ## Installation
6
6
 
7
+ ### Standalone
8
+
9
+ $ gem install security_guard
10
+
11
+ ### As part of your application
12
+
7
13
  Add this line to your application's Gemfile:
8
14
 
9
15
  gem 'security_guard'
@@ -12,10 +18,6 @@ And then execute:
12
18
 
13
19
  $ bundle
14
20
 
15
- Or install it yourself as:
16
-
17
- $ gem install security_guard
18
-
19
21
  ## Usage
20
22
 
21
23
  ### Executable
@@ -62,10 +64,10 @@ country_ips.ips_from_file = '/path/to/the/file'
62
64
 
63
65
  ### Deduplication
64
66
 
65
- Deduplicates content contained within a list of files. Useful for deduplicating email newsletter subscription lists.
67
+ Deduplicates line-delimited content contained within a list of files. Useful for deduplicating email newsletter subscription lists.
66
68
 
67
69
  ```ruby
68
- dedupe = SecurityGuard::Deduplication.new(
70
+ SecurityGuard::Deduplication.new(
69
71
  :input_folder => '/path/to/the/input/folder',
70
72
  :output_folder => '/path/to/the/output/folder'
71
73
  ).process
@@ -75,12 +77,12 @@ dedupe = SecurityGuard::Deduplication.new(
75
77
 
76
78
  ### v0.0.4 [2012-02-08]
77
79
 
78
- - Fixed Concerns::Initializable for CountryIps
79
- - Added Deduplication
80
+ - Fixed `Concerns::Initializable` for `CountryIps`
81
+ - Added `Deduplication`
80
82
 
81
83
  ### v0.0.3 [2012-01-20]
82
84
 
83
- - Added Concerns::Initializable
85
+ - Added `Concerns::Initializable`
84
86
 
85
87
  ### v0.0.2 [2012-01-19]
86
88
 
@@ -90,7 +92,7 @@ dedupe = SecurityGuard::Deduplication.new(
90
92
 
91
93
  ### v0.0.1 [2012-01-18]
92
94
 
93
- - First release, implemented SecurityGuard::CountryIps and `bin/sguard`
95
+ - First release, implemented `CountryIps` and `bin/sguard`
94
96
 
95
97
  ## Contributing
96
98
 
@@ -20,7 +20,7 @@ module SecurityGuard
20
20
  private
21
21
 
22
22
  def read_data_from(folder)
23
- files = Dir["#{folder}/*"]
23
+ files = Dir["#{folder}/*"].sort
24
24
 
25
25
  raise Exception.new('Input folder is invalid or is empty.') if files.empty?
26
26
 
@@ -61,4 +61,4 @@ module SecurityGuard
61
61
  (target - other & target).uniq
62
62
  end
63
63
  end
64
- end
64
+ end
@@ -1,3 +1,3 @@
1
1
  module SecurityGuard
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
@@ -18,6 +18,7 @@ Gem::Specification.new do |gem|
18
18
  gem.add_dependency 'clamp'
19
19
  gem.add_dependency 'awesome_print'
20
20
  gem.add_dependency 'geoip'
21
+ gem.add_development_dependency 'rake'
21
22
  gem.add_development_dependency 'simplecov'
22
23
  gem.add_development_dependency 'minitest-colorize'
23
24
  end
@@ -1,18 +1,18 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe SecurityGuard::CountryIps do
4
- before do
5
- @country_ips = SecurityGuard::CountryIps.new(
4
+ let :country_ips do
5
+ SecurityGuard::CountryIps.new(
6
6
  :countries => ['Australia'],
7
7
  :ips => ['4.4.4.4', '8.8.8.8', '203.206.0.1']
8
8
  )
9
9
  end
10
10
 
11
11
  it 'contains GeoIP data' do
12
- @country_ips.instance_variable_get(:@geoip).must_be_instance_of SecurityGuard::Utils::GeoIps
12
+ country_ips.instance_variable_get(:@geoip).must_be_instance_of SecurityGuard::Utils::GeoIps
13
13
  end
14
14
 
15
15
  it 'returns all IPs from the given country and IP dictionaries' do
16
- @country_ips.result.must_equal ['203.206.0.1']
16
+ country_ips.result.must_equal ['203.206.0.1']
17
17
  end
18
18
  end
@@ -1,39 +1,43 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe SecurityGuard::Deduplication do
4
- before do
5
- @dedupe = SecurityGuard::Deduplication.new(
4
+ let :dedupe do
5
+ SecurityGuard::Deduplication.new(
6
6
  :input_folder => fixture_file('dedupe_lists/'),
7
7
  :output_folder => fixture_file('../tmp/')
8
8
  )
9
+ end
9
10
 
10
- @source_data = [
11
+ let :source_data do
12
+ [
11
13
  ['a@example.com', 'b@example.com', 'c@example.com', 'c@example.com'],
12
14
  ['b@example.com', 'd@example.com'],
13
15
  ['c@example.com', 'd@example.com', 'e@example.com'],
14
16
  ]
17
+ end
15
18
 
19
+ before do
16
20
  `rm -rf #{fixture_file('../tmp/*')}`
17
21
  end
18
22
 
19
23
  it 'reads data from the input folder' do
20
- @dedupe.send :read_data_from, fixture_file('dedupe_lists/')
21
- @dedupe.source_data.must_equal @source_data
24
+ dedupe.send :read_data_from, fixture_file('dedupe_lists/')
25
+ dedupe.source_data.must_equal source_data
22
26
  end
23
27
 
24
28
  it 'writes data to the output folder' do
25
- @dedupe.deduped_data = [
29
+ dedupe.deduped_data = [
26
30
  [1, 2, 3],
27
31
  [4, 5, 6],
28
32
  ]
29
- @dedupe.send :write_data_to, fixture_file('../tmp/')
33
+ dedupe.send :write_data_to, fixture_file('../tmp/')
30
34
 
31
35
  File.read(fixture_file('../tmp/1.txt')).must_equal "1\n2\n3\n"
32
36
  File.read(fixture_file('../tmp/2.txt')).must_equal "4\n5\n6\n"
33
37
  end
34
38
 
35
39
  it 'reads input and writes output' do
36
- @dedupe.process
40
+ dedupe.process
37
41
 
38
42
  File.read(fixture_file('../tmp/1.txt')).must_equal "a@example.com\nb@example.com\nc@example.com\n"
39
43
  File.read(fixture_file('../tmp/2.txt')).must_equal "d@example.com\n"
@@ -41,14 +45,14 @@ describe SecurityGuard::Deduplication do
41
45
  end
42
46
 
43
47
  it 'dedupes an array with another array' do
44
- @dedupe.send(:_deduped,
48
+ dedupe.send(:_deduped,
45
49
  ['a@example.com', 'b@example.com', 'c@example.com', 'c@example.com'],
46
50
  ['b@example.com', 'd@example.com'],
47
51
  ).must_equal ['a@example.com', 'c@example.com']
48
52
  end
49
53
 
50
54
  it 'dedupes an array against multiple arrays' do
51
- @dedupe.send(:_deduped_multi,
55
+ dedupe.send(:_deduped_multi,
52
56
  ['c@example.com', 'd@example.com', 'e@example.com'],
53
57
  [
54
58
  ['a@example.com', 'b@example.com', 'c@example.com', 'c@example.com'],
@@ -58,8 +62,8 @@ describe SecurityGuard::Deduplication do
58
62
  end
59
63
 
60
64
  it 'dedupes the source data' do
61
- @dedupe.send :dedupe, @source_data
62
- @dedupe.deduped_data.must_equal [
65
+ dedupe.send :dedupe, source_data
66
+ dedupe.deduped_data.must_equal [
63
67
  ['a@example.com', 'b@example.com', 'c@example.com'],
64
68
  ['d@example.com'],
65
69
  ['e@example.com'],
File without changes
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.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-08 00:00:00.000000000 Z
12
+ date: 2012-03-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: clamp
16
- requirement: &70315493707920 !ruby/object:Gem::Requirement
16
+ requirement: &70171759282640 !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: *70315493707920
24
+ version_requirements: *70171759282640
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: awesome_print
27
- requirement: &70315493707500 !ruby/object:Gem::Requirement
27
+ requirement: &70171759282220 !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: *70315493707500
35
+ version_requirements: *70171759282220
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: geoip
38
- requirement: &70315493707080 !ruby/object:Gem::Requirement
38
+ requirement: &70171759281800 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,21 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70315493707080
46
+ version_requirements: *70171759281800
47
+ - !ruby/object:Gem::Dependency
48
+ name: rake
49
+ requirement: &70171759281380 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: *70171759281380
47
58
  - !ruby/object:Gem::Dependency
48
59
  name: simplecov
49
- requirement: &70315493706660 !ruby/object:Gem::Requirement
60
+ requirement: &70171759280960 !ruby/object:Gem::Requirement
50
61
  none: false
51
62
  requirements:
52
63
  - - ! '>='
@@ -54,10 +65,10 @@ dependencies:
54
65
  version: '0'
55
66
  type: :development
56
67
  prerelease: false
57
- version_requirements: *70315493706660
68
+ version_requirements: *70171759280960
58
69
  - !ruby/object:Gem::Dependency
59
70
  name: minitest-colorize
60
- requirement: &70315493706240 !ruby/object:Gem::Requirement
71
+ requirement: &70171759280540 !ruby/object:Gem::Requirement
61
72
  none: false
62
73
  requirements:
63
74
  - - ! '>='
@@ -65,7 +76,7 @@ dependencies:
65
76
  version: '0'
66
77
  type: :development
67
78
  prerelease: false
68
- version_requirements: *70315493706240
79
+ version_requirements: *70171759280540
69
80
  description: A collection of useful tools for auditing data and performing security
70
81
  checks.
71
82
  email:
@@ -101,6 +112,7 @@ files:
101
112
  - specs/fixtures/dedupe_lists/c.txt
102
113
  - specs/fixtures/ip_addresses.txt
103
114
  - specs/spec_helper.rb
115
+ - specs/tmp/.gitkeep
104
116
  - specs/utils/files_spec.rb
105
117
  - specs/utils/geo_ips_spec.rb
106
118
  homepage: https://github.com/sitepoint/security_guard
@@ -115,15 +127,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
127
  - - ! '>='
116
128
  - !ruby/object:Gem::Version
117
129
  version: '0'
130
+ segments:
131
+ - 0
132
+ hash: 1500545349619429618
118
133
  required_rubygems_version: !ruby/object:Gem::Requirement
119
134
  none: false
120
135
  requirements:
121
136
  - - ! '>='
122
137
  - !ruby/object:Gem::Version
123
138
  version: '0'
139
+ segments:
140
+ - 0
141
+ hash: 1500545349619429618
124
142
  requirements: []
125
143
  rubyforge_project:
126
- rubygems_version: 1.8.10
144
+ rubygems_version: 1.8.16
127
145
  signing_key:
128
146
  specification_version: 3
129
147
  summary: A collection of useful tools for auditing data and performing security checks.