crab 0.2.13 → 0.2.14

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/README.md CHANGED
@@ -15,8 +15,10 @@ stay out of the way as much as possible.
15
15
  Installing
16
16
  ----------
17
17
 
18
- `crab` is distributed as a Ruby Gem. To install it, simply issue (where
19
- `$` is your command prompt):
18
+ `crab` is distributed as a Ruby Gem. To install it, make sure you are
19
+ running a recent version of Ruby (1.8.7 and up) and RubyGems (`crab`
20
+ was tested against 1.6.2) and then simply issue (where `$` is your
21
+ command prompt):
20
22
 
21
23
  $ gem install crab
22
24
 
@@ -30,7 +32,8 @@ Usage
30
32
  -----
31
33
 
32
34
  As `crab` is still in its infancy, it doesn't support very complex
33
- workflows, but does the job for the author and his team so far.
35
+ workflows, but does the job for the author and his team so far. Help us
36
+ extend it!
34
37
 
35
38
  The team wrote a few stories directly in Rally before deciding that
36
39
  writing them straight in Cucumber features would be better suited.
@@ -82,7 +85,7 @@ into Cucumber scenarios:
82
85
 
83
86
  ...
84
87
 
85
- To convert a bunch of stories in one go, this pipe does the trick:
88
+ To convert a bunch of stories in one go, this pipe should do the trick:
86
89
 
87
90
  $ crab story list --iteration "Iteration 7" | cut -f 1 -d : | xargs crab story pull
88
91
 
@@ -112,8 +115,10 @@ Updating and moving:
112
115
 
113
116
  $ crab story move US1002
114
117
  US1002: Launches Rockets Upon Command from Evil Mastermind (completed)
118
+
115
119
  $ crab story move US1002
116
120
  US1002: Launches Rockets Upon Command from Evil Mastermind (accepted)
121
+
117
122
  # eek, found a few problems!
118
123
  $ crab story move US1002 --back
119
124
  US1002: Launches Rockets Upon Command from Evil Mastermind (completed)
@@ -127,10 +132,10 @@ It is also possible to create, update and delete test cases inside Rally
127
132
  straight from the command line:
128
133
 
129
134
  $ crab testcase create US1001 "Rocket Silo Is Unlocked"
130
- US1001/TC1501: Rocket Silo Is Unlocked (important medium automated acceptance)
135
+ US1001/TC1501: Rocket Silo Is Unlocked ()
131
136
 
132
137
  $ crab testcase update TC1501 --priority critical --risk low
133
- US1001/TC1501: Rocket Silo Is Unlocked (critical low automated acceptance)
138
+ US1001/TC1501: Rocket Silo Is Unlocked (critical low)
134
139
 
135
140
  $ crab testcase delete TC1501
136
141
  Test case TC1501 deleted.
@@ -138,32 +143,6 @@ straight from the command line:
138
143
  There are many more switches. Try exploring `crab --help` to find
139
144
  out more.
140
145
 
