sunsap 0.1.0 → 0.2.0
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/History.txt +6 -0
- data/Manifest.txt +1 -1
- data/README.mdown +5 -0
- data/Rakefile +4 -7
- data/lib/sunsap.rb +128 -1
- metadata +8 -10
- data/.gemtest +0 -0
- data/README.markdown +0 -7
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/README.mdown
ADDED
data/Rakefile
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
|
3
2
|
require 'hoe'
|
4
|
-
|
3
|
+
require 'rake'
|
5
4
|
Hoe.plugin :gemcutter
|
6
5
|
Hoe.plugin :roodi
|
7
6
|
Hoe.plugin :test
|
@@ -11,14 +10,12 @@ Hoe.plugin :git
|
|
11
10
|
Hoe.plugins.delete :rubyforge
|
12
11
|
|
13
12
|
Hoe.spec 'sunsap' do
|
14
|
-
developer
|
15
|
-
license 'MIT'
|
13
|
+
developer 'weddingcakes', 'keymint1498@gmail.com'
|
16
14
|
extra_deps << ['rspec', "2.12.0"]
|
17
15
|
extra_deps << ['mocha', "0.13.1"]
|
18
16
|
extra_deps << ['simplecov', "0.7.1" ]
|
19
|
-
|
20
|
-
self.readme_file = "README.
|
17
|
+
|
18
|
+
self.readme_file = "README.mdown"
|
21
19
|
self.description = "Send messages to a reporter"
|
22
20
|
end
|
23
|
-
|
24
21
|
# vim: syntax=ruby
|
data/lib/sunsap.rb
CHANGED
@@ -1,17 +1,144 @@
|
|
1
1
|
module Sunsap
|
2
|
-
VERSION = '0.
|
2
|
+
VERSION = '0.2.0'
|
3
3
|
attr_accessor :reportername, :messages
|
4
4
|
|
5
|
+
# The reporter
|
5
6
|
class Reporter
|
7
|
+
# Create a new reporter
|
8
|
+
#
|
9
|
+
# @api public
|
10
|
+
# @param [reportername] the name of the reporter as a string
|
11
|
+
#
|
12
|
+
# @example Make a new reporter
|
13
|
+
#
|
14
|
+
# reporter = Sunsap::Reporter.new("test")
|
15
|
+
# # => true
|
16
|
+
#
|
17
|
+
# @returns true
|
6
18
|
def initialize(reportername)
|
7
19
|
@queue = []
|
20
|
+
|
21
|
+
# Send a message to the queue
|
22
|
+
#
|
23
|
+
# @api public
|
24
|
+
# @param [m] message to send
|
25
|
+
#
|
26
|
+
# @example Send a message
|
27
|
+
#
|
28
|
+
# reporter.send_test_message "Success!"
|
29
|
+
# # => true
|
30
|
+
#
|
31
|
+
# @returns true
|
8
32
|
self.class.send :define_method, "send_#{reportername}_message" do |m|
|
9
33
|
@queue.push(m)
|
34
|
+
true
|
10
35
|
end
|
11
36
|
|
37
|
+
# View the queue
|
38
|
+
#
|
39
|
+
# @api public
|
40
|
+
# @example Read a queue
|
41
|
+
#
|
42
|
+
# reporter.queue
|
43
|
+
# # => ["Success!"]
|
44
|
+
#
|
45
|
+
# @returns Array of messages
|
12
46
|
def queue
|
13
47
|
@queue
|
14
48
|
end
|
49
|
+
true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
class Reader
|
54
|
+
# Make a reader
|
55
|
+
#
|
56
|
+
# @params [reporter] reporter to read the queue of
|
57
|
+
#
|
58
|
+
# @example Make a new instance of the `Reader` class
|
59
|
+
#
|
60
|
+
# reader = Sunsap::Reader.new(Sunsap::Reporter.new("test"))
|
61
|
+
# # => true
|
62
|
+
def initialize(reporter)
|
63
|
+
@reporter = reporter
|
64
|
+
true
|
65
|
+
end
|
66
|
+
# Read the queue the right way
|
67
|
+
# @api public
|
68
|
+
# @example Read a queue
|
69
|
+
# reporter = Sunsap::Reporer.new("test")
|
70
|
+
# reporter.send_test_message("Success!")
|
71
|
+
# reader = Sunsap::Reader.new
|
72
|
+
# reader.read
|
73
|
+
# # => {:messages => 1, :queue => ["Success!"]}
|
74
|
+
|
75
|
+
def read
|
76
|
+
{:messages => queuesize, :queue => queue}
|
77
|
+
end
|
78
|
+
|
79
|
+
# Read the queue if it's not empty
|
80
|
+
#
|
81
|
+
# @api public
|
82
|
+
# @example Read a queue
|
83
|
+
#
|
84
|
+
# reporter = Sunsap::Reporer.new
|
85
|
+
# reader = Sunsap::Reader.new
|
86
|
+
# reader.read!
|
87
|
+
# # => error: RuntimeError: Queue was empty
|
88
|
+
#
|
89
|
+
# @returns Messages and the Queue or raises RuntimeError if the queue is empty
|
90
|
+
def read!
|
91
|
+
unless queuesize >= 1
|
92
|
+
raise "Queue was empty"
|
93
|
+
else
|
94
|
+
queue
|
95
|
+
end
|
96
|
+
{:messages => queuesize, :queue => queue}
|
97
|
+
end
|
98
|
+
|
99
|
+
# Read the queue in a more friendly matter
|
100
|
+
#
|
101
|
+
# @api public
|
102
|
+
# @example Read a queue
|
103
|
+
# reporter = Sunsap::Reporer.new("test")
|
104
|
+
# reporter.send_test_message("Success!")
|
105
|
+
# reader = Sunsap::Reader.new
|
106
|
+
# reader.read
|
107
|
+
# # => "Messages: 1, Queue: ["Success!"]"
|
108
|
+
#
|
109
|
+
# @returns Messages and the Queue
|
110
|
+
def read_friendly
|
111
|
+
"Messages: #{queuesize}, Queue: #{queue}"
|
112
|
+
end
|
113
|
+
|
114
|
+
# Read the queue if it's not empty
|
115
|
+
#
|
116
|
+
# @api public
|
117
|
+
# @example Read a queue
|
118
|
+
#
|
119
|
+
# reporter = Sunsap::Reporer.new
|
120
|
+
# reader = Sunsap::Reader.new
|
121
|
+
# reader.read!
|
122
|
+
# # => error: RuntimeError: Queue was empty
|
123
|
+
#
|
124
|
+
# @returns Messages and the Queue or raises RuntimeError if the queue is empty
|
125
|
+
def read_friendly!
|
126
|
+
unless queuesize >= 1
|
127
|
+
raise "Queue was empty"
|
128
|
+
else
|
129
|
+
queue
|
130
|
+
"Messages: #{queuesize}, Queue: #{queue}"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
private
|
135
|
+
|
136
|
+
def queue
|
137
|
+
queue = @reporter.queue
|
138
|
+
end
|
139
|
+
|
140
|
+
def queuesize
|
141
|
+
queuesize = @reporter.queue.size
|
15
142
|
end
|
16
143
|
end
|
17
144
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunsap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
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:
|
12
|
+
date: 2013-01-12 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -82,7 +82,7 @@ dependencies:
|
|
82
82
|
requirements:
|
83
83
|
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
|
-
version: '3.
|
85
|
+
version: '3.4'
|
86
86
|
type: :development
|
87
87
|
prerelease: false
|
88
88
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -90,7 +90,7 @@ dependencies:
|
|
90
90
|
requirements:
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
|
-
version: '3.
|
93
|
+
version: '3.4'
|
94
94
|
description: Send messages to a reporter
|
95
95
|
email:
|
96
96
|
- keymint1498@gmail.com
|
@@ -103,17 +103,15 @@ files:
|
|
103
103
|
- .autotest
|
104
104
|
- History.txt
|
105
105
|
- Manifest.txt
|
106
|
-
- README.
|
106
|
+
- README.mdown
|
107
107
|
- Rakefile
|
108
108
|
- lib/sunsap.rb
|
109
|
-
- .gemtest
|
110
109
|
homepage: https://github.com/weddingcakes/sunsap
|
111
|
-
licenses:
|
112
|
-
- MIT
|
110
|
+
licenses: []
|
113
111
|
post_install_message:
|
114
112
|
rdoc_options:
|
115
113
|
- --main
|
116
|
-
- README.
|
114
|
+
- README.mdown
|
117
115
|
require_paths:
|
118
116
|
- lib
|
119
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
@@ -130,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
128
|
version: '0'
|
131
129
|
requirements: []
|
132
130
|
rubyforge_project: sunsap
|
133
|
-
rubygems_version: 1.8.
|
131
|
+
rubygems_version: 1.8.23
|
134
132
|
signing_key:
|
135
133
|
specification_version: 3
|
136
134
|
summary: ''
|
data/.gemtest
DELETED
File without changes
|