singem 0.0.2 → 0.0.3

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/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'date'
5
5
  require 'spec/rake/spectask'
6
6
 
7
7
  GEM = "singem"
8
- GEM_VERSION = "0.0.2"
8
+ GEM_VERSION = "0.0.3"
9
9
  AUTHOR = "Corey Donohoe"
10
10
  EMAIL = "atmos@atmos.org"
11
11
  HOMEPAGE = "http://github.com/atmos/singem"
@@ -0,0 +1,284 @@
1
+ diff -ur twitter/USAGE cucumber/USAGE
2
+ --- twitter/USAGE 2009-05-06 23:36:10.000000000 -0600
3
+ +++ cucumber/USAGE 2009-05-20 01:51:20.000000000 -0600
4
+ @@ -1,5 +1,5 @@
5
+ Description:
6
+ -
7
+ -
8
+ +
9
+ +
10
+ Usage:
11
+ -
12
+ +
13
+ Only in cucumber: cucumber_generator.rb
14
+ diff -ur twitter/templates/README.md cucumber/templates/README.md
15
+ --- twitter/templates/README.md 2009-05-06 23:36:10.000000000 -0600
16
+ +++ cucumber/templates/README.md 2009-05-22 21:12:13.000000000 -0600
17
+ @@ -1,4 +1,4 @@
18
+ <%= name %>
19
+ <%= "=" * name.size %>
20
+
21
+ -A gem that provides...
22
+ +A sinatra app the provides a gem that...
23
+ diff -ur twitter/templates/Rakefile cucumber/templates/Rakefile
24
+ --- twitter/templates/Rakefile 2009-05-22 21:11:36.000000000 -0600
25
+ +++ cucumber/templates/Rakefile 2009-05-22 21:33:17.000000000 -0600
26
+ @@ -3,6 +3,7 @@
27
+ require 'rubygems/specification'
28
+ require 'date'
29
+ require 'spec/rake/spectask'
30
+ +require 'cucumber/rake/task'
31
+
32
+ GEM = "<%= name %>"
33
+ GEM_VERSION = "0.0.1"
34
+ @@ -32,7 +33,7 @@
35
+
36
+ s.require_path = 'lib'
37
+ s.autorequire = GEM
38
+ - s.files = %w(LICENSE README.md Rakefile TODO) + Dir.glob("{lib,spec}/**/*")
39
+ + s.files = %w(LICENSE README.md Rakefile TODO) + Dir.glob("{lib,features}/**/*")
40
+ end
41
+
42
+ Rake::GemPackageTask.new(spec) do |pkg|
43
+ @@ -51,7 +52,13 @@
44
+ end
45
+ end
46
+
47
+ -task :default => :spec
48
+ +task :default => :features
49
+ +
50
+ +desc "Run cucumber"
51
+ +Cucumber::Rake::Task.new do |t|
52
+ + t.cucumber_opts = %w{--format pretty}
53
+ +end
54
+ +
55
+
56
+ desc "Run specs"
57
+ Spec::Rake::SpecTask.new do |t|
58
+ diff -ur twitter/templates/config.ru.erb cucumber/templates/config.ru.erb
59
+ --- twitter/templates/config.ru.erb 2009-05-20 01:59:02.000000000 -0600
60
+ +++ cucumber/templates/config.ru.erb 2009-07-05 13:03:25.000000000 -0600
61
+ @@ -1,9 +1,6 @@
62
+ require 'rubygems'
63
+ require '<%= name %>'
64
+
65
+ -ENV['<%= name.upcase %>_READKEY'] = /\w{18}/.gen # this should really be what twitter gives you
66
+ -ENV['<%= name.upcase %>_READSECRET'] = /\w{24}/.gen # this should really be what twitter gives you
67
+ -
68
+ #DataMapper.setup(:default, "mysql://atmos:fail@localhost/<%= name.capitalize %>_production")
69
+
70
+ class <%= name.camelize %>Site < <%= name.camelize %>::App
71
+ Only in cucumber/templates: features
72
+ Only in cucumber/templates/lib/templates: app.rb.erb
73
+ Only in twitter/templates/lib/templates: models
74
+ Only in twitter/templates/lib/templates: sinatra
75
+ Only in twitter/templates/lib/templates: views
76
+ diff -ur twitter/templates/lib/templates.rb.erb cucumber/templates/lib/templates.rb.erb
77
+ --- twitter/templates/lib/templates.rb.erb 2009-05-06 23:36:10.000000000 -0600
78
+ +++ cucumber/templates/lib/templates.rb.erb 2009-05-20 01:51:20.000000000 -0600
79
+ @@ -1,58 +1,9 @@
80
+ -gem 'oauth'
81
+ -require 'oauth'
82
+ -gem 'json'
83
+ -require 'json'
84
+ -gem 'haml', '~>2.0.9'
85
+ +require 'rubygems'
86
+ +require 'sinatra/base'
87
+ require 'haml/util'
88
+ require 'haml/engine'
89
+ -gem 'chronic'
90
+ -require 'chronic'
91
+ -gem 'curb'
92
+ -require 'curb'
93
+ -require 'logger'
94
+ -
95
+ -gem 'data_objects', '~>0.9.11'
96
+ -gem 'dm-core', '~>0.9.10'
97
+ -gem 'dm-types', '~>0.9.10'
98
+ -gem 'dm-validations', '~>0.9.10'
99
+ -gem 'dm-timestamps', '~>0.9.10'
100
+ -require 'dm-core'
101
+ -require 'dm-types'
102
+ -require 'dm-validations'
103
+ -require 'dm-timestamps'
104
+ -require 'sinatra/base'
105
+
106
+ module <%= name.camelize %>
107
+ - module Log
108
+ - def self.logger
109
+ - if @logger.nil?
110
+ - @logger = Logger.new("<%= name %>.log")
111
+ - @logger.level = Logger::INFO
112
+ - end
113
+ - @logger
114
+ - end
115
+ - end
116
+ -
117
+ - module OAuth
118
+ - def self.consumer
119
+ - ::OAuth::Consumer.new(ENV['<%= name.upcase %>_READKEY'],
120
+ - ENV['<%= name.upcase %>_READSECRET'],
121
+ - {:site => 'http://twitter.com'})
122
+ - end
123
+ - end
124
+ -
125
+ - def self.retryable(options = {}, &block)
126
+ - opts = { :tries => 1, :on => StandardError }.merge(options)
127
+ - retry_exception, retries = opts[:on], opts[:tries]
128
+ -
129
+ - begin
130
+ - return yield
131
+ - rescue retry_exception
132
+ - retry if (retries -= 1) > 0
133
+ - end
134
+ - yield
135
+ - end
136
+ end
137
+
138
+ -require File.dirname(__FILE__)+'/<%= name %>/models/user'
139
+ -require File.dirname(__FILE__)+'/<%= name %>/sinatra/app'
140
+ +require File.dirname(__FILE__)+'/<%= name %>/app'
141
+ diff -ur twitter/templates/spec/spec_helper.rb.erb cucumber/templates/spec/spec_helper.rb.erb
142
+ --- twitter/templates/spec/spec_helper.rb.erb 2009-05-22 21:29:00.000000000 -0600
143
+ +++ cucumber/templates/spec/spec_helper.rb.erb 2009-05-20 01:51:20.000000000 -0600
144
+ @@ -3,20 +3,17 @@
145
+ require 'rubygems'
146
+ require 'randexp'
147
+ require '<%= name %>'
148
+ -require 'dm-core'
149
+ +#require 'dm-core'
150
+ require 'rack/test'
151
+ -require 'webrat'
152
+ -require 'dm-sweatshop'
153
+ +require 'webrat/sinatra'
154
+ +#require 'dm-sweatshop'
155
+ require 'fakeweb'
156
+ require 'pp'
157
+
158
+ FakeWeb.allow_net_connect = false
159
+ -ENV['<%= name.upcase %>_READKEY'] = /\w{18}/.gen
160
+ -ENV['<%= name.upcase %>_READSECRET'] = /\w{18}/.gen
161
+
162
+ -require File.dirname(__FILE__)+'/fixtures'
163
+ -
164
+ -DataMapper.setup(:default, 'sqlite3::memory:')
165
+ +#require File.dirname(__FILE__)+'/fixtures'
166
+ +#DataMapper.setup(:default, 'sqlite3::memory:')
167
+
168
+ class Net::HTTPResponse
169
+ def body=(content)
170
+ @@ -31,14 +28,8 @@
171
+ config.include(Webrat::Matchers)
172
+
173
+ config.before(:each) do
174
+ - ::<%= name.camelize %>::App.environment = :development
175
+ - DataMapper.auto_migrate!
176
+ + #DataMapper.auto_migrate!
177
+ FakeWeb.clean_registry
178
+ - FakeWeb.register_uri(:post, "http://twitter.com:80/oauth/request_token",
179
+ - [{:string => "oauth_token=requestkey&oauth_token_secret=requestsecret", :status => ["200", "OK"]},
180
+ - {:string => "", :status => ["401", "Unauthorized"]},
181
+ - {:string => "", :status => ["403", "Forbidden"]},
182
+ - {:string => "Bad Gateway", :status => ["502", "Bad Gateway"]} ])
183
+ end
184
+
185
+ def app
186
+ @@ -46,30 +37,4 @@
187
+ run <%= name.camelize %>::App
188
+ end
189
+ end
190
+ -
191
+ - def login_quentin
192
+ - response = Net::HTTPSuccess.new('1.0', 200, nil)
193
+ - response.body = "{\"description\":\"lulz\",\"profile_background_image_url\":\"http:\\/\\/static.twitter.com\\/images\\/themes\\/theme3\\/bg.gif\",\"utc_offset\":-25200,\"friends_count\":157,\"profile_background_color\":\"EDECE9\",\"profile_text_color\":\"634047\",\"url\":\"http:\\/\\/example.org\",\"name\":\"Quentin Blake\",\"favourites_count\":6,\"profile_link_color\":\"088253\",\"protected\":false,\"status\":{\"truncated\":false,\"in_reply_to_status_id\":null,\"text\":\"stu stu studio\",\"in_reply_to_user_id\":null,\"favorited\":false,\"created_at\":\"Tue Mar 31 19:02:12 +0000 2009\",\"id\":1426242614,\"source\":\"<a href=\\\"http:\\/\\/iconfactory.com\\/software\\/twitterrific\\\">twitterrific<\\/a>\"},\"created_at\":\"Sun Mar 18 20:07:13 +0000 2007\",\"statuses_count\":2560,\"profile_background_tile\":false,\"time_zone\":\"Mountain Time (US & Canada)\",\"profile_sidebar_fill_color\":\"E3E2DE\",\"profile_image_url\":\"http:\\/\\/static.twitter.com\\/images\\/default_profile_normal.png\",\"notifications\":false,\"profile_sidebar_border_color\":\"D3D2CF\",\"location\":\"Boulder, Colorado\",\"id\":1484261,\"following\":false,\"followers_count\":368,\"screen_name\":\"caboose\"}"
194
+ - login(response)
195
+ - last_response.headers['Location'].should eql('/')
196
+ - end
197
+ -
198
+ - def unauthorized_quentin
199
+ - response = Net::HTTPUnauthorized.new('1.0', 401, nil)
200
+ - response.body = "Unauthorized"
201
+ - lambda { login(response) }.should raise_error(ArgumentError)
202
+ - end
203
+ -
204
+ - def login(response)
205
+ - token = 'oU5W1XD2TTZhWT6Snfii9JbVBUkJOurCKhWQHz98765'
206
+ -
207
+ - consumer = mock('Consumer', {:request => response})
208
+ - request_token = mock('RequestToken', {:get_access_token => mock('AccessToken', {:token => 'foo', :secret => 'bar'})})
209
+ -
210
+ - OAuth::Consumer.stub!(:new).and_return(consumer)
211
+ - OAuth::RequestToken.stub!(:new).and_return(request_token)
212
+ -
213
+ - get '/callback', :oauth_token => token
214
+ - last_response
215
+ - end
216
+ end
217
+ diff -ur twitter/templates/spec/templates_spec.rb.erb cucumber/templates/spec/templates_spec.rb.erb
218
+ --- twitter/templates/spec/templates_spec.rb.erb 2009-05-06 23:36:10.000000000 -0600
219
+ +++ cucumber/templates/spec/templates_spec.rb.erb 2009-05-20 01:51:20.000000000 -0600
220
+ @@ -1,59 +1,8 @@
221
+ require File.dirname(__FILE__) + '/spec_helper'
222
+
223
+ -describe "visiting /" do
224
+ - describe "when unauthenticated" do
225
+ - it "should display the about page" do
226
+ - get '/'
227
+ - last_response.should have_selector("h2:contains('Do you use twitter?')")
228
+ - end
229
+ - end
230
+ - describe "when unauthorized" do
231
+ - it "should raise an error" do
232
+ - lambda { unauthorized_quentin }.should raise_error
233
+ - end
234
+ - end
235
+ - describe "when authenticated" do
236
+ - it "should display a greeting" do
237
+ - login_quentin
238
+ - get '/'
239
+ - last_response.should have_selector("h2:contains('Hello There, you little twitterer!')")
240
+ - end
241
+ - end
242
+ -end
243
+ -
244
+ -describe "visiting /peace" do
245
+ - describe "when authenticated" do
246
+ - it "should clear the session and redirect to the home page" do
247
+ - login_quentin
248
+ - get '/peace'
249
+ - last_response.headers['Location'].should eql('/')
250
+ -
251
+ - get last_response.headers['Location']
252
+ - last_response.should have_selector("h2:contains('Do you use twitter?')")
253
+ - end
254
+ - end
255
+ -end
256
+ -
257
+ -describe "triggering a 404" do
258
+ - it "should display the failed page" do
259
+ - pending
260
+ - get '/lost'
261
+ - last_response.should have_selector("p:contains('Something went wonky.')")
262
+ - end
263
+ -end
264
+ -
265
+ -describe "visiting /authenticate" do
266
+ - it "should redirect to twitter for authentication" do
267
+ - get '/authenticate'
268
+ - last_response.headers['Location'].should eql('http://twitter.com/oauth/authorize?oauth_token=requestkey')
269
+ - end
270
+ -end
271
+ -
272
+ -describe "<%= name.camelize %>::User" do
273
+ - it "can create users from twitter ids that exist" do
274
+ - lambda { <%= name.camelize %>::User.create_twitter_user('atmos') }.should_not raise_error
275
+ - end
276
+ - it "can't create users from twitter ids that do not exist" do
277
+ - lambda { <%= name.camelize %>::User.create_twitter_user(/\w{18}/.gen) }.should raise_error(<%= name.camelize %>::User::UserCreationError)
278
+ +describe "<%= name.camelize %>" do
279
+ + it "should do nothing" do
280
+ + get '/'
281
+ + last_response.should have_selector("h2:contains('Hello There, buddy!')")
282
+ end
283
+ end
284
+ Only in twitter: twitter_generator.rb
@@ -2,7 +2,6 @@ require 'rubygems'
2
2
  require 'rake/gempackagetask'