141
- Troubleshooting
142
- ---------------
143
-
144
- This is still very rudimentary, but you can set `CRAB_LOG_LEVEL`
145
- to one of the constants defined in `Logger` to see more output for
146
- diagnosis. They are:
147
-
148
- - 0: DEBUG
149
- - 1: INFO
150
- - 2: WARN
151
- - 3: ERROR
152
- - 4: FATAL
153
- - 5: UNKNOWN
154
-
155
- The default is `WARN`, which should be good enough for most day-to-day
156
- usage, but if you are having trouble and would like to submit a bug
157
- report, please try again with `CRAB_LOG_LEVEL` set to `0` or `1`:
158
-
159
- $ CRAB_LOG_LEVEL=0 crab story show US1001
160
- I, [2011-10-04T02:33:22.795535 #16754] INFO -- crab: Getting credentials...
161
- I, [2011-10-04T02:33:22.795789 #16754] INFO -- crab: Connecting to Rally as cvillela@thoughtworks.com...
162
- I, [2011-10-04T02:33:28.343039 #16754] INFO -- crab: Looking up story with ID US1001
163
- I, [2011-10-04T02:33:31.861501 #16754] INFO -- crab: US1001: 1 test case(s) found
164
- I, [2011-10-04T02:33:38.681445 #16754] INFO -- crab: TC10001: 3 step(s) found
165
- ...
166
-
167
146
  i18n Support
168
147
  ------------
169
148
 
@@ -193,7 +172,7 @@ Hopefully this will be enough for your case, but if not please let us know!
193
172
  Bash Completion
194
173
  ---------------
195
174
 
196
- Rudimentary bash completion support is here. Enable it by running:
175
+ `crab` comes with bash completion support built in. Enable it by running:
197
176
 
198
177
  $ . "`bundle show crab`/scripts/crab_bash_completion"
199
178
 
@@ -218,6 +197,32 @@ If you have any problems, please let us know.
218
197
  [4]: http://gembundler.com
219
198
  [5]: https://github.com/cucumber/aruba
220
199
 
200
+ Troubleshooting
201
+ ---------------
202
+
203
+ This is still very rudimentary, but you can set `CRAB_LOG_LEVEL`
204
+ to one of the constants defined in `Logger` to see more output for
205
+ diagnosis. They are:
206
+
207
+ - 0: DEBUG
208
+ - 1: INFO
209
+ - 2: WARN
210
+ - 3: ERROR
211
+ - 4: FATAL
212
+ - 5: UNKNOWN
213
+
214
+ The default is `WARN`, which should be good enough for most day-to-day
215
+ usage, but if you are having trouble and would like to submit a bug
216
+ report, please try again with `CRAB_LOG_LEVEL` set to `0` or `1`:
217
+
218
+ $ CRAB_LOG_LEVEL=0 crab story show US1001
219
+ I, [2011-10-04T02:33:22.795535 #16754] INFO -- crab: Getting credentials...
220
+ I, [2011-10-04T02:33:22.795789 #16754] INFO -- crab: Connecting to Rally as cvillela@thoughtworks.com...
221
+ I, [2011-10-04T02:33:28.343039 #16754] INFO -- crab: Looking up story with ID US1001
222
+ I, [2011-10-04T02:33:31.861501 #16754] INFO -- crab: US1001: 1 test case(s) found
223
+ I, [2011-10-04T02:33:38.681445 #16754] INFO -- crab: TC10001: 3 step(s) found
224
+ ...
225
+
221
226
  To do / Roadmap / Known Bugs
222
227
  ----------------------------
223
228
 
@@ -237,8 +242,8 @@ Authors and Contributors
237
242
  And last but not least, Rodrigo Spohr <rspohr@thoughtworks.com> and
238
243
  Camilo Ribeiro <cribeiro@thoughtworks.com> for the user testing.
239
244
 
240
- Disclaimers
241
- -----------
245
+ Disclaimers and Acknowledgements
246
+ --------------------------------
242
247
 
243
248
  This project and its authors have no affiliation with Rally Software
244
249
  Development Corp. or the Cucumber project.
@@ -28,6 +28,5 @@ Gem::Specification.new do |s|
28
28
  s.add_dependency 'highline'
29
29
  s.add_dependency 'activesupport'
30
30
  s.add_dependency 'i18n'
31
- s.add_dependency 'sanitize'
32
31
  s.add_dependency 'trollop'
33
32
  end
@@ -8,8 +8,8 @@ require 'gherkin/i18n'
8
8
  require 'gherkin/formatter/pretty_formatter'
9
9
  require 'highline/import'
10
10
  require 'rally_rest_api'
11
- require 'sanitize'
12
11
  require 'trollop'
12
+ require 'tempfile'
13
13
 
14
14
  # internals
15
15
  require "crab/logging"
@@ -37,11 +37,7 @@ module Crab
37
37
  end
38
38
 
39
39
  def description
40
- # this could use a lot of rethinking :(
41
- # biggest problem is that Cucumber breaks if text in description looks like something
42
- # it might know how to parse, but doesn't
43
- # our feature descriptions are quite like that, so I was being ultra-conservative
44
- sanitize(@rally_story.description || '').gsub(/ +/, "\n").gsub(/\n\n/, "\n").gsub(/\n/, "\n ")
40
+ sanitize(@rally_story.description || '')
45
41
  end
46
42
 
47
43
  def scenarios
@@ -23,16 +23,12 @@ module Crab
23
23
  end
24
24
 
25
25
  def description
26
- # this could use a lot of rethinking :(
27
- # biggest problem is that Cucumber breaks if text in description looks like something
28
- # it might know how to parse, but doesn't
29
- # our feature descriptions are quite like that, so I was being ultra-conservative
30
- sanitize(@rally_test_case.description || '').gsub(/ +/, "\n").gsub(/\n\n/, "\n").gsub(/\n/, "\n ")
26
+ sanitize(@rally_test_case.description || '')
31
27
  end
32
28
 
33
29
  def tags
34
30
  [priority, risk, test_method, test_type].map(&:parameterize).reject do |tag|
35
- %w{important medium manual acceptance}.include? tag
31
+ %w{important medium manual functional}.include? tag
36
32
  end
37
33
  end
38
34
 
@@ -70,10 +70,20 @@ module Crab
70
70
  result
71
71
  end
72
72
 
73
- # took a while to figure out that we need to remove the CSS from inside embedded <style> tags!
74
- # Rally uses some crazy rich text editor that I'd be soooooo happy to disable, somehow. Chrome Extension, perhaps?
75
- def sanitize(source)
76
- Sanitize.clean source, :remove_contents => %w{style}
73
+ # use a web service to seriously clean up Rally's HTML -- I could not find any HTML-to-text libraries
74
+ # that satisfied the following conditions:
75
+ #
76
+ # - displaying nested lists properly (indented, etc)
77
+ # - being easy to include into the project
78
+ # - had no licensing issues
79
+ # - understood UTF8 natively
80
+ # - understood entities (emdash etc)
81
+ # - allowed dashes as list item markers
82
+ #
83
+ def sanitize(html)
84
+ require 'net/http'
85
+ require 'uri'
86
+ Net::HTTP.post_form(URI.parse("http://html2text.herokuapp.com/"), {:html => html}).body
77
87
  end
78
88
 
79
89
  def dotcrab_file(file)
@@ -1,3 +1,3 @@
1
1
  module Crab
2
- VERSION = "0.2.13"
2
+ VERSION = "0.2.14"
3
3
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crab
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 11
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 13
10
- version: 0.2.13
9
+ - 14
10
+ version: 0.2.14
11
11
  platform: ruby
12
12
  authors:
13
13
  - Carlos Villela
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-10-06 00:00:00 -03:00
18
+ date: 2011-10-10 00:00:00 -03:00
19
19
  default_executable: crab
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -117,7 +117,7 @@ dependencies:
117
117
  type: :runtime
118
118
  version_requirements: *id007
119
119
  - !ruby/object:Gem::Dependency
120
- name: sanitize
120
+ name: trollop
121
121
  prerelease: false
122
122
  requirement: &id008 !ruby/object:Gem::Requirement
123
123
  none: false
@@ -130,20 +130,6 @@ dependencies:
130
130
  version: "0"
131
131
  type: :runtime
132
132
  version_requirements: *id008
133
- - !ruby/object:Gem::Dependency
134
- name: trollop
135
- prerelease: false
136
- requirement: &id009 !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
145
- type: :runtime
146
- version_requirements: *id009
147
133
  description: CRaB is a bridge between Cucumber and Rally
148
134
  email:
149
135
  - cvillela@thoughtworks.com