numberedlogdecorator 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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: b1eab2607572233f4a208a45ed24d1660b74baca3c9bedad9a6e54617d759712
4
+ data.tar.gz: 35345110bdcb8f7db0a55fb6390895287a377923f47ba1a13d23f58835f0863c
5
+ SHA512:
6
+ metadata.gz: 44be46d2281e7151d4eb0205902ab0d68976bf79e5cb3fc7f065be5e6be88c74e5ea676ff7b74bc37e4b66084fc91ad1b9dca0fe8a2082efb806f13d65e077ed
7
+ data.tar.gz: f22b2d4bddb25fd2c81828bba8074e0764b84a7340f0110da15ab9c28433ffded8ff67bb30d98aac3b3a4406ee120184af205f66c93213eb4f45f2bedd2cf0bd
@@ -0,0 +1,13 @@
1
+ require 'writer_decorator'
2
+
3
+ class NumberingWriter < WriterDecorator
4
+ def initialize(real_writer)
5
+ super(real_writer)
6
+ @line_number = 1
7
+ end
8
+
9
+ def write_line(line)
10
+ @real_writer.write_line("#{@line_number}: #{line}")
11
+ @line_number += 1
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ class SimpleWriter
2
+ def initialize(path)
3
+ @file = File.open(path, 'w')
4
+ end
5
+
6
+ def write_line(line)
7
+ @file.print(line)
8
+ end
9
+
10
+ def pos
11
+ @file.pos
12
+ end
13
+
14
+ def rewind
15
+ @file.rewind
16
+ end
17
+
18
+ def close
19
+ @file.close
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ class WriterDecorator
2
+ def initialize(real_writer)
3
+ @real_writer = real_writer
4
+ end
5
+
6
+ def write_line(line)
7
+ @real_writer.write_line(line)
8
+ end
9
+
10
+ def pos
11
+ @real_writer.pos
12
+ end
13
+
14
+ def rewind
15
+ @real_writer.rewind
16
+ end
17
+
18
+ def close
19
+ @real_writer.close
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: numberedlogdecorator
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Sarath Ravichandran
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-11-09 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: NumberedLogsDecorator.
14
+ email: sarath.ravichandran@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/numbering_writer.rb
20
+ - lib/simple_writer.rb
21
+ - lib/writer_decorator.rb
22
+ homepage: http://rubygems.org/gems/numberedlogdecorator
23
+ licenses: []
24
+ metadata: {}
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ required_rubygems_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ requirements: []
40
+ rubygems_version: 3.0.3
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: NumberedLogs.
44
+ test_files: []