3
3
  require 'rubygems/specification'
4
4
  require 'date'
5
- require 'spec/rake/spectask'
6
5
 
7
6
  GEM = "<%= name %>"
8
7
  GEM_VERSION = "0.0.1"
@@ -51,8 +50,15 @@ task :make_spec do
51
50
  end
52
51
  end
53
52
 
54
- task :default => :spec
53
+ task :default => :features
54
+
55
+ require 'cucumber/rake/task'
56
+ desc "Run cucumber"
57
+ Cucumber::Rake::Task.new do |t|
58
+ t.cucumber_opts = %w{--format pretty}
59
+ end
55
60
 
61
+ require 'spec/rake/spectask'
56
62
  desc "Run specs"
57
63
  Spec::Rake::SpecTask.new do |t|
58
64
  t.spec_files = FileList['spec/**/*_spec.rb']
@@ -0,0 +1,16 @@
1
+ Feature: Viewing my wish list
2
+ In order to display a users' preferences
3
+ As a twitter user
4
+
5
+ Background:
6
+ Given I am logged in
7
+ And I have created a "53cm Pistas" category
8
+ And I have created a "54cm Cyclocross" category
9
+
10
+ Scenario: After Authenticating
11
+ When I visit the bookmarklet page
12
+ And I set the category to "53cm Pistas"
13
+ And the "description" is set to "Bianchi Pista Size 53cm Medium - $500 (Downtown Denver)"
14
+ And the "url" is set to "http://denver.craigslist.org/bik/1195971789.html"
15
+ When I click submit
16
+ Then I should see the window close
@@ -0,0 +1,19 @@
1
+ Feature: Viewing my wish list
2
+ In order to display a users' preferences
3
+ As a twitter user
4
+
5
+ Background:
6
+ Given I am logged in
7
+ And I have created a "53cm Pistas" category
8
+
9
+ Scenario: Posting to an existing category
10
+ When I post "Bianchi Pista Size 53cm Medium - $500 (Downtown Denver)" with a url of "http://denver.craigslist.org/bik/1195971789.html" to the "53cm Pistas" category
11
+ And I visit the "53cm Pistas" page
12
+ Then I should see the "Bianchi Pista Size 53cm Medium - $500 (Downtown Denver)" in the list
13
+ And the url should be set to "http://denver.craigslist.org/bik/1195971789.html"
14
+
15
+ Scenario: Posting to a new category
16
+ When I post "Bianchi Pista Size 54cm Medium - $500 (Downtown Denver)" with a url of "http://denver.craigslist.org/bik/1195971789.html" to the "54cm Pistas" category
17
+ And I visit the "54cm Pistas" page
18
+ Then I should see the "Bianchi Pista Size 54cm Medium - $500 (Downtown Denver)" in the list
19
+ And the url should be set to "http://denver.craigslist.org/bik/1195971789.html"
@@ -0,0 +1,11 @@
1
+ Feature: Visiting the Home Page
2
+ In order to display a splash page
3
+
4
+ Scenario: Seeing the splash page unauthenticated
5
+ When I visit the home page
6
+ Then I should be prompted to try the app
7
+
8
+ Scenario: Seeing the splash page authenticated
9
+ Given I am logged in
10
+ When I visit the home page
11
+ Then I should be greeted
@@ -0,0 +1,15 @@
1
+ When /^I visit the home page$/ do
2
+ get '/'
3
+ end
4
+
5
+ Then /^I should be greeted$/ do
6
+ last_response.should have_selector("h2:contains('Hello There, you little twitterer!')")
7
+ end
8
+
9
+ Then /^I should be prompted to try the app$/ do
10
+ last_response.should have_selector("p:contains('Would you mind trying out my new app')")
11
+ end
12
+
13
+ Given /^I am logged in$/ do
14
+ login_quentin
15
+ end
@@ -0,0 +1,63 @@
1
+ require 'spec'
2
+ require 'spec/mocks'
3
+ require 'webrat'
4
+ require 'rack/test'
5
+ require 'dm-sweatshop'
6
+ require 'pp'
7
+
8
+ require File.dirname(__FILE__)+'/../../lib/<%= name %>'
9
+
10
+ module <%= name.camelize %>::AppHelpers
11
+ def app
12
+ @app = Rack::Builder.new do
13
+ run <%= name.camelize %>::App
14
+ end
15
+ end
16
+
17
+ def login_quentin
18
+ response = Net::HTTPSuccess.new('1.0', 200, nil)
19
+ response.body = "{\"description\":\"lulz\",\"profile_background_image_url\":\"http:\\/\\/static.twitter.com\\/images\\/themes\\/theme3\\/bg.gif\",\"utc_offset\":-25200,\"friends_count\":157,\"profile_background_color\":\"EDECE9\",\"profile_text_color\":\"634047\",\"url\":\"http:\\/\\/example.org\",\"name\":\"Quentin Blake\",\"favourites_count\":6,\"profile_link_color\":\"088253\",\"protected\":false,\"status\":{\"truncated\":false,\"in_reply_to_status_id\":null,\"text\":\"stu stu studio\",\"in_reply_to_user_id\":null,\"favorited\":false,\"created_at\":\"Tue Mar 31 19:02:12 +0000 2009\",\"id\":1426242614,\"source\":\"<a href=\\\"http:\\/\\/iconfactory.com\\/software\\/twitterrific\\\">twitterrific<\\/a>\"},\"created_at\":\"Sun Mar 18 20:07:13 +0000 2007\",\"statuses_count\":2560,\"profile_background_tile\":false,\"time_zone\":\"Mountain Time (US & Canada)\",\"profile_sidebar_fill_color\":\"E3E2DE\",\"profile_image_url\":\"http:\\/\\/static.twitter.com\\/images\\/default_profile_normal.png\",\"notifications\":false,\"profile_sidebar_border_color\":\"D3D2CF\",\"location\":\"Boulder, Colorado\",\"id\":1484261,\"following\":false,\"followers_count\":368,\"screen_name\":\"caboose\"}"
20
+ login(response)
21
+ end
22
+
23
+ def unauthorized_quentin
24
+ response = Net::HTTPUnauthorized.new('1.0', 401, nil)
25
+ response.body = "Unauthorized"
26
+ lambda { login(response) }.should raise_error(ArgumentError)
27
+ end
28
+
29
+ def login(response)
30
+ token = 'oU5W1XD2TTZhWT6Snfii9JbVBUkJOurCKhWQHz98765'
31
+
32
+ consumer = mock('Consumer', {:request => response})
33
+ request_token = mock('RequestToken', {:get_access_token => mock('AccessToken', {:token => 'foo', :secret => 'bar'})})
34
+
35
+ OAuth::Consumer.stub!(:new).and_return(consumer)
36
+ OAuth::RequestToken.stub!(:new).and_return(request_token)
37
+
38
+ visit "/callback?oauth_token=#{token}"
39
+ end
40
+ end
41
+
42
+ Webrat.configure do |config|
43
+ config.mode = :rack_test
44
+ config.application_port = 4567
45
+ end
46
+
47
+ class Net::HTTPResponse
48
+ def body=(content)
49
+ @body = content
50
+ @read = true
51
+ end
52
+ end
53
+
54
+ World(Rack::Test::Methods)
55
+ World(Spec::Mocks::ExampleMethods)
56
+ World(Webrat::Methods)
57
+ World(Webrat::Matchers)
58
+ World(<%= name.camelize %>::AppHelpers)
59
+
60
+ Before do
61
+ DataMapper.setup(:default, "sqlite3://:memory:")
62
+ DataMapper.auto_migrate!
63
+ end
@@ -0,0 +1,14 @@
1
+ Feature: Viewing my wish list
2
+ In order to display a users' preferences
3
+ As a twitter user
4
+
5
+ Background:
6
+ Given I am logged in
7
+ And I have created a "53cm Pistas" category
8
+
9
+ Scenario: After Authenticating
10
+ When I visit the home page
11
+ Then I should see my list of categories
12
+ When I enter "Prostitutes" for a new category
13
+ And I click submit
14
+ Then I should see the "Prostitutes" list
@@ -0,0 +1,6 @@
1
+ Feature: Visiting the Home Page
2
+ In order to display a splash page
3
+ As an anonymous user
4
+ Scenario: Seeing the splash page
5
+ When I visit the home page
6
+ Then I should be greeted
@@ -5,8 +5,6 @@ require 'json'
5
5
  gem 'haml', '~>2.0.9'
