mem_info 1.0.0 → 1.0.1

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/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 watsonian
1
+ Copyright (c) 2012 watsonian
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -0,0 +1,33 @@
1
+ # mem_info
2
+
3
+ This is a lightweight library that wraps access to the data in /proc/meminfo found in many linux variants, which contains live memory usage information about a machine.
4
+
5
+ ## Getting Started
6
+
7
+ Install the gem:
8
+
9
+ ```ruby
10
+ gem install mem_info
11
+ ```
12
+
13
+ Require the library like you would expect:
14
+
15
+ ```ruby
16
+ require 'mem_info'
17
+ ```
18
+
19
+ Then create a new MemInfo object:
20
+
21
+ ```ruby
22
+ m = MemInfo.new
23
+ m.memtotal => 70000
24
+ m.memfree => 54300
25
+ m.memused => 15700
26
+ m.free_buffers => 75000
27
+ ```
28
+
29
+ Take a look in `lib/mem_info.rb` for all fields that are available.
30
+
31
+ ## Copyright
32
+
33
+ Copyright (c) 2012 Joel Watson. See LICENSE for details.
data/Rakefile CHANGED
@@ -34,7 +34,7 @@ task :spec => :check_dependencies
34
34
 
35
35
  task :default => :spec
36
36
 
37
- require 'rake/rdoctask'
37
+ require 'rdoc/task'
38
38
  Rake::RDocTask.new do |rdoc|
39
39
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
40
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -1,4 +1,6 @@
1
1
  class MemInfo
2
+ class NoProcData < Exception; end
3
+
2
4
  attr_accessor :memtotal, :memfree, :buffers, :cached, :swapcached, :active, :inactive,
3
5
  :active_anon, :inactive_anon, :active_file, :inactive_file, :unevictable,
4
6
  :mlocked, :swaptotal, :swapfree, :dirty, :writeback, :anonpages, :mapped,
@@ -9,7 +11,8 @@ class MemInfo
9
11
  @@attributes = {
10
12
  :memtotal => "MemTotal",
11
13
  :memfree => "MemFree",
12
- :buffers => "Cached",
14
+ :buffers => "Buffers",
15
+ :cached => "Cached",
13
16
  :swapcached => "SwapCached",
14
17
  :active => "Active",
15
18
  :inactive => "Inactive",
@@ -51,17 +54,21 @@ class MemInfo
51
54
  end
52
55
  end
53
56
  else
54
- raise "This system doesn't have /proc/meminfo data."
57
+ raise NoProcData, "This system doesn't have /proc/meminfo data."
55
58
  end
56
59
  end
57
60
 
58
61
  def memused
59
62
  @memtotal - @memfree
60
63
  end
64
+
65
+ def free_buffers
66
+ @memfree + @buffers + @cached
67
+ end
61
68
 
62
69
  private
63
70
  def regex_match(attribute, line)
64
71
  regex = Regexp.new("#{@@attributes[attribute]}:\\s*(.*?)\\s")
65
72
  regex.match(line)[1] if regex === line
66
73
  end
67
- end
74
+ end
@@ -1,49 +1,42 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = %q{mem_info}
8
- s.version = "1.0.0"
7
+ s.name = "mem_info"
8
+ s.version = "1.0.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["watsonian"]
12
- s.date = %q{2010-02-07}
13
- s.description = %q{Ruby wrapper for /proc/meminfo data}
14
- s.email = %q{watsonian@gmail.com}
12
+ s.date = "2012-09-04"
13
+ s.description = "Ruby wrapper for /proc/meminfo data"
14
+ s.email = "watsonian@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE",
17
- "README.rdoc"
17
+ "README.md"
18
18
  ]
19
19
  s.files = [
20
20
  ".document",
21
- ".gitignore",
22
- "LICENSE",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "lib/mem_info.rb",
27
- "mem_info.gemspec",
28
- "spec/mem_info_spec.rb",
29
- "spec/spec.opts",
30
- "spec/spec_helper.rb"
31
- ]
32
- s.homepage = %q{http://github.com/watsonian/mem_info}
33
- s.rdoc_options = ["--charset=UTF-8"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = %q{1.3.5}
36
- s.summary = %q{Ruby wrapper for /proc/meminfo data}
37
- s.test_files = [
21
+ "LICENSE",
22
+ "README.md",
23
+ "Rakefile",
24
+ "VERSION",
25
+ "lib/mem_info.rb",
26
+ "mem_info.gemspec",
38
27
  "spec/mem_info_spec.rb",
39
- "spec/spec_helper.rb"
28
+ "spec/spec.opts",
29
+ "spec/spec_helper.rb"
40
30
  ]
31
+ s.homepage = "http://github.com/watsonian/mem_info"
32
+ s.require_paths = ["lib"]
33
+ s.rubygems_version = "1.8.24"
34
+ s.summary = "Ruby wrapper for /proc/meminfo data"
41
35
 
42
36
  if s.respond_to? :specification_version then
43
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
44
37
  s.specification_version = 3
45
38
 
46
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
39
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
47
40
  s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
48
41
  else
49
42
  s.add_dependency(%q<rspec>, [">= 1.2.9"])
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mem_info
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ hash: 21
5
+ prerelease:
6
+ segments:
7
+ - 1
8
+ - 0
9
+ - 1
10
+ version: 1.0.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - watsonian
@@ -9,19 +15,24 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-02-07 00:00:00 -08:00
13
- default_executable:
18
+ date: 2012-09-04 00:00:00 Z
14
19
  dependencies:
15
20
  - !ruby/object:Gem::Dependency
16
21
  name: rspec
17
- type: :development
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
20
25
  requirements:
21
26
  - - ">="
22
27
  - !ruby/object:Gem::Version
28
+ hash: 13
29
+ segments:
30
+ - 1
31
+ - 2
32
+ - 9
23
33
  version: 1.2.9
24
- version:
34
+ type: :development
35
+ version_requirements: *id001
25
36
  description: Ruby wrapper for /proc/meminfo data
26
37
  email: watsonian@gmail.com
27
38
  executables: []
@@ -30,12 +41,11 @@ extensions: []
30
41
 
31
42
  extra_rdoc_files:
32
43
  - LICENSE
33
- - README.rdoc
44
+ - README.md
34
45
  files:
35
46
  - .document
36
- - .gitignore
37
47
  - LICENSE
38
- - README.rdoc
48
+ - README.md
39
49
  - Rakefile
40
50
  - VERSION
41
51
  - lib/mem_info.rb
@@ -43,34 +53,38 @@ files:
43
53
  - spec/mem_info_spec.rb
44
54
  - spec/spec.opts
45
55
  - spec/spec_helper.rb
46
- has_rdoc: true
47
56
  homepage: http://github.com/watsonian/mem_info
48
57
  licenses: []
49
58
 
50
59
  post_install_message:
51
- rdoc_options:
52
- - --charset=UTF-8
60
+ rdoc_options: []
61
+
53
62
  require_paths:
54
63
  - lib
55
64
  required_ruby_version: !ruby/object:Gem::Requirement
65
+ none: false
56
66
  requirements:
57
67
  - - ">="
58
68
  - !ruby/object:Gem::Version
69
+ hash: 3
70
+ segments:
71
+ - 0
59
72
  version: "0"
60
- version:
61
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
+ none: false
62
75
  requirements:
63
76
  - - ">="
64
77
  - !ruby/object:Gem::Version
78
+ hash: 3
79
+ segments:
80
+ - 0
65
81
  version: "0"
66
- version:
67
82
  requirements: []
68
83
 
69
84
  rubyforge_project:
70
- rubygems_version: 1.3.5
85
+ rubygems_version: 1.8.24
71
86
  signing_key:
72
87
  specification_version: 3
73
88
  summary: Ruby wrapper for /proc/meminfo data
74
- test_files:
75
- - spec/mem_info_spec.rb
76
- - spec/spec_helper.rb
89
+ test_files: []
90
+
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
-
21
- ## PROJECT::SPECIFIC
@@ -1,26 +0,0 @@
1
- = mem_info
2
-
3
- This is a lightweight library that wraps access to the data in /proc/meminfo found in many linux variants, which contains live memory usage information about a machine.
4
-
5
- == Getting Started
6
-
7
- Install the gem:
8
-
9
- gem install mem_info
10
-
11
- Require the library like you would expect:
12
-
13
- require 'mem_info'
14
-
15
- Then create a new MemInfo object:
16
-
17
- m = MemInfo.new
18
- m.memtotal => 70000
19
- m.memfree => 54300
20
- m.memused => 15700
21
-
22
- Take a look in lib/mem_info.rb for all fields that are available.
23
-
24
- == Copyright
25
-
26
- Copyright (c) 2010 Joel Watson. See LICENSE for details.