clam_chowder 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 7c1bbdb6150fe272295b9d2c3bd648a7c93aa20d
4
- data.tar.gz: fdf79465aead5a27612b15aa223f94d182a096e2
2
+ SHA256:
3
+ metadata.gz: e4a2a74fba4fef14135cfbdb6217d65e46699a91bdc24f0104750a57b5246115
4
+ data.tar.gz: fb3ab3e44c1cb42dc199800a41fa028d71b83a630b7db83fc5e0e4935302d902
5
5
  SHA512:
6
- metadata.gz: 7d621c58a0e4bd9a41fca632f34f8dd0a976b365826bfa0f5820153b75cb051c7b6317af2756a819a0f9079b2e6bc0c666e227b570efbb5dc7340dd24660aaec
7
- data.tar.gz: c16eb0847811416a172010df2441d220cc71df5f4c3e4c3d6b13b41f7485973db173fe218a0787ab35c7ff9513322fa09a61ee8c53487db9c1239da012835d32
6
+ metadata.gz: 6dae1cbc7f4c82bcc4ad05dbe11ce1e7c8dbf1c6a463d278f60bf8632ef8d12681831c3d683d7ae5af897c0d86db127d6f7d9b3bb08de80b00e65e32ca654660
7
+ data.tar.gz: 2ce9e508769f0bbb7d7d01e2cde743dd9163f442f3a40e70d32141beda16c7bc416cd6335be948878cb708b5df66fcdbd9f54cb30fe599b7da93d1cef55a6a35
@@ -0,0 +1,30 @@
1
+ version: 2.1
2
+
3
+ orbs:
4
+ ruby: circleci/ruby@1.8.0
5
+
6
+ jobs:
7
+ test:
8
+ parameters:
9
+ ruby-version:
10
+ type: string
11
+ docker:
12
+ - image: cimg/ruby:<< parameters.ruby-version >>
13
+ steps:
14
+ - checkout
15
+ - run:
16
+ name: bundle install with no cache
17
+ command: |
18
+ bundle install
19
+ - run:
20
+ name: only run rspec
21
+ command: |
22
+ bundle exec rspec
23
+
24
+ workflows:
25
+ build_and_test:
26
+ jobs:
27
+ - test:
28
+ matrix:
29
+ parameters:
30
+ ruby-version: ["2.7", "3.0", "3.1", "3.2"]
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.0.0-p247
1
+ 3.2.2
data/README.md CHANGED
@@ -1,9 +1,7 @@
1
- # README
1
+ # clam_chowder
2
2
 
