wordbot 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 051f354c6ebcddf32d7c4638ebda1ae34b114bc4
4
- data.tar.gz: 8a1b32547c6f25a7599051231e4f8d3e060bcc92
3
+ metadata.gz: c5fa93326eb4d212f2bb997d415642c7ee5dc14b
4
+ data.tar.gz: eb4ffb556bfa002cde260a06d79e2a440f9e43fc
5
5
  SHA512:
6
- metadata.gz: ac8cb20ecc944f6392a2d5dad550d9bd934165831b22b5c7adc600ef7958c4b8e2c6bc26086ec01f54bf4d95b3d01c0ef149854d245a94c720575c0e20603c55
7
- data.tar.gz: 46cb4a08a57794fc46e366c79caf96e6e7b58bf2925fcb009b2fc21613b1b34c4b67728d283954956a32000fa2c442fffb9d552e8415792658290a1559a2300d
6
+ metadata.gz: 17cf1bba2a6c23b1166274eb75863684e909576c741a69c217e221092de48168d383da7ab1f833e7f80e808e76089d2da50d535d3086ac17102ca73984374212
7
+ data.tar.gz: 39436873f852445e03ff8752a3f26fdf4c605e98aceae63a683a4f26ff9a19a477ea942ddbc1c340cdb7e890c8bdaa694d44691dcdf61347ce94313d635e8c0a
data/Guardfile CHANGED
@@ -65,3 +65,12 @@ guard :rspec, cmd: "bundle exec rspec" do
65
65
  end
66
66
 
67
67
  end
