cinch-simplecalc 0.0.1 → 1.0.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/.travis.yml +4 -0
- data/README.md +11 -0
- data/Rakefile +6 -0
- data/cinch-simplecalc.gemspec +9 -2
- data/lib/cinch/plugins/simplecalc/simplecalc.rb +10 -8
- data/lib/cinch/plugins/simplecalc/version.rb +1 -1
- data/spec/cinch-simplecalc_spec.rb +28 -0
- data/spec/spec_helper.rb +5 -0
- metadata +109 -7
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# Cinch::Plugins::SimpleCalc
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/cinch-simplecalc)
|
4
|
+
[](https://gemnasium.com/bhaberer/cinch-simplecalc)
|
5
|
+
[](https://travis-ci.org/bhaberer/cinch-simplecalc)
|
6
|
+
[](https://coveralls.io/r/bhaberer/cinch-simplecalc?branch=master)
|
7
|
+
[](https://codeclimate.com/github/bhaberer/cinch-simplecalc)
|
8
|
+
|
3
9
|
Cinch plugin to allow channel users to do basic math
|
4
10
|
|
5
11
|
## Installation
|
@@ -32,6 +38,11 @@ Then in channel use:
|
|
32
38
|
|
33
39
|
.math 4 ** 4
|
34
40
|
|
41
|
+
Note: this will only do BASIC math, and will strip all letters or complex
|
42
|
+
characters. If you want something more complex please see my other cinch plugin:
|
43
|
+
|
44
|
+
https://github.com/canonical-hackers/cinch-calculate
|
45
|
+
|
35
46
|
## Contributing
|
36
47
|
|
37
48
|
1. Fork it
|
data/Rakefile
CHANGED
data/cinch-simplecalc.gemspec
CHANGED
@@ -17,6 +17,13 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
18
18
|
gem.require_paths = ["lib"]
|
19
19
|
|
20
|
-
gem.
|
21
|
-
gem.
|
20
|
+
gem.add_development_dependency 'rake'
|
21
|
+
gem.add_development_dependency 'rspec'
|
22
|
+
gem.add_development_dependency 'coveralls'
|
23
|
+
|
24
|
+
gem.add_dependency 'cinch', '~> 2.0.5'
|
25
|
+
gem.add_dependency 'cinch-test', '~> 0.0.3'
|
26
|
+
gem.add_dependency 'cinch-toolbox', '~> 1.0.0'
|
27
|
+
gem.add_dependency 'cinch-cooldown', '~> 1.0.0'
|
28
|
+
gem.add_dependency 'calc', '~> 1.0.0'
|
22
29
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'calc'
|
2
|
+
require 'cinch'
|
2
3
|
require 'cinch-cooldown'
|
3
4
|
|
4
5
|
module Cinch::Plugins
|
@@ -12,15 +13,16 @@ module Cinch::Plugins
|
|
12
13
|
match /math (.+)/
|
13
14
|
|
14
15
|
def execute(m, problem)
|
15
|
-
|
16
|
-
|
16
|
+
m.reply calc(problem), true
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
17
20
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
end
|
21
|
+
def calc(problem)
|
22
|
+
answer = Calc.evaluate(problem)
|
23
|
+
return "#{Calc.evaluate(problem)}" unless answer == problem
|
24
|
+
rescue ZeroDivisionError
|
25
|
+
return "Fuck you."
|
24
26
|
end
|
25
27
|
end
|
26
28
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Cinch::Plugins::SimpleCalc do
|
4
|
+
|
5
|
+
include Cinch::Test
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
@bot = make_bot(Cinch::Plugins::SimpleCalc)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should allow users to perform simple math' do
|
12
|
+
msg = make_message(@bot, '!math 2 + 2')
|
13
|
+
get_replies(msg).last.
|
14
|
+
should == 'test: 4'
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should strip all non numeric information from the string' do
|
18
|
+
msg = make_message(@bot, '!math cos 2')
|
19
|
+
get_replies(msg).last.
|
20
|
+
should == 'test: 2'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should crack wise if asked to do the impossible' do
|
24
|
+
msg = make_message(@bot, '!math 1 / 0')
|
25
|
+
get_replies(msg).last.
|
26
|
+
should == 'test: Fuck you.'
|
27
|
+
end
|
28
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cinch-simplecalc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,17 +9,17 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: rake
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '0'
|
22
|
-
type: :
|
22
|
+
type: :development
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
@@ -28,14 +28,14 @@ dependencies:
|
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: '0'
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
name:
|
31
|
+
name: rspec
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
35
|
- - ! '>='
|
36
36
|
- !ruby/object:Gem::Version
|
37
37
|
version: '0'
|
38
|
-
type: :
|
38
|
+
type: :development
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
@@ -43,6 +43,102 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: coveralls
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: cinch
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.0.5
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 2.0.5
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: cinch-test
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ~>
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: 0.0.3
|
86
|
+
type: :runtime
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 0.0.3
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: cinch-toolbox
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ~>
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: 1.0.0
|
102
|
+
type: :runtime
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 1.0.0
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: cinch-cooldown
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 1.0.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.0.0
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: calc
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ~>
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: 1.0.0
|
134
|
+
type: :runtime
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: 1.0.0
|
46
142
|
description: Cinch Plugin that passes simple numeric math propblems to the Calc gem
|
47
143
|
email:
|
48
144
|
- bhaberer@gmail.com
|
@@ -51,6 +147,7 @@ extensions: []
|
|
51
147
|
extra_rdoc_files: []
|
52
148
|
files:
|
53
149
|
- .gitignore
|
150
|
+
- .travis.yml
|
54
151
|
- Gemfile
|
55
152
|
- LICENSE.txt
|
56
153
|
- README.md
|
@@ -59,6 +156,8 @@ files:
|
|
59
156
|
- lib/cinch-simplecalc.rb
|
60
157
|
- lib/cinch/plugins/simplecalc/simplecalc.rb
|
61
158
|
- lib/cinch/plugins/simplecalc/version.rb
|
159
|
+
- spec/cinch-simplecalc_spec.rb
|
160
|
+
- spec/spec_helper.rb
|
62
161
|
homepage: https://github.com/bhaberer/cinch-simplecalc
|
63
162
|
licenses: []
|
64
163
|
post_install_message:
|
@@ -83,4 +182,7 @@ rubygems_version: 1.8.24
|
|
83
182
|
signing_key:
|
84
183
|
specification_version: 3
|
85
184
|
summary: Cinch Plugin to do simple math
|
86
|
-
test_files:
|
185
|
+
test_files:
|
186
|
+
- spec/cinch-simplecalc_spec.rb
|
187
|
+
- spec/spec_helper.rb
|
188
|
+
has_rdoc:
|