cobalt 0.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.
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,21 @@
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
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 kazuyoshi tlacaelel
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,17 @@
1
+ = cobalt
2
+
3
+ Description goes here.
4
+
5
+ == Note on Patches/Pull Requests
6
+
7
+ * Fork the project.
8
+ * Make your feature addition or bug fix.
9
+ * Add tests for it. This is important so I don't break it in a
10
+ future version unintentionally.
11
+ * Commit, do not mess with rakefile, version, or history.
12
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
13
+ * Send me a pull request. Bonus points for topic branches.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2012 kazuyoshi tlacaelel. See LICENSE for details.
@@ -0,0 +1,53 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = 'cobalt'
8
+ gem.summary = %Q{Console for ruby.}
9
+ gem.description = %Q{Colored, Nesting, Multiple logging management.}
10
+ gem.email = 'kazu.dev@gmail.com'
11
+ gem.homepage = 'http://github.com/ktlacaelel/cobalt'
12
+ gem.authors = ['Fernando Trasviña', 'Pablo Antonio Gonzalez Cervantes', 'kazuyoshi tlacaelel']
13
+ gem.add_development_dependency 'thoughtbot-shoulda', '>= 0'
14
+ gem.add_development_dependency 'isna', '>= 0'
15
+ end
16
+ Jeweler::GemcutterTasks.new
17
+ rescue LoadError
18
+ puts 'Jeweler (or a dependency) not available. Install it with: gem install jeweler'
19
+ end
20
+
21
+ require 'rake/testtask'
22
+ Rake::TestTask.new(:test) do |test|
23
+ test.libs << 'lib' << 'test'
24
+ test.pattern = 'test/**/test_*.rb'
25
+ test.verbose = true
26
+ end
27
+
28
+ begin
29
+ require 'rcov/rcovtask'
30
+ Rcov::RcovTask.new do |test|
31
+ test.libs << 'test'
32
+ test.pattern = 'test/**/test_*.rb'
33
+ test.verbose = true
34
+ end
35
+ rescue LoadError
36
+ task :rcov do
37
+ abort 'RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov'
38
+ end
39
+ end
40
+
41
+ task :test => :check_dependencies
42
+
43
+ task :default => :test
44
+
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ''
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "cobalt #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,117 @@
1
+ require 'rubygems'
2
+ require 'isna'
3
+ require 'logger'
4
+
5
+ module Cobalt
6
+
7
+ class Console
8
+
9
+ attr_accessor :keep_in_buffer, :separator_length
10
+
11
+ def initialize( options = {} )
12
+ @indent = 0
13
+ @loggers = options[:loggers] || [::Logger.new(STDOUT)]
14
+ @keep_in_buffer = false
15
+ @temporal_buffer = []
16
+ @separator_length = 120
17
+ @color = :white
18
+ end
19
+
20
+ def add_logger logger
21
+ @loggers << logger
22
+ end
23
+
24
+ def remove_logger logger
25
+ @loggers = @loggers - [logger]
26
+ end
27
+
28
+ def release_buffer
29
+ @keep_in_buffer = false
30
+ @temporal_buffer.each do |line|
31
+ @loggers.each { |logger| logger.info(line) }
32
+ end
33
+ @temporal_buffer = []
34
+ nil
35
+ end
36
+
37
+ def log(*objects)
38
+ objects.each do |object|
39
+
40
+ the_string = object.to_s
41
+ the_string = the_string.to_ansi.send(@color).to_s
42
+ the_string = the_string.gsub(/^/, ' ' * @indent)
43
+
44
+ @loggers.each do |logger|
45
+ if @keep_in_buffer
46
+ @temporal_buffer << the_string
47
+ next
48
+ end
49
+ logger.info the_string
50
+ end
51
+
52
+ end
53
+ self
54
+ end
55
+
56
+ def pp(*objects)
57
+ dump = ""
58
+ if objects.size > 1
59
+ PP.pp(objects, dump)
60
+ else
61
+ PP.pp(objects.first, dump)
62
+ end
63
+ log(dump)
64
+ end
65
+
66
+ def notice(*objects)
67
+ color(:cyan) { log(*objects) }
68
+ end
69
+
70
+ def warn(*objects)
71
+ color(:yellow) { log(*objects) }
72
+ end
73
+
74
+ def error(*objects)
75
+ color(:red) { log(*objects) }
76
+ end
77
+
78
+ def separator(type = '-')
79
+ log((type * (@separator_length - @indent)))
80
+ end
81
+
82
+ def space(lines = 1)
83
+ lines.times { self.log('') }
84
+ self
85
+ end
86
+
87
+ def indent
88
+ if block_given?
89
+ @indent = @indent + 2
90
+ yield
91
+ @indent = @indent - 2
92
+ else
93
+ @indent = @indent + 2
94
+ end
95
+ self
96
+ end
97
+
98
+ def outdent
99
+ @indent = @indent - 2
100
+ self
101
+ end
102
+
103
+ def color(symbol)
104
+ if block_given?
105
+ old = @color
106
+ @color = symbol
107
+ yield
108
+ @color = old
109
+ else
110
+ @color = symbol
111
+ end
112
+ self
113
+ end
114
+
115
+ end
116
+
117
+ end
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'test/unit'
3
+ require 'shoulda'
4
+
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
7
+ require 'cobalt'
8
+
9
+ class Test::Unit::TestCase
10
+ end
@@ -0,0 +1,7 @@
1
+ require 'helper'
2
+
3
+ class TestCobalt < Test::Unit::TestCase
4
+ should "probably rename this file and start testing for real" do
5
+ flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cobalt
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - "Fernando Trasvi\xC3\xB1a"
14
+ - Pablo Antonio Gonzalez Cervantes
15
+ - kazuyoshi tlacaelel
16
+ autorequire:
17
+ bindir: bin
18
+ cert_chain: []
19
+
20
+ date: 2012-03-02 00:00:00 -06:00
21
+ default_executable:
22
+ dependencies:
23
+ - !ruby/object:Gem::Dependency
24
+ name: thoughtbot-shoulda
25
+ prerelease: false
26
+ requirement: &id001 !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ hash: 3
32
+ segments:
33
+ - 0
34
+ version: "0"
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: isna
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ hash: 3
46
+ segments:
47
+ - 0
48
+ version: "0"
49
+ type: :development
50
+ version_requirements: *id002
51
+ description: Colored, Nesting, Multiple logging management.
52
+ email: kazu.dev@gmail.com
53
+ executables: []
54
+
55
+ extensions: []
56
+
57
+ extra_rdoc_files:
58
+ - LICENSE
59
+ - README.rdoc
60
+ files:
61
+ - .document
62
+ - .gitignore
63
+ - LICENSE
64
+ - README.rdoc
65
+ - Rakefile
66
+ - VERSION
67
+ - lib/cobalt.rb
68
+ - test/helper.rb
69
+ - test/test_cobalt.rb
70
+ has_rdoc: true
71
+ homepage: http://github.com/ktlacaelel/cobalt
72
+ licenses: []
73
+
74
+ post_install_message:
75
+ rdoc_options:
76
+ - --charset=UTF-8
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ required_rubygems_version: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ hash: 3
94
+ segments:
95
+ - 0
96
+ version: "0"
97
+ requirements: []
98
+
99
+ rubyforge_project:
100
+ rubygems_version: 1.3.7
101
+ signing_key:
102
+ specification_version: 3
103
+ summary: Console for ruby.
104
+ test_files:
105
+ - test/helper.rb
106
+ - test/test_cobalt.rb