3
- ## Name
4
- clam_chower
3
+ [![Build Status](https://travis-ci.org/nexway/clam_chowder.svg?branch=master)](https://travis-ci.org/nexway/clam_chowder) [![Code Climate](https://codeclimate.com/github/nexway/clam_chowder.png)](https://codeclimate.com/github/nexway/clam_chowder)
5
4
 
6
- ## Description
7
5
  Nicely application-level wrapper for anti-virus software.
8
6
  now supports on clamd only.
9
7
 
@@ -61,8 +59,10 @@ ClamChowder.default_backend = Rails.env.production? ? :clamd : :stub
61
59
  ```
62
60
 
63
61
  ## Supported versions
64
- - Ruby 2.0
65
- - Ruby 2.1
62
+ - Ruby 2.0.0
63
+ - Ruby 2.1.8
64
+ - Ruby 2.2.4
65
+ - Ruby 2.3.1
66
66
 
67
67
  ## Dependencies
68
68
  - clamd >= 1.0.1
data/Rakefile CHANGED
@@ -1,2 +1,7 @@
1
1
  require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
2
7
 
data/bin/clam_chowder CHANGED
File without changes
data/clam_chowder.gemspec CHANGED
@@ -6,11 +6,11 @@ require 'clam_chowder/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "clam_chowder"
8
8
  spec.version = ClamChowder::VERSION
9
- spec.authors = ["NEXWAY", "Iori ONDA"]
10
- spec.email = ["n2developer@nexway.co.jp", "iori.onda@gmail.com"]
9
+ spec.authors = ["NEXWAY"]
10
+ spec.email = ["n2developer@nexway.co.jp"]
11
11
  spec.summary = %q{Nicely application-level wrapper for anti-virus software.}
12
12
  spec.description = %q{Nicely application-level wrapper for anti-virus software.}
13
- spec.homepage = ""
13
+ spec.homepage = "https://github.com/nexway/clam_chowder"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
@@ -18,10 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.required_ruby_version = '~> 2.0'
21
+ spec.required_ruby_version = '>= 2.0'
22
22
 
23
23
  spec.add_dependency "clamd"
24
- spec.add_development_dependency "bundler", "~> 1.6"
24
+ spec.add_development_dependency "bundler", ">= 2.2.33"
25
25
  spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "rspec"
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module ClamChowder
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -14,23 +14,32 @@ describe 'Scanner' do
14
14
  describe '.infected_stream?' do
15
15
  subject { ClamChowder::Scanner.infected_stream?(File::open(file_path)) }
16
16
 
17
+ before do
18
+ scan_mock = instance_double('::Clamd::Client')
19
+ allow(scan_mock).to receive(:scan) { "#{file_path}: #{result}" }
20
+ allow(::Clamd::Client).to receive(:new) { scan_mock }
21
+ end
22
+
17
23
  context 'ウイルスが未検知の場合' do
18
24
  let(:file_path) { 'spec/fixtures/innocent.txt' }
25
+ let(:result) { 'OK' }
19
26
 
20
- it { should be_false }
27
+ it { is_expected.to eq false }
21
28
  end
22
29
 
23
30
  context 'ウイルスが検知された場合' do
24
31
  let(:file) { create_virus_file }
25
32
  let(:file_path) { file.path }
33
+ let(:result) { 'TEST.VIRUS FOUND' }
26
34
 
27
35
  after { file.close }
28
36
 
29
- it { should be_true }
37
+ it { is_expected.to eq true }
30
38
  end
31
39
 
32
40
  context '検知/未検知以外の場合' do
33
41
  let(:file_path) { 'path/to/file' }
42
+ let(:result) { 'Timeout' }
34
43
 
35
44
  specify 'ScanException 例外が発生すること' do
36
45
  expect { ClamChowder::Scanner.infected_stream?(file_path) }.to raise_error(ClamChowder::ScanException)
@@ -45,8 +54,15 @@ describe 'Scanner' do
45
54
  let(:scanner) { ClamChowder::Scanner.new }
46
55
  let(:scan_result) { scanner.scan_io File::open(file_path) }
47
56
 
57
+ before do
58
+ scan_mock = instance_double('::Clamd::Client')
59
+ allow(scan_mock).to receive(:scan) { "#{file_path}: #{scan_message}" }
60
+ allow(::Clamd::Client).to receive(:new) { scan_mock }
61
+ end
62
+
48
63
  context 'ウィルス未検知の場合' do
49
64
  let(:file_path) { 'spec/fixtures/innocent.txt' }
65
+ let(:scan_message) { 'OK' }
50
66
 
51
67
  specify do
52
68
  expect(scan_result).to_not be_infected
@@ -56,17 +72,19 @@ describe 'Scanner' do
56
72
  context 'ウィルス検知の場合' do
57
73
  let(:file) { create_virus_file }
58
74
  let(:file_path) { file.path }
75
+ let(:scan_message) { 'Eicar-Test-Signature FOUND' }
59
76
 
60
77
  after { file.close }
61
78
 
62
79
  specify do
63
80
  expect(scan_result).to be_infected
64
- expect(scan_result.virus_name).to eq 'Eicar-Test-Signature'
81
+ expect(scan_result.virus_name.upcase).to include 'EICAR'
65
82
  end
66
83
  end
67
84
 
68
85
  context '検知/未検知以外の場合' do
69
86
  let(:file_path) { "/path/to/file" }
87
+ let(:scan_message) { 'Timeout' }
70
88
 
71
89
  specify "例外が発生すること" do
72
90
  expect { ClamChowder::Scanner.new.scan_io(file_path) }.to raise_error(ClamChowder::ScanException)
metadata CHANGED
@@ -1,83 +1,82 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clam_chowder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - NEXWAY
8
- - Iori ONDA
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-06-10 00:00:00.000000000 Z
11
+ date: 2023-07-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: clamd
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
- - - '>='
17
+ - - ">="
19
18
  - !ruby/object:Gem::Version
20
19
  version: '0'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
- - - '>='
24
+ - - ">="
26
25
  - !ruby/object:Gem::Version
27
26
  version: '0'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: bundler
30
29
  requirement: !ruby/object:Gem::Requirement
31
30
  requirements:
32
- - - ~>
31
+ - - ">="
33
32
  - !ruby/object:Gem::Version
34
- version: '1.6'
33
+ version: 2.2.33
35
34
  type: :development
36
35
  prerelease: false
37
36
  version_requirements: !ruby/object:Gem::Requirement
38
37
  requirements:
39
- - - ~>
38
+ - - ">="
40
39
  - !ruby/object:Gem::Version
41
- version: '1.6'
40
+ version: 2.2.33
42
41
  - !ruby/object:Gem::Dependency
43
42
  name: rake
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
- - - '>='
45
+ - - ">="
47
46
  - !ruby/object:Gem::Version
48
47
  version: '0'
49
48
  type: :development
50
49
  prerelease: false
51
50
  version_requirements: !ruby/object:Gem::Requirement
52
51
  requirements:
53
- - - '>='
52
+ - - ">="
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0'
56
55
  - !ruby/object:Gem::Dependency
57
56
  name: rspec
58
57
  requirement: !ruby/object:Gem::Requirement
59
58
  requirements:
60
- - - '>='
59
+ - - ">="
61
60
  - !ruby/object:Gem::Version
62
61
  version: '0'
63
62
  type: :development
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
- - - '>='
66
+ - - ">="
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0'
70
69
  description: Nicely application-level wrapper for anti-virus software.
71
70
  email:
72
71
  - n2developer@nexway.co.jp
73
- - iori.onda@gmail.com
74
72
  executables:
75
73
  - clam_chowder
76
74
  extensions: []
77
75
  extra_rdoc_files: []
78
76
  files:
79
- - .gitignore
80
- - .ruby-version
77
+ - ".circleci/config.yml"
78
+ - ".gitignore"
79
+ - ".ruby-version"
81
80
  - Gemfile
82
81
  - LICENSE.txt
83
82
  - README.md
@@ -93,28 +92,27 @@ files:
93
92
  - lib/clam_chowder/version.rb
94
93
  - spec/clam_chowder_spec.rb
95
94
  - spec/fixtures/innocent.txt
96
- homepage: ''
95
+ homepage: https://github.com/nexway/clam_chowder
97
96
  licenses:
98
97
  - MIT
99
98
  metadata: {}
100
- post_install_message:
99
+ post_install_message:
101
100
  rdoc_options: []
102
101
  require_paths:
103
102
  - lib
104
103
  required_ruby_version: !ruby/object:Gem::Requirement
105
104
  requirements:
106
- - - ~>
105
+ - - ">="
107
106
  - !ruby/object:Gem::Version
108
107
  version: '2.0'
109
108
  required_rubygems_version: !ruby/object:Gem::Requirement
110
109
  requirements:
111
- - - '>='
110
+ - - ">="
112
111
  - !ruby/object:Gem::Version
113
112
  version: '0'
114
113
  requirements: []
115
- rubyforge_project:
116
- rubygems_version: 2.2.2
117
- signing_key:
114
+ rubygems_version: 3.4.10
115
+ signing_key:
118
116
  specification_version: 4
119
117
  summary: Nicely application-level wrapper for anti-virus software.
120
118
  test_files: