sysadmin 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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/doc/ChangeLog CHANGED
@@ -1,3 +1,23 @@
1
+ === 0.0.5 / 2012-06-06
2
+
3
+ * Add Class
4
+
5
+ * Sysadmin::FileHandler
6
+
7
+ * Add Methods
8
+
9
+ * File.zread
10
+
11
+ * Add English doc
12
+
13
+
14
+ === 0.0.4 / 2012-06-04
15
+
16
+ * Bug fix
17
+
18
+ * Tempfile handling improvement for ruby 1.8.x
19
+
20
+
1
21
  === 0.0.3 / 2012-05-28
2
22
 
3
23
  * Add docs
data/doc/README ADDED
@@ -0,0 +1,60 @@
1
+ sysadmin
2
+
3
+ Name
4
+ sysadmin - general-purpose library for system management
5
+
6
+ Syntax
7
+ require 'sysadmin'
8
+
9
+ Description
10
+ This is a collection of general-purpose processing library
11
+ frequently used in scripts for system administration.
12
+
13
+
14
+ ============
15
+ Installation
16
+ ============
17
+
18
+ $ gem install sysadmin
19
+
20
+
21
+ ======
22
+ Module
23
+ ======
24
+
25
+ - Sysadmin::FileString
26
+
27
+ String manipulation in the file.
28
+
29
+ - Sysadmin::FileHandler
30
+
31
+ Extend the File class.
32
+
33
+
34
+ ======
35
+ Method
36
+ ======
37
+
38
+ * Sysadmin::FileString.append(file, str)
39
+
40
+ Append a string to a file.
41
+
42
+ * Sysadmin::FileString.newfile(file, str)
43
+
44
+ Create a new file.
45
+
46
+ * Sysadmin::FileString.replace(file, src, out)
47
+
48
+ Replace the string in the file.
49
+
50
+ * Sysadmin :: FileString.delete(file, str)
51
+
52
+ Remove the rows that match the string from the file.
53
+
54
+
55
+ * File.zread (file)
56
+
57
+ Referred by Sysadmin::FileHandler.
58
+ Read the file regardless of the uncompressed / compressed gz.
59
+
60
+
data/doc/README.ja CHANGED
@@ -24,6 +24,12 @@ $ gem install sysadmin
24
24
 
25
25
  - Sysadmin::FileString
26
26
 
27
+ ファイル内の文字列操作をおこなう
28
+
29
+ - Sysadmin::FileHandler
30
+
31
+ File クラスを拡張する
32
+
27
33
 
28
34
  ========
29
35
  メソッド
@@ -45,3 +51,10 @@ $ gem install sysadmin
45
51
 
46
52
  ファイルから文字列にマッチする行を取り除く
47
53
 
54
+
55
+ * File.zread(file)
56
+
57
+ Sysadmin::FileHandler を呼ぶと追加される
58
+ gz 圧縮 / 非圧縮に関わらずファイルを読み込む
59
+
60
+
data/lib/sysadmin.rb CHANGED
@@ -1,14 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
2
  # Name:: Sysadmin::Ruby
3
3
  # Author:: 774 <http://id774.net>
4
- # Version:: 0.0.3
5
4
  # Created:: Mar 23, 2012
6
- # Updated:: Jun 05, 2012
5
+ # Updated:: Jun 06, 2012
7
6
  # Copyright:: 774 Copyright (c) 2012
8
7
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
9
8
 
10
9
  module Sysadmin
11
- VERSION = "0.0.4"
10
+ VERSION = "0.0.5"
12
11
  USER_DIR = "/."
13
12
  ROOT_DIR = File.expand_path("..", File.dirname(__FILE__))
14
13
  $:.unshift ROOT_DIR
@@ -16,4 +15,5 @@ module Sysadmin
16
15
  $:.unshift ROOT_DIR + '/lib/sysadmin'
17
16
 
18
17
  require 'file_string'
18
+ require 'file_handler'
19
19
  end
@@ -0,0 +1,29 @@
1
+ # Name:: Sysadmin::FileString
2
+ # Author:: 774 <http://id774.net>
3
+ # Created:: Jun 06, 2012
4
+ # Updated:: Jun 06, 2012
5
+ # Copyright:: 774 Copyright (c) 2012
6
+ # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
7
+
8
+
9
+ module Sysadmin
10
+ module FileHandler
11
+ require 'zlib'
12
+ Zlib::GZIP_MAGIC = "\x1F\x8B"
13
+ Zlib::GZIP_MAGIC.force_encoding("ASCII-8BIT") if RUBY_VERSION >= "1.9"
14
+
15
+ def File.zread(file)
16
+ Object.module_eval do
17
+ open(file) {|f|
18
+ magic = f.read(2)
19
+ f.rewind
20
+ if magic == Zlib::GZIP_MAGIC
21
+ Zlib::GzipReader.wrap(f) {|gz|gz.read}
22
+ else
23
+ f.read
24
+ end
25
+ }
26
+ end
27
+ end
28
+ end
29
+ end
@@ -1,7 +1,7 @@
1
1
  # Name:: Sysadmin::FileString
2
2
  # Author:: 774 <http://id774.net>
3
3
  # Created:: Mar 23, 2012
4
- # Updated:: Mar 24, 2012
4
+ # Updated:: Jun 04, 2012
5
5
  # Copyright:: 774 Copyright (c) 2012
6
6
  # License:: Licensed under the GNU GENERAL PUBLIC LICENSE, Version 3.0.
7
7
 
data/sysadmin.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "sysadmin"
8
- s.version = "0.0.4"
8
+ s.version = "0.0.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["id774"]
12
- s.date = "2012-06-05"
12
+ s.date = "2012-06-06"
13
13
  s.description = "System Administration General Library"
14
14
  s.email = "idnanashi@gmail.com"
15
15
  s.extra_rdoc_files = [
@@ -25,12 +25,15 @@ Gem::Specification.new do |s|
25
25
  "doc/COPYING.LESSER",
26
26
  "doc/ChangeLog",
27
27
  "doc/LICENSE",
28
+ "doc/README",
28
29
  "doc/README.ja",
29
30
  "lib/sysadmin.rb",
31
+ "lib/sysadmin/file_handler.rb",
30
32
  "lib/sysadmin/file_string.rb",
31
33
  "script/.gitkeep",
32
34
  "script/build",
33
35
  "sysadmin.gemspec",
36
+ "test/lib/file_handler_test.rb",
34
37
  "test/lib/file_string_1_test.rb",
35
38
  "test/lib/file_string_2_test.rb",
36
39
  "test/sysadmin_test.rb",
@@ -0,0 +1,40 @@
1
+ #!/usr/bin/env ruby
2
+ $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
3
+
4
+ require 'rubygems'
5
+ require 'test/unit'
6
+ require 'tempfile'
7
+ require 'zlib'
8
+ require 'sysadmin'
9
+
10
+ class Test_FileHandler < Test::Unit::TestCase
11
+ def test_zread_uncompressed
12
+ @uncompressed = Tempfile::new("test.txt")
13
+ try = "uncompressed"
14
+ expect = "uncompressed\n"
15
+
16
+ Sysadmin::FileString.append(@uncompressed.path, try)
17
+
18
+ text = File.zread(@uncompressed.path)
19
+ assert_not_nil(text)
20
+ assert_equal(expect, text)
21
+
22
+ @uncompressed.close
23
+ end
24
+
25
+ def test_zread_compressed
26
+ try = "compressed"
27
+ expect = "compressed\n"
28
+
29
+ @compressed = Tempfile::new("test2.txt")
30
+ Zlib::GzipWriter.open(@compressed.path) do |gz|
31
+ gz.puts try
32
+ end
33
+
34
+ text = File.zread(@compressed.path)
35
+ assert_not_nil(text)
36
+ assert_equal(expect, text)
37
+
38
+ @compressed.close
39
+ end
40
+ end
@@ -8,7 +8,7 @@ require 'sysadmin'
8
8
 
9
9
  class Test_Sysadmin < Test::Unit::TestCase
10
10
  def test_version
11
- expect = '0.0.4'
11
+ expect = '0.0.5'
12
12
  version = Sysadmin.const_get(:VERSION)
13
13
  p "sysadmin #{version}"
14
14
  assert_equal(expect, version)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sysadmin
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,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-05 00:00:00.000000000 Z
12
+ date: 2012-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cucumber
@@ -75,12 +75,15 @@ files:
75
75
  - doc/COPYING.LESSER
76
76
  - doc/ChangeLog
77
77
  - doc/LICENSE
78
+ - doc/README
78
79
  - doc/README.ja
79
80
  - lib/sysadmin.rb
81
+ - lib/sysadmin/file_handler.rb
80
82
  - lib/sysadmin/file_string.rb
81
83
  - script/.gitkeep
82
84
  - script/build
83
85
  - sysadmin.gemspec
86
+ - test/lib/file_handler_test.rb
84
87
  - test/lib/file_string_1_test.rb
85
88
  - test/lib/file_string_2_test.rb
86
89
  - test/sysadmin_test.rb