6
6
  require 'haml/util'
7
7
  require 'haml/engine'
8
- gem 'chronic'
9
- require 'chronic'
10
8
  gem 'curb'
11
9
  require 'curb'
12
10
  require 'logger'
@@ -19,6 +19,8 @@ class TwitterGenerator < RubiGen::Base
19
19
  m.directory ''
20
20
  BASEDIRS.each { |path| m.directory path }
21
21
  m.directory "lib/#{name}"
22
+ m.directory "features/support"
23
+ m.directory "features/step_definitions"
22
24
  m.directory "lib/#{name}/sinatra"
23
25
  m.directory "lib/#{name}/models"
24
26
  m.directory "lib/#{name}/views"
@@ -29,6 +31,12 @@ class TwitterGenerator < RubiGen::Base
29
31
  m.template "lib/templates/sinatra/app.rb.erb", "lib/#{name}/sinatra/app.rb"
30
32
  m.template "lib/templates/models/user.rb.erb", "lib/#{name}/models/user.rb"
31
33
 
34
+ # cucumber stubs
35
+ m.template "features/support/env.rb.erb", "features/support/env.rb"
36
+ m.template "features/basics.feature.erb", "features/#{name}.feature"
37
+ m.template "features/step_definitions/basics.rb.erb", "features/step_definitions/#{name}.rb"
38
+
39
+ # rspec stubs
32
40
  m.template "spec/spec_helper.rb.erb", "spec/spec_helper.rb"
