rshell 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ 0.1.0: Initial release:
2
+ - Support for bold text
3
+ - Support for generic color text
4
+
5
+ 0.1.1: Restructured
File without changes
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gemspec|
7
+ gemspec.name = "rshell"
8
+ gemspec.summary = "Useful console helper to easily use Ruby as console scripting language."
9
+ gemspec.description = "It help when you need to create some shell script with Ruby."
10
+ gemspec.email = "andrea@blomming.com"
11
+ gemspec.homepage = "http://github.com/knightq/rshell"
12
+ gemspec.authors = ["Andrea Salicetti"]
13
+ end
14
+ Jeweler::GemcutterTasks.new
15
+ rescue LoadError
16
+ puts "Jeweler not available. Install it with: sudo gem install jeweler -s http://gemcutter.org"
17
+ end
18
+
19
+ Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.1.1
@@ -0,0 +1,14 @@
1
+ require 'rshell/console'
2
+ require 'rshell/string'
3
+
4
+
5
+ module Rshell
6
+ def self.included(base)
7
+ base.extend ClassMethods
8
+ end
9
+
10
+ module ClassMethods
11
+
12
+ end
13
+ end
14
+
@@ -0,0 +1,78 @@
1
+ class Console
2
+ def self.ascii(i)
3
+ $is_ascii = i
4
+ end
5
+
6
+ def self.clear # reset the terminal
7
+ print "\ec" # *42*
8
+ end
9
+
10
+ def self.color(*arg) # colorize a string
11
+ if arg[0].is_a?(Array)
12
+ arg = arg[0]
13
+ end
14
+ if arg.length == 0
15
+ arg = :default, :red, :bg_default
16
+ end
17
+ attribute = { # mapper for the attributes
18
+ :normal => 0,
19
+ :bright => 1,
20
+ :dim => 2,
21
+ :underscore => 4,
22
+ :blink => 5,
23
+ :reverse => 7,
24
+ :hidden => 8,
25
+ :default => 0
26
+ }
27
+ fg_color = { # mapper for the foreground color
28
+ :black => 30,
29
+ :red => 31,
30
+ :green => 32,
31
+ :yellow => 33,
32
+ :blue => 34,
33
+ :magenta => 35,
34
+ :cyan => 36,
35
+ :white => 37,
36
+ :default => 39
37
+ }
38
+ bg_color = { # mapper for the background color
39
+ :bg_black => 40,
40
+ :bg_red => 41,
41
+ :bg_green => 42,
42
+ :bg_yellow => 43,
43
+ :bg_blue => 44,
44
+ :bg_magenta => 45,
45
+ :bg_cyan => 46,
46
+ :bg_white => 47,
47
+ :bg_default => 49
48
+ }
49
+ if arg.length > 0 # turn symbols into numbers
50
+ arg[0] = attribute[arg[0]] # attributes
51
+ end
52
+ if arg.length > 1
53
+ arg[1] = fg_color[arg[1]] # foreground color
54
+ end
55
+ if arg.length > 2
56
+ arg[2] = bg_color[arg[2]] # background color
57
+ end
58
+ "\e[#{arg.join(";")}m" # magic ansi escape sequence
59
+ end
60
+
61
+ def self.color=(arg)
62
+ if not arg.is_a?(Array)
63
+ arg = [arg]
64
+ end
65
+ if arg.length == 0
66
+ arg = :default, :red, :bg_default
67
+ end
68
+ print self.color(arg)
69
+ end
70
+
71
+ def self.width
72
+ `tput cols`.chomp.to_i
73
+ end
74
+
75
+ def self.height
76
+ `tput lines`.chomp.to_i
77
+ end
78
+ end
@@ -0,0 +1,12 @@
1
+ module String
2
+ class String
3
+
4
+ def bold
5
+ "\033[1;39m#{self}\033[0m"
6
+ end
7
+
8
+ def colorize(color_code)
9
+ return color_code ? "#{color_code}#{self}\033[0m" : self
10
+ end
11
+ end
12
+ end
Binary file
@@ -0,0 +1,44 @@
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
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rshell}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Andrea Salicetti"]
12
+ s.date = %q{2011-05-11}
13
+ s.description = %q{It help when you need to create some shell script with Ruby.}
14
+ s.email = %q{andrea@blomming.com}
15
+ s.extra_rdoc_files = [
16
+ "README.rdoc"
17
+ ]
18
+ s.files = [
19
+ "CHANGELOG",
20
+ "README.rdoc",
21
+ "Rakefile",
22
+ "VERSION",
23
+ "lib/rshell.rb",
24
+ "lib/rshell/console.rb",
25
+ "lib/rshell/string.rb",
26
+ "rshell-0.1.0.gem",
27
+ "rshell-0.1.1.gem",
28
+ "rshell.gemspec"
29
+ ]
30
+ s.homepage = %q{http://github.com/knightq/rshell}
31
+ s.require_paths = ["lib"]
32
+ s.rubygems_version = %q{1.6.2}
33
+ s.summary = %q{Useful console helper to easily use Ruby as console scripting language.}
34
+
35
+ if s.respond_to? :specification_version then
36
+ s.specification_version = 3
37
+
38
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
39
+ else
40
+ end
41
+ else
42
+ end
43
+ end
44
+
metadata ADDED
@@ -0,0 +1,76 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rshell
3
+ version: !ruby/object:Gem::Version
4
+ hash: 25
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Andrea Salicetti
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-05-11 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: It help when you need to create some shell script with Ruby.
23
+ email: andrea@blomming.com
24
+ executables: []
25
+
26
+ extensions: []
27
+
28
+ extra_rdoc_files:
29
+ - README.rdoc
30
+ files:
31
+ - CHANGELOG
32
+ - README.rdoc
33
+ - Rakefile
34
+ - VERSION
35
+ - lib/rshell.rb
36
+ - lib/rshell/console.rb
37
+ - lib/rshell/string.rb
38
+ - rshell-0.1.0.gem
39
+ - rshell-0.1.1.gem
40
+ - rshell.gemspec
41
+ has_rdoc: true
42
+ homepage: http://github.com/knightq/rshell
43
+ licenses: []
44
+
45
+ post_install_message:
46
+ rdoc_options: []
47
+
48
+ require_paths:
49
+ - lib
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ hash: 3
56
+ segments:
57
+ - 0
58
+ version: "0"
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ hash: 3
65
+ segments:
66
+ - 0
67
+ version: "0"
68
+ requirements: []
69
+
70
+ rubyforge_project:
71
+ rubygems_version: 1.6.2
72
+ signing_key:
73
+ specification_version: 3
74
+ summary: Useful console helper to easily use Ruby as console scripting language.
75
+ test_files: []
76
+