vnstat-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +14 -0
  3. data/.document +5 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +1171 -0
  6. data/.travis.yml +14 -0
  7. data/Gemfile +11 -0
  8. data/Gemfile.lock +84 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +81 -0
  11. data/Rakefile +28 -0
  12. data/VERSION +1 -0
  13. data/lib/vnstat-ruby.rb +1 -0
  14. data/lib/vnstat.rb +65 -0
  15. data/lib/vnstat/configuration.rb +35 -0
  16. data/lib/vnstat/document.rb +56 -0
  17. data/lib/vnstat/error.rb +6 -0
  18. data/lib/vnstat/errors/executable_not_found.rb +7 -0
  19. data/lib/vnstat/errors/unknown_interface.rb +12 -0
  20. data/lib/vnstat/interface.rb +161 -0
  21. data/lib/vnstat/interface_collection.rb +106 -0
  22. data/lib/vnstat/parser.rb +54 -0
  23. data/lib/vnstat/result.rb +55 -0
  24. data/lib/vnstat/result/date_delegation.rb +31 -0
  25. data/lib/vnstat/result/day.rb +45 -0
  26. data/lib/vnstat/result/hour.rb +56 -0
  27. data/lib/vnstat/result/minute.rb +62 -0
  28. data/lib/vnstat/result/month.rb +47 -0
  29. data/lib/vnstat/result/time_comparable.rb +16 -0
  30. data/lib/vnstat/system_call.rb +90 -0
  31. data/lib/vnstat/traffic.rb +11 -0
  32. data/lib/vnstat/traffic/base.rb +46 -0
  33. data/lib/vnstat/traffic/daily.rb +40 -0
  34. data/lib/vnstat/traffic/hourly.rb +44 -0
  35. data/lib/vnstat/traffic/monthly.rb +27 -0
  36. data/lib/vnstat/traffic/tops.rb +39 -0
  37. data/lib/vnstat/utils.rb +68 -0
  38. data/spec/lib/vnstat/configuration_spec.rb +72 -0
  39. data/spec/lib/vnstat/document_spec.rb +54 -0
  40. data/spec/lib/vnstat/errors/executable_not_found_spec.rb +5 -0
  41. data/spec/lib/vnstat/errors/unknown_interface_spec.rb +5 -0
  42. data/spec/lib/vnstat/interface_collection_spec.rb +124 -0
  43. data/spec/lib/vnstat/interface_spec.rb +213 -0
  44. data/spec/lib/vnstat/result/day_spec.rb +39 -0
  45. data/spec/lib/vnstat/result/hour_spec.rb +43 -0
  46. data/spec/lib/vnstat/result/minute_spec.rb +52 -0
  47. data/spec/lib/vnstat/result/month_spec.rb +39 -0
  48. data/spec/lib/vnstat/result_spec.rb +86 -0
  49. data/spec/lib/vnstat/system_call_spec.rb +209 -0
  50. data/spec/lib/vnstat/traffic/daily_spec.rb +109 -0
  51. data/spec/lib/vnstat/traffic/hourly_spec.rb +153 -0
  52. data/spec/lib/vnstat/traffic/monthly_spec.rb +46 -0
  53. data/spec/lib/vnstat/traffic/tops_spec.rb +48 -0
  54. data/spec/lib/vnstat/utils_spec.rb +128 -0
  55. data/spec/lib/vnstat_spec.rb +61 -0
  56. data/spec/spec_helper.rb +98 -0
  57. data/spec/support/shared_examples/shared_examples_for_date_delegation.rb +19 -0
  58. data/spec/support/shared_examples/shared_examples_for_traffic_collection.rb +19 -0
  59. data/vnstat-ruby.gemspec +113 -0
  60. metadata +187 -0
@@ -0,0 +1,61 @@
1
+ describe Vnstat do
2
+ describe '.config' do
3
+ subject { described_class.config }
4
+
5
+ it { is_expected.to be_a Vnstat::Configuration }
6
+
7
+ it 'is only instantiated once' do
8
+ expect(subject).to be described_class.config
9
+ end
10
+ end
11
+
12
+ describe '.configure' do
13
+ it 'returns .config' do
14
+ expect(described_class.configure { 'test' }).to eq described_class.config
15
+ end
16
+
17
+ context 'when no block given' do
18
+ it 'raises' do
19
+ expect { described_class.configure }.to raise_error LocalJumpError
20
+ end
21
+ end
22
+
23
+ context 'when block given' do
24
+ it 'yields once' do
25
+ expect { |block| described_class.configure(&block) }
26
+ .to yield_control.exactly(1).times
27
+ end
28
+
29
+ it 'yields with configuration' do
30
+ expect { |block| described_class.configure(&block) }
31
+ .to yield_with_args(described_class.config)
32
+ end
33
+ end
34
+ end
35
+
36
+ describe '.interfaces' do
37
+ it 'calls Vnstat::InterfaceCollection.open' do
38
+ expect(Vnstat::InterfaceCollection).to receive(:open)
39
+
40
+ described_class.interfaces
41
+ end
42
+ end
43
+
44
+ describe '.[]' do
45
+ it 'delegates to #interfaces' do
46
+ allow(described_class).to receive(:interfaces) do
47
+ { 'eth0' => 'test' }
48
+ end
49
+
50
+ expect(described_class['eth0']).to eq 'test'
51
+ end
52
+ end
53
+
54
+ describe '.version' do
55
+ it 'calls Utils.call_executable with -v argument' do
56
+ expect(Vnstat::Utils).to receive(:call_executable).with('-v')
57
+
58
+ described_class.version
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,98 @@
1
+ if ENV['CODECLIMATE_REPO_TOKEN']
2
+ require 'codeclimate-test-reporter'
3
+ CodeClimate::TestReporter.start
4
+ end
5
+
6
+ require 'rubygems'
7
+ require 'bundler'
8
+ begin
9
+ Bundler.setup(:default, :development)
10
+ rescue Bundler::BundlerError => e
11
+ $stderr.puts e.message
12
+ $stderr.puts "Run `bundle install` to install missing gems"
13
+ exit e.status_code
14
+ end
15
+
16
+ require 'vnstat'
17
+
18
+ Dir.glob(File.join(File.dirname(__FILE__), 'support', '**', '*.rb')).each do |file|
19
+ require file
20
+ end
21
+
22
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
23
+ RSpec.configure do |config|
24
+ # rspec-expectations config goes here. You can use an alternate
25
+ # assertion/expectation library such as wrong or the stdlib/minitest
26
+ # assertions if you prefer.
27
+ config.expect_with :rspec do |expectations|
28
+ # This option will default to `true` in RSpec 4. It makes the `description`
29
+ # and `failure_message` of custom matchers include text for helper methods
30
+ # defined using `chain`, e.g.:
31
+ # be_bigger_than(2).and_smaller_than(4).description
32
+ # # => "be bigger than 2 and smaller than 4"
33
+ # ...rather than:
34
+ # # => "be bigger than 2"
35
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
36
+ end
37
+
38
+ # rspec-mocks config goes here. You can use an alternate test double
39
+ # library (such as bogus or mocha) by changing the `mock_with` option here.
40
+ config.mock_with :rspec do |mocks|
41
+ # Prevents you from mocking or stubbing a method that does not exist on
42
+ # a real object. This is generally recommended, and will default to
43
+ # `true` in RSpec 4.
44
+ mocks.verify_partial_doubles = true
45
+ end
46
+
47
+ # The settings below are suggested to provide a good initial experience
48
+ # with RSpec, but feel free to customize to your heart's content.
49
+ # These two settings work together to allow you to limit a spec run
50
+ # to individual examples or groups you care about by tagging them with
51
+ # `:focus` metadata. When nothing is tagged with `:focus`, all examples
52
+ # get run.
53
+ config.filter_run :focus
54
+ config.run_all_when_everything_filtered = true
55
+
56
+ # Allows RSpec to persist some state between runs in order to support
57
+ # the `--only-failures` and `--next-failure` CLI options. We recommend
58
+ # you configure your source control system to ignore this file.
59
+ # config.example_status_persistence_file_path = "spec/examples.txt"
60
+
61
+ # Limits the available syntax to the non-monkey patched syntax that is
62
+ # recommended. For more details, see:
63
+ # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax
64
+ # - http://www.teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/
65
+ # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching
66
+ # config.disable_monkey_patching!
67
+
68
+ # This setting enables warnings. It's recommended, but in some cases may
69
+ # be too noisy due to issues in dependencies.
70
+ # config.warnings = true
71
+
72
+ # Many RSpec users commonly either run the entire suite or an individual
73
+ # file, and it's useful to allow more verbose output when running an
74
+ # individual spec file.
75
+ # if config.files_to_run.one?
76
+ # # Use the documentation formatter for detailed output,
77
+ # # unless a formatter has already been configured
78
+ # # (e.g. via a command-line flag).
79
+ # config.default_formatter = 'doc'
80
+ # end
81
+
82
+ # Print the 10 slowest examples and example groups at the
83
+ # end of the spec run, to help surface which specs are running
84
+ # particularly slow.
85
+ # config.profile_examples = 10
86
+
87
+ # Run specs in random order to surface order dependencies. If you find an
88
+ # order dependency and want to debug it, you can fix the order by providing
89
+ # the seed, which is printed after each run.
90
+ # --seed 1234
91
+ config.order = :random
92
+
93
+ # Seed global randomization in this process using the `--seed` CLI option.
94
+ # Setting this allows you to use `--seed` to deterministically reproduce
95
+ # test failures related to randomization by passing the same `--seed` value
96
+ # as the one that triggered the failure.
97
+ Kernel.srand config.seed
98
+ end
@@ -0,0 +1,19 @@
1
+ shared_examples 'date delegation' do
2
+ describe '#year' do
3
+ it 'matches the year from #date' do
4
+ expect(subject.year).to eq subject.date.year
5
+ end
6
+ end
7
+
8
+ describe '#month' do
9
+ it 'matches the month from #date' do
10
+ expect(subject.month).to eq subject.date.month
11
+ end
12
+ end
13
+
14
+ describe '#day' do
15
+ it 'matches the day from #date' do
16
+ expect(subject.day).to eq subject.date.day
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ shared_examples 'traffic collection' do
2
+ it 'includes Enumerable' do
3
+ expect(described_class).to include Enumerable
4
+ end
5
+
6
+ describe '#each' do
7
+ context 'when block given' do
8
+ it 'returns an Array' do
9
+ expect(subject.each {}).to be_an Array
10
+ end
11
+ end
12
+
13
+ context 'when no block given' do
14
+ it 'returns an Enumerator' do
15
+ expect(subject.each).to be_an Enumerator
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,113 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: vnstat-ruby 1.0.0 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "vnstat-ruby"
9
+ s.version = "1.0.0"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Tobias Casper"]
14
+ s.date = "2015-11-18"
15
+ s.description = "A Ruby wrapper for vnstat"
16
+ s.email = "tobias.casper@gmail.com"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".codeclimate.yml",
23
+ ".document",
24
+ ".rspec",
25
+ ".rubocop.yml",
26
+ ".travis.yml",
27
+ "Gemfile",
28
+ "Gemfile.lock",
29
+ "LICENSE.txt",
30
+ "README.md",
31
+ "Rakefile",
32
+ "VERSION",
33
+ "lib/vnstat-ruby.rb",
34
+ "lib/vnstat.rb",
35
+ "lib/vnstat/configuration.rb",
36
+ "lib/vnstat/document.rb",
37
+ "lib/vnstat/error.rb",
38
+ "lib/vnstat/errors/executable_not_found.rb",
39
+ "lib/vnstat/errors/unknown_interface.rb",
40
+ "lib/vnstat/interface.rb",
41
+ "lib/vnstat/interface_collection.rb",
42
+ "lib/vnstat/parser.rb",
43
+ "lib/vnstat/result.rb",
44
+ "lib/vnstat/result/date_delegation.rb",
45
+ "lib/vnstat/result/day.rb",
46
+ "lib/vnstat/result/hour.rb",
47
+ "lib/vnstat/result/minute.rb",
48
+ "lib/vnstat/result/month.rb",
49
+ "lib/vnstat/result/time_comparable.rb",
50
+ "lib/vnstat/system_call.rb",
51
+ "lib/vnstat/traffic.rb",
52
+ "lib/vnstat/traffic/base.rb",
53
+ "lib/vnstat/traffic/daily.rb",
54
+ "lib/vnstat/traffic/hourly.rb",
55
+ "lib/vnstat/traffic/monthly.rb",
56
+ "lib/vnstat/traffic/tops.rb",
57
+ "lib/vnstat/utils.rb",
58
+ "spec/lib/vnstat/configuration_spec.rb",
59
+ "spec/lib/vnstat/document_spec.rb",
60
+ "spec/lib/vnstat/errors/executable_not_found_spec.rb",
61
+ "spec/lib/vnstat/errors/unknown_interface_spec.rb",
62
+ "spec/lib/vnstat/interface_collection_spec.rb",
63
+ "spec/lib/vnstat/interface_spec.rb",
64
+ "spec/lib/vnstat/result/day_spec.rb",
65
+ "spec/lib/vnstat/result/hour_spec.rb",
66
+ "spec/lib/vnstat/result/minute_spec.rb",
67
+ "spec/lib/vnstat/result/month_spec.rb",
68
+ "spec/lib/vnstat/result_spec.rb",
69
+ "spec/lib/vnstat/system_call_spec.rb",
70
+ "spec/lib/vnstat/traffic/daily_spec.rb",
71
+ "spec/lib/vnstat/traffic/hourly_spec.rb",
72
+ "spec/lib/vnstat/traffic/monthly_spec.rb",
73
+ "spec/lib/vnstat/traffic/tops_spec.rb",
74
+ "spec/lib/vnstat/utils_spec.rb",
75
+ "spec/lib/vnstat_spec.rb",
76
+ "spec/spec_helper.rb",
77
+ "spec/support/shared_examples/shared_examples_for_date_delegation.rb",
78
+ "spec/support/shared_examples/shared_examples_for_traffic_collection.rb",
79
+ "vnstat-ruby.gemspec"
80
+ ]
81
+ s.homepage = "http://github.com/tlux/vnstat-ruby"
82
+ s.licenses = ["MIT"]
83
+ s.rubygems_version = "2.4.5.1"
84
+ s.summary = "A Ruby wrapper for vnstat"
85
+
86
+ if s.respond_to? :specification_version then
87
+ s.specification_version = 4
88
+
89
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
90
+ s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
91
+ s.add_development_dependency(%q<rspec>, ["~> 3.0"])
92
+ s.add_development_dependency(%q<yard>, [">= 0"])
93
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
94
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
95
+ s.add_development_dependency(%q<codeclimate-test-reporter>, [">= 0"])
96
+ else
97
+ s.add_dependency(%q<nokogiri>, [">= 0"])
98
+ s.add_dependency(%q<rspec>, ["~> 3.0"])
99
+ s.add_dependency(%q<yard>, [">= 0"])
100
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
101
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
102
+ s.add_dependency(%q<codeclimate-test-reporter>, [">= 0"])
103
+ end
104
+ else
105
+ s.add_dependency(%q<nokogiri>, [">= 0"])
106
+ s.add_dependency(%q<rspec>, ["~> 3.0"])
107
+ s.add_dependency(%q<yard>, [">= 0"])
108
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
109
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
110
+ s.add_dependency(%q<codeclimate-test-reporter>, [">= 0"])
111
+ end
112
+ end
113
+
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vnstat-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Tobias Casper
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: yard
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: jeweler
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 2.0.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 2.0.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: codeclimate-test-reporter
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: A Ruby wrapper for vnstat
98
+ email: tobias.casper@gmail.com
99
+ executables: []
100
+ extensions: []
101
+ extra_rdoc_files:
102
+ - LICENSE.txt
103
+ - README.md
104
+ files:
105
+ - ".codeclimate.yml"
106
+ - ".document"
107
+ - ".rspec"
108
+ - ".rubocop.yml"
109
+ - ".travis.yml"
110
+ - Gemfile
111
+ - Gemfile.lock
112
+ - LICENSE.txt
113
+ - README.md
114
+ - Rakefile
115
+ - VERSION
116
+ - lib/vnstat-ruby.rb
117
+ - lib/vnstat.rb
118
+ - lib/vnstat/configuration.rb
119
+ - lib/vnstat/document.rb
120
+ - lib/vnstat/error.rb
121
+ - lib/vnstat/errors/executable_not_found.rb
122
+ - lib/vnstat/errors/unknown_interface.rb
123
+ - lib/vnstat/interface.rb
124
+ - lib/vnstat/interface_collection.rb
125
+ - lib/vnstat/parser.rb
126
+ - lib/vnstat/result.rb
127
+ - lib/vnstat/result/date_delegation.rb
128
+ - lib/vnstat/result/day.rb
129
+ - lib/vnstat/result/hour.rb
130
+ - lib/vnstat/result/minute.rb
131
+ - lib/vnstat/result/month.rb
132
+ - lib/vnstat/result/time_comparable.rb
133
+ - lib/vnstat/system_call.rb
134
+ - lib/vnstat/traffic.rb
135
+ - lib/vnstat/traffic/base.rb
136
+ - lib/vnstat/traffic/daily.rb
137
+ - lib/vnstat/traffic/hourly.rb
138
+ - lib/vnstat/traffic/monthly.rb
139
+ - lib/vnstat/traffic/tops.rb
140
+ - lib/vnstat/utils.rb
141
+ - spec/lib/vnstat/configuration_spec.rb
142
+ - spec/lib/vnstat/document_spec.rb
143
+ - spec/lib/vnstat/errors/executable_not_found_spec.rb
144
+ - spec/lib/vnstat/errors/unknown_interface_spec.rb
145
+ - spec/lib/vnstat/interface_collection_spec.rb
146
+ - spec/lib/vnstat/interface_spec.rb
147
+ - spec/lib/vnstat/result/day_spec.rb
148
+ - spec/lib/vnstat/result/hour_spec.rb
149
+ - spec/lib/vnstat/result/minute_spec.rb
150
+ - spec/lib/vnstat/result/month_spec.rb
151
+ - spec/lib/vnstat/result_spec.rb
152
+ - spec/lib/vnstat/system_call_spec.rb
153
+ - spec/lib/vnstat/traffic/daily_spec.rb
154
+ - spec/lib/vnstat/traffic/hourly_spec.rb
155
+ - spec/lib/vnstat/traffic/monthly_spec.rb
156
+ - spec/lib/vnstat/traffic/tops_spec.rb
157
+ - spec/lib/vnstat/utils_spec.rb
158
+ - spec/lib/vnstat_spec.rb
159
+ - spec/spec_helper.rb
160
+ - spec/support/shared_examples/shared_examples_for_date_delegation.rb
161
+ - spec/support/shared_examples/shared_examples_for_traffic_collection.rb
162
+ - vnstat-ruby.gemspec
163
+ homepage: http://github.com/tlux/vnstat-ruby
164
+ licenses:
165
+ - MIT
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ requirements: []
182
+ rubyforge_project:
183
+ rubygems_version: 2.4.5.1
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: A Ruby wrapper for vnstat
187
+ test_files: []