33
41
  m.template "spec/templates_spec.rb.erb", "spec/#{name}_spec.rb"
34
42
  m.template "spec/fixtures.rb.erb", "spec/fixtures.rb"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: singem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Corey Donohoe
@@ -9,7 +9,7 @@ autorequire: singem
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-22 00:00:00 -06:00
12
+ date: 2009-07-05 00:00:00 -06:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -110,6 +110,7 @@ files:
110
110
  - lib/generators/cucumber/templates/spec/templates_spec.rb.erb
111
111
  - lib/generators/cucumber/templates/TODO
112
112
  - lib/generators/cucumber/USAGE
113
+ - lib/generators/foo.txt
113
114
  - lib/generators/singem
114
115
  - lib/generators/singem/singem_generator.rb
115
116
  - lib/generators/singem/templates
@@ -130,6 +131,16 @@ files:
130
131
  - lib/generators/twitter
131
132
  - lib/generators/twitter/templates
132
133
  - lib/generators/twitter/templates/config.ru.erb
134
+ - lib/generators/twitter/templates/features
135
+ - lib/generators/twitter/templates/features/adding_items_from_the_bookmarklet.feature
136
+ - lib/generators/twitter/templates/features/adding_items_to_my_wishlist.feature
137
+ - lib/generators/twitter/templates/features/basics.feature.erb
138
+ - lib/generators/twitter/templates/features/step_definitions
139
+ - lib/generators/twitter/templates/features/step_definitions/basics.rb.erb
140
+ - lib/generators/twitter/templates/features/support
141
+ - lib/generators/twitter/templates/features/support/env.rb.erb
142
+ - lib/generators/twitter/templates/features/viewing_my_wish_list.feature
143
+ - lib/generators/twitter/templates/features/viewing_the_site_for_the_first_time.feature
133
144
  - lib/generators/twitter/templates/lib
134
145
  - lib/generators/twitter/templates/lib/templates
135
146
  - lib/generators/twitter/templates/lib/templates/models