68
+
69
+ guard "cucumber" do
70
+ watch(%r{^features/.+\.feature$})
71
+ watch(%r{^features/support/.+$}) { "features" }
72
+
73
+ watch(%r{^features/step_definitions/(.+)_steps\.rb$}) do |m|
74
+ Dir[File.join("**/#{m[1]}.feature")][0] || "features"
75
+ end
76
+ end
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  [![Build Status](https://travis-ci.org/pikesley/wordbot.svg)](https://travis-ci.org/pikesley/wordbot)
2
2
  [![Dependency Status](http://img.shields.io/gemnasium/pikesley/wordbot.svg)](https://gemnasium.com/pikesley/wordbot)
3
+ [![Coverage Status](http://img.shields.io/coveralls/pikesley/wordbot.svg)](https://coveralls.io/r/pikesley/wordbot)
3
4
  [![Code Climate](http://img.shields.io/codeclimate/github/pikesley/wordbot.svg)](https://codeclimate.com/github/pikesley/wordbot)
4
5
  [![Gem Version](http://img.shields.io/gem/v/wordbot.svg)](https://rubygems.org/gems/wordbot)
5
6
  [![License](http://img.shields.io/:license-mit-blue.svg)](http://pikesley.mit-license.org)
6
- [![Badges](http://img.shields.io/:badges-6/6-ff6799.svg)](https://github.com/badges/badgerbadgerbadger)
7
+ [![Badges](http://img.shields.io/:badges-7/7-ff6799.svg)](https://github.com/badges/badgerbadgerbadger)
data/Rakefile CHANGED
@@ -1,7 +1,10 @@
1
1
  require 'bundler/gem_tasks'
2
-
3
2
  require 'rspec/core/rake_task'
3
+ require 'cucumber/rake/task'
4
+ require 'coveralls/rake/task'
4
5
 
6
+ Coveralls::RakeTask.new
5
7
  RSpec::Core::RakeTask.new
8
+ Cucumber::Rake::Task.new
6
9
 
7
- task :default => [:spec]
10
+ task :default => [:spec, :cucumber, 'coveralls:push']
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'wordbot'
4
+ Wordbot::CLI::Mutilator.start
@@ -0,0 +1,5 @@
1
+ Feature: Mutilate text
2
+
3
+ Scenario: Mangle some text
4
+ When I successfully run `mutilator generate destroy this text`
5
+ Then the output should match /^d.....y t..s t..t$/
@@ -0,0 +1,6 @@
1
+ require 'aruba/cucumber'
2
+ require 'coveralls'
3
+
4
+ require 'wordbot'
5
+
6
+ Coveralls.wear_merged!
@@ -1 +1,5 @@
1
+ require 'thor'
2
+
1
3
  require 'wordbot/bot'
4
+ require 'wordbot/version'
5
+ require 'wordbot/cli/mutilator'
@@ -40,6 +40,10 @@ module Wordbot
40
40
  ]
41
41
  end
42
42
 
43
+ def self.mutilate string
44
+ split(string).map { |i| scramble i}.join ''
45
+ end
46
+
43
47
  def self.is_word string
44
48
  return false if string == ''
45
49
  string.split('').all? { |c| is_letter c }
@@ -0,0 +1,18 @@
1
+ module Wordbot
2
+ module CLI
3
+ class Mutilator < Thor
4
+ desc 'version', 'Print the version'
5
+ def version
6
+ puts "mutilator version %s" % [
7
+ VERSION
8
+ ]
9
+ end
10
+ map %w(-v --version) => :version
11
+
12
+ desc 'generate', 'Generated some mutilated text'
13
+ def generate *words
14
+ puts Wordbot::Bot.mutilate words.join ' '
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module Wordbot
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ module Wordbot
4
+ describe Bot do
5
+ context 'Mutilate some strings' do
6
+ it 'should mutilate "This contains some words"' do
7
+ expect(Wordbot::Bot.mutilate 'This contains some words')
8
+ .to match /^T..s c......s s..e w...s$/
9
+ end
10
+
11
+ it 'should mutilate "This has a 74 in it"' do
12
+ expect(Wordbot::Bot.mutilate 'This has a 74 embedded in it')
13
+ .to match /^T..s has a 74 e......d in it$/
14
+ end
15
+
16
+ it 'should mutilate "What about a hyphenated-word?"' do
17
+ expect(Wordbot::Bot.mutilate 'What about a hyphenated-word?')
18
+ .to match /^W..t a...t a h........d-w..d\?$/
19
+ end
20
+
21
+ it 'should mutilate "And some [other] bits \'of\' {punctuation}!"' do
22
+ expect(Wordbot::Bot.mutilate "And some [other] bits 'of' {punctuation}!")
23
+ .to match /^And s..e \[o...r\] b..s 'of' \{p.........n\}!/
24
+ end
25
+ end
26
+ end
27
+ end
@@ -18,10 +18,16 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
+ spec.add_dependency 'thor', '~> 0.19'
22
+
21
23
  spec.add_development_dependency 'bundler', '~> 1.7'
22
24
  spec.add_development_dependency 'rake', '~> 10.0'
23
- spec.add_development_dependency 'rspec'
24
- spec.add_development_dependency 'guard'
25
- spec.add_development_dependency 'guard-rspec'
26
- spec.add_development_dependency 'terminal-notifier-guard'
25
+ spec.add_development_dependency 'rspec', '~> 3.1'
26
+ spec.add_development_dependency 'guard', '~> 2.10'
27
+ spec.add_development_dependency 'guard-rspec', '~> 4.5'
28
+ spec.add_development_dependency 'cucumber', '~> 1.3'
29
+ spec.add_development_dependency 'aruba', '~> 0.6'
30
+ spec.add_development_dependency 'guard-cucumber', '~> 1.5'
31
+ spec.add_development_dependency 'terminal-notifier-guard', '~> 1.6'
32
+ spec.add_development_dependency 'coveralls', '~> 0.7'
27
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wordbot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - pikesley
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2014-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.19'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.19'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -42,62 +56,119 @@ dependencies:
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: '3.1'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '3.1'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: guard
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ">="
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '0'
75
+ version: '2.10'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ">="
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '0'
82
+ version: '2.10'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: guard-rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '4.5'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '4.5'
97
+ - !ruby/object:Gem::Dependency
98
+ name: cucumber
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.3'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.3'
111
+ - !ruby/object:Gem::Dependency
112
+ name: aruba
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
74
116
  - !ruby/object:Gem::Version
75
- version: '0'
117
+ version: '0.6'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - ">="
122
+ - - "~>"
81
123
  - !ruby/object:Gem::Version
82
- version: '0'
124
+ version: '0.6'
125
+ - !ruby/object:Gem::Dependency
126
+ name: guard-cucumber
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.5'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.5'
83
139
  - !ruby/object:Gem::Dependency
84
140
  name: terminal-notifier-guard
85
141
  requirement: !ruby/object:Gem::Requirement
86
142
  requirements:
87
- - - ">="
143
+ - - "~>"
88
144
  - !ruby/object:Gem::Version
89
- version: '0'
145
+ version: '1.6'
90
146
  type: :development
91
147
  prerelease: false
92
148
  version_requirements: !ruby/object:Gem::Requirement
93
149
  requirements:
94
- - - ">="
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.6'
153
+ - !ruby/object:Gem::Dependency
154
+ name: coveralls
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.7'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
95
165
  - !ruby/object:Gem::Version
96
- version: '0'
166
+ version: '0.7'
97
167
  description: ''
98
168
  email:
99
169
  - sam@pikesley.org
100
- executables: []
170
+ executables:
171
+ - mutilator
101
172
  extensions: []
102
173
  extra_rdoc_files: []
103
174
  files:
@@ -105,15 +176,19 @@ files:
105
176
  - ".rspec"
106
177
  - ".travis.yml"
107
178
  - Gemfile
108
- - Gemfile.lock
109
179
  - Guardfile
110
180
  - LICENSE.md
111
181
  - README.md
112
182
  - Rakefile
183
+ - bin/mutilator
184
+ - features/mutilator.feature
185
+ - features/support/env.rb
113
186
  - lib/wordbot.rb
114
187
  - lib/wordbot/bot.rb
188
+ - lib/wordbot/cli/mutilator.rb
115
189
  - lib/wordbot/version.rb
116
190
  - spec/spec_helper.rb
191
+ - spec/wordbot/mutilator_spec.rb
117
192
  - spec/wordbot/scrambler_spec.rb
118
193
  - spec/wordbot/splitter_spec.rb
119
194
  - wordbot.gemspec
@@ -142,6 +217,9 @@ signing_key:
142
217
  specification_version: 4
143
218
  summary: Do some stuff with text
144
219
  test_files:
220
+ - features/mutilator.feature
221
+ - features/support/env.rb
145
222
  - spec/spec_helper.rb
223
+ - spec/wordbot/mutilator_spec.rb
146
224
  - spec/wordbot/scrambler_spec.rb
147
225
  - spec/wordbot/splitter_spec.rb