terraformation 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -4,7 +4,7 @@ require 'fileutils'
4
4
 
5
5
  spec = Gem::Specification.new do |s|
6
6
  s.name = "terraformation"
7
- s.version = "0.1.3"
7
+ s.version = "0.2.0"
8
8
  s.summary = "Generators with a Hashrocket twist"
9
9
  s.email = "info@hashrocket.com"
10
10
  s.homepage = "http://github.com/hashrocket/terraformation"
@@ -13,10 +13,6 @@ spec = Gem::Specification.new do |s|
13
13
  s.files = %w( LICENSE README.rdoc Rakefile ) + Dir["{bin,rails_generators}/**/*"].sort
14
14
  s.extra_rdoc_files = ["README.rdoc", "LICENSE"]
15
15
  s.executables = ["terrarails"]
16
- s.add_dependency("haml", "2.2.14")
17
- s.add_dependency("rspec-rails", "1.2.9")
18
- s.add_dependency("cucumber", "0.4.4")
19
- s.add_dependency("webrat", "0.5.3")
20
16
  end
21
17
 
22
18
  Rake::GemPackageTask.new(spec) do |package|
@@ -35,6 +35,7 @@ end
35
35
  unless File.exist?('config/database.example.yml')
36
36
  file 'config/database.example.yml', File.read('config/database.yml')
37
37
  end
38
+ adapter = YAML.load(File.read('config/database.yml'))['development']['adapter']
38
39
 
39
40
  unlink 'test/performance/browsing_test.rb'
40
41
  %w(test/fixtures test/functional test/integration test/performance test/unit).each do |d|
@@ -68,24 +69,59 @@ if File.size('doc/README_FOR_APP') == 211
68
69
  file 'doc/README_FOR_APP', "= #{application_name}\n"
69
70
  end
70
71
 
71
- added_cucumber = !File.directory?('features')
72
- generate 'terraformation', '--skip', '--full'
73
-
74
72
  gsub_file 'app/helpers/application_helper.rb', /\A# Methods added to this .*\n/, ''
75
- gsub_file 'config/environment.rb', /(?:^\s*# config\.gem .*\n)+/, <<-EOS
76
- config.gem 'haml', :version => '2.2.14'
77
- config.gem 'rspec-rails', :version => '1.2.9', :lib => false
78
- config.gem 'cucumber', :version => '0.4.4', :lib => false
79
- config.gem 'webrat', :version => '0.5.3', :lib => false
80
- EOS
81
73
  gsub_file 'config/routes.rb', /^(ActionController::Routing::Routes\.draw do \|map\|\n)(?:^\s*\n|^\s*#.*\n)*/, '\\1'
82
74
 
83
- reformat(*Dir.glob('config/environments/*.rb'))
84
- reformat 'config/environment.rb', 'config/routes.rb', 'config/boot.rb', 'config/initializers/session_store.rb', 'script/about'
75
+ version = File.read('config/environment.rb')[/^RAILS_GEM_VERSION = ['"](.*?)['"]/, 1]
76
+ gsub_file 'config/environment.rb', /(?:^\s*# config\.gem .*\n)+/, ''
77
+ gsub_file 'config/environment.rb', /^#.*\nRAILS_GEM_VERSION.*\n\n/, ''
78
+
79
+ file 'config/preinitializer.rb', <<-EOS
80
+ begin
81
+ # Require the preresolved locked set of gems.
82
+ require File.expand_path('../../.bundle/environment', __FILE__)
83
+ rescue LoadError
84
+ # Fallback on doing the resolve at runtime.
85
+ require "rubygems"
86
+ require "bundler"
87
+ Bundler.setup
88
+ end
89
+ EOS
90
+ gsub_file 'config/boot.rb', / +load_initializer\s+Rails::Initializer\.run\(:set_load_path\)\s+end/, <<-EOS
91
+ load_initializer
92
+ extend_environment
93
+ Rails::Initializer.run(:set_load_path)
94
+ end
95
+
96
+ def extend_environment
97
+ Rails::Initializer.class_eval do
98
+ old_load = instance_method(:load_environment)
99
+ define_method(:load_environment) do
100
+ Bundler.require :default, Rails.env
101
+ old_load.bind(self).call
102
+ end
103
+ end
104
+ end
105
+ EOS
85
106
 
86
- if added_cucumber
87
- reformat 'features/support/env.rb', 'features/step_definitions/webrat_steps.rb'
107
+ unless File.exist?('Gemfile')
108
+ file 'Gemfile', "source :gemcutter\n\n" + [
109
+ "gem 'rails', '#{version}'",
110
+ "gem '#{{'postgresql'=>'pg', 'sqlite3'=>'sqlite3-ruby'}[adapter] || adapter}'",
111
+ "gem 'haml', '~> 3.0.4'"
112
+ ].sort.join("\n") + "\n\n" + <<-EOS
113
+ group :test do
114
+ gem 'rspec-rails', '1.3.2'
88
115
  end
116
+ EOS
117
+ end
118
+
119
+ system 'bundle', 'install'
120
+
121
+ generate 'terraformation', '--skip', '--full', '--no-cucumber', '--no-blueprint'
122
+
123
+ reformat(*Dir.glob('config/environments/*.rb'))
124
+ reformat 'config/environment.rb', 'config/routes.rb', 'config/boot.rb', 'config/initializers/session_store.rb', 'script/about'
89
125
 
90
126
  unless File.directory?('.git')
91
127
  git :init
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe <%= class_name %>Controller do
4
4
  <% unless actions.empty? -%>
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_name.scan('::').size %>/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe "/<%= class_name.underscore %>/<%= name %>.<%= format %>" do
4
4
  subject do
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ vendored_cucumber_bin = Dir["#{File.dirname(__FILE__)}/../vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
4
+ if vendored_cucumber_bin
5
+ load File.expand_path(vendored_cucumber_bin)
6
+ else
7
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
8
+ require 'cucumber'
9
+ load Cucumber::BINARY
10
+ end
@@ -0,0 +1,46 @@
1
+ ENV["RAILS_ENV"] ||= "cucumber"
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
3
+
4
+ require 'cucumber/formatter/unicode' # Remove this line if you don't want Cucumber Unicode support
5
+ require 'cucumber/rails/world'
6
+ require 'cucumber/rails/active_record'
7
+ require 'cucumber/web/tableish'
8
+
9
+ require 'capybara/rails'
10
+ require 'capybara/cucumber'
11
+ require 'capybara/session'
12
+ Capybara.default_selector = :xpath
13
+
14
+ # If you set this to false, any error raised from within your app will bubble
15
+ # up to your step definition and out to cucumber unless you catch it somewhere
16
+ # on the way. You can make Rails rescue errors and render error pages on a
17
+ # per-scenario basis by tagging a scenario or feature with the @allow-rescue tag.
18
+ #
19
+ # If you set this to true, Rails will rescue all errors and render error
20
+ # pages, more or less in the same way your application would behave in the
21
+ # default production environment. It's not recommended to do this for all
22
+ # of your scenarios, as this makes it hard to discover errors in your application.
23
+ ActionController::Base.allow_rescue = false
24
+
25
+ # If you set this to true, each scenario will run in a database transaction.
26
+ # You can still turn off transactions on a per-scenario basis, simply tagging
27
+ # a feature or scenario with the @no-txn tag. If you are using Capybara,
28
+ # tagging with @culerity or @javascript will also turn transactions off.
29
+ #
30
+ # If you set this to false, transactions will be off for all scenarios,
31
+ # regardless of whether you use @no-txn or not.
32
+ #
33
+ # Beware that turning transactions off will leave data in your database
34
+ # after each scenario, which can lead to hard-to-debug failures in
35
+ # subsequent scenarios. If you do this, we recommend you create a Before
36
+ # block that will explicitly put your database in a known state.
37
+ Cucumber::Rails::World.use_transactional_fixtures = true
38
+ # How to clean your database when transactions are turned off. See
39
+ # http://github.com/bmabey/database_cleaner for more info.
40
+ if defined?(ActiveRecord::Base)
41
+ begin
42
+ require 'database_cleaner'
43
+ DatabaseCleaner.strategy = :truncation
44
+ rescue LoadError => ignore_if_database_cleaner_not_present
45
+ end
46
+ end
@@ -5,6 +5,7 @@
5
5
  /doc/app
6
6
  /doc/plugins
7
7
  /public/system
8
+ /.bundle
8
9
  .DS_Store
9
10
  *~
10
11
  .*.sw?
@@ -0,0 +1,142 @@
1
+ gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9
2
+ rspec_gem_dir = nil
3
+ Dir["#{RAILS_ROOT}/vendor/gems/*"].each do |subdir|
4
+ rspec_gem_dir = subdir if subdir.gsub("#{RAILS_ROOT}/vendor/gems/","") =~ /^(\w+-)?rspec-(\d+)/ && File.exist?("#{subdir}/lib/spec/rake/spectask.rb")
5
+ end
6
+ rspec_plugin_dir = File.expand_path(File.dirname(__FILE__) + '/../../vendor/plugins/rspec')
7
+
8
+ if rspec_gem_dir && (test ?d, rspec_plugin_dir)
9
+ raise "\n#{'*'*50}\nYou have rspec installed in both vendor/gems and vendor/plugins\nPlease pick one and dispose of the other.\n#{'*'*50}\n\n"
10
+ end
11
+
12
+ if rspec_gem_dir
13
+ $LOAD_PATH.unshift("#{rspec_gem_dir}/lib")
14
+ elsif File.exist?(rspec_plugin_dir)
15
+ $LOAD_PATH.unshift("#{rspec_plugin_dir}/lib")
16
+ end
17
+
18
+ # Don't load rspec if running "rake gems:*"
19
+ unless ARGV.any? {|a| a =~ /^gems/}
20
+
21
+ begin
22
+ require 'spec/rake/spectask'
23
+ rescue MissingSourceFile
24
+ module Spec
25
+ module Rake
26
+ class SpecTask
27
+ def initialize(name)
28
+ task name do
29
+ # if rspec-rails is a configured gem, this will output helpful material and exit ...
30
+ require File.expand_path(File.join(File.dirname(__FILE__),"..","..","config","environment"))
31
+
32
+ # ... otherwise, do this:
33
+ raise <<-MSG
34
+
35
+ #{"*" * 80}
36
+ * You are trying to run an rspec rake task defined in
37
+ * #{__FILE__},
38
+ * but rspec can not be found in vendor/gems, vendor/plugins or system gems.
39
+ #{"*" * 80}
40
+ MSG
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
47
+
48
+ spec_prereq = File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop
49
+ task :noop do
50
+ end
51
+
52
+ task :default => :spec
53
+ task :stats => "spec:statsetup"
54
+
55
+ desc "Run all specs in spec directory (excluding plugin specs)"
56
+ Spec::Rake::SpecTask.new(:spec => spec_prereq) do |t|
57
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
58
+ t.spec_files = FileList['spec/**/*_spec.rb']
59
+ end
60
+
61
+ namespace :spec do
62
+ desc "Run all specs in spec directory with RCov (excluding plugin specs)"
63
+ Spec::Rake::SpecTask.new(:rcov) do |t|
64
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
65
+ t.spec_files = FileList['spec/**/*_spec.rb']
66
+ t.rcov = true
67
+ t.rcov_opts = lambda do
68
+ IO.readlines("#{RAILS_ROOT}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten
69
+ end
70
+ end
71
+
72
+ desc "Print Specdoc for all specs (excluding plugin specs)"
73
+ Spec::Rake::SpecTask.new(:doc) do |t|
74
+ t.spec_opts = ["--format", "specdoc", "--dry-run"]
75
+ t.spec_files = FileList['spec/**/*_spec.rb']
76
+ end
77
+
78
+ desc "Print Specdoc for all plugin examples"
79
+ Spec::Rake::SpecTask.new(:plugin_doc) do |t|
80
+ t.spec_opts = ["--format", "specdoc", "--dry-run"]
81
+ t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*')
82
+ end
83
+
84
+ [:models, :controllers, :views, :helpers, :lib, :integration].each do |sub|
85
+ desc "Run the code examples in spec/#{sub}"
86
+ Spec::Rake::SpecTask.new(sub => spec_prereq) do |t|
87
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
88
+ t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"]
89
+ end
90
+ end
91
+
92
+ desc "Run the code examples in vendor/plugins (except RSpec's own)"
93
+ Spec::Rake::SpecTask.new(:plugins => spec_prereq) do |t|
94
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
95
+ t.spec_files = FileList['vendor/plugins/**/spec/**/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude("vendor/plugins/rspec-rails/*")
96
+ end
97
+
98
+ namespace :plugins do
99
+ desc "Runs the examples for rspec_on_rails"
100
+ Spec::Rake::SpecTask.new(:rspec_on_rails) do |t|
101
+ t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""]
102
+ t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*_spec.rb']
103
+ end
104
+ end
105
+
106
+ # Setup specs for stats
107
+ task :statsetup do
108
+ require 'code_statistics'
109
+ ::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models')
110
+ ::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views')
111
+ ::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers')
112
+ ::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers')
113
+ ::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib')
114
+ ::STATS_DIRECTORIES << %w(Routing\ specs spec/routing) if File.exist?('spec/routing')
115
+ ::STATS_DIRECTORIES << %w(Integration\ specs spec/integration) if File.exist?('spec/integration')
116
+ ::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models')
117
+ ::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views')
118
+ ::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers')
119
+ ::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers')
120
+ ::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib')
121
+ ::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing')
122
+ ::CodeStatistics::TEST_TYPES << "Integration specs" if File.exist?('spec/integration')
123
+ end
124
+
125
+ namespace :db do
126
+ namespace :fixtures do
127
+ desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z."
128
+ task :load => :environment do
129
+ ActiveRecord::Base.establish_connection(Rails.env)
130
+ base_dir = File.join(Rails.root, 'spec', 'fixtures')
131
+ fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir
132
+
133
+ require 'active_record/fixtures'
134
+ (ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file|
135
+ Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*'))
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
141
+
142
+ end
@@ -10,5 +10,4 @@ Spec::Runner.configure do |config|
10
10
  config.use_instantiated_fixtures = false
11
11
  config.fixture_path = RAILS_ROOT + '/spec/fixtures/'
12
12
  config.global_fixtures = :all
13
- # config.mock_with :mocha
14
13
  end
@@ -0,0 +1,129 @@
1
+ require 'uri'
2
+ require 'cgi'
3
+ require File.expand_path(File.join(File.dirname(__FILE__), "..", "support", "paths"))
4
+
5
+ Given /^I am on (.+)$/ do |page_name|
6
+ visit path_to(page_name)
7
+ end
8
+
9
+ When /^I go to (.+)$/ do |page_name|
10
+ visit path_to(page_name)
11
+ end
12
+
13
+ When /^I press "([^\"]*)"$/ do |button, selector|
14
+ click_button(button)
15
+ end
16
+
17
+ When /^I follow "([^\"]*)"$/ do |link, selector|
18
+ click_link(link)
19
+ end
20
+
21
+ When /^I fill in "([^\"]*)" with "([^\"]*)"$/ do |field, value, selector|
22
+ fill_in(field, :with => value)
23
+ end
24
+
25
+ When /^I fill in "([^\"]*)" for "([^\"]*)"$/ do |value, field, selector|
26
+ fill_in(field, :with => value)
27
+ end
28
+
29
+ # Use this to fill in an entire form with data from a table. Example:
30
+ #
31
+ # When I fill in the following:
32
+ # | Account Number | 5002 |
33
+ # | Expiry date | 2009-11-01 |
34
+ # | Note | Nice guy |
35
+ # | Wants Email? | |
36
+ #
37
+ # TODO: Add support for checkbox, select og option
38
+ # based on naming conventions.
39
+ #
40
+ When /^I fill in the following:$/ do |selector, fields|
41
+ fields.rows_hash.each do |name, value|
42
+ When %{I fill in "#{name}" with "#{value}"}
43
+ end
44
+ end
45
+
46
+ When /^I select "([^\"]*)" from "([^\"]*)"$/ do |value, field, selector|
47
+ select(value, :from => field)
48
+ end
49
+
50
+ When /^I check "([^\"]*)"$/ do |field, selector|
51
+ check(field)
52
+ end
53
+
54
+ When /^I uncheck "([^\"]*)"$/ do |field, selector|
55
+ uncheck(field)
56
+ end
57
+
58
+ When /^I choose "([^\"]*)"$/ do |field, selector|
59
+ choose(field)
60
+ end
61
+
62
+ When /^I attach the file "([^\"]*)" to "([^\"]*)"$/ do |path, field, selector|
63
+ attach_file(field, path)
64
+ end
65
+
66
+ Then /^I should see JSON:$/ do |expected_json|
67
+ require 'json'
68
+ expected = JSON.pretty_generate(JSON.parse(expected_json))
69
+ actual = JSON.pretty_generate(JSON.parse(response.body))
70
+ expected.should == actual
71
+ end
72
+
73
+ Then /^I should see "([^\"]*)"$/ do |text, selector|
74
+ page.should have_content(text)
75
+ end
76
+
77
+ Then /^I should see \/([^\/]*)\/$/ do |regexp, selector|
78
+ regexp = Regexp.new(regexp)
79
+ page.should have_xpath('//*', :text => regexp)
80
+ end
81
+
82
+ Then /^I should not see "([^\"]*)"$/ do |text, selector|
83
+ page.should have_no_content(text)
84
+ end
85
+
86
+ Then /^I should not see \/([^\/]*)\/$/ do |regexp, selector|
87
+ regexp = Regexp.new(regexp)
88
+ page.should have_no_xpath('//*', :text => regexp)
89
+ end
90
+
91
+ Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, selector, value|
92
+ field = find_field(field)
93
+ field_value = (field.tag_name == 'textarea') ? field.text : field.value
94
+ field_value.should =~ /#{value}/
95
+ end
96
+
97
+ Then /^the "([^\"]*)" field should not contain "([^\"]*)"$/ do |field, selector, value|
98
+ field = find_field(field)
99
+ field_value = (field.tag_name == 'textarea') ? field.text : field.value
100
+ field_value.should_not =~ /#{value}/
101
+ end
102
+
103
+ Then /^the "([^\"]*)" checkbox should be checked$/ do |label, selector|
104
+ field_checked = find_field(label)['checked']
105
+ field_checked.should == 'checked'
106
+ end
107
+
108
+ Then /^the "([^\"]*)" checkbox should not be checked$/ do |label, selector|
109
+ field_checked = find_field(label)['checked']
110
+ field_checked.should_not == 'checked'
111
+ end
112
+
113
+ Then /^I should be on (.+)$/ do |page_name|
114
+ current_path = URI.parse(current_url).path
115
+ current_path.should == path_to(page_name)
116
+ end
117
+
118
+ Then /^I should have the following query string:$/ do |expected_pairs|
119
+ query = URI.parse(current_url).query
120
+ actual_params = query ? CGI.parse(query) : {}
121
+ expected_params = {}
122
+ expected_pairs.rows_hash.each_pair{|k,v| expected_params[k] = v.split(',')}
123
+
124
+ actual_params.should == expected_params
125
+ end
126
+
127
+ Then /^show me the page$/ do
128
+ save_and_open_page
129
+ end
@@ -35,34 +35,33 @@ class TerraformationGenerator < Rails::Generator::Base
35
35
  script_options = { :chmod => 0755, :shebang => options[:shebang] == DEFAULT_SHEBANG ? nil : options[:shebang] }
36
36
  if option?(:rspec) || option?(:cucumber)
37
37
  m.directory 'lib/tasks'
38
- m.file 'clear_test_default.rake', 'lib/tasks/clear_test_default.rake'
38
+ m.file 'clear_test_default.rake', 'lib/tasks/clear_test_default.rake'
39
39
  end
40
40
 
41
41
  if option?(:rspec)
42
- m.file 'rspec:rspec.rake', 'lib/tasks/rspec.rake'
42
+ m.file 'rspec.rake', 'lib/tasks/rspec.rake'
43
43
 
44
- m.file 'rspec:script/autospec', 'script/autospec', script_options
45
- m.file 'rspec:script/spec', 'script/spec', script_options
44
+ m.file 'rspec:script/autospec', 'script/autospec', script_options
45
+ m.file 'rspec:script/spec', 'script/spec', script_options
46
46
 
47
47
  m.directory 'spec'
48
- m.file 'rcov.opts', 'spec/rcov.opts'
49
- m.file 'spec.opts', 'spec/spec.opts'
50
- m.file 'spec_helper.rb', 'spec/spec_helper.rb'
48
+ m.file 'rcov.opts', 'spec/rcov.opts'
49
+ m.file 'spec.opts', 'spec/spec.opts'
50
+ m.file 'spec_helper.rb', 'spec/spec_helper.rb'
51
51
  end
52
52
 
53
53
  if option?(:cucumber)
54
- require 'cucumber' # for Cucumber::VERSION
55
- m.file 'cucumber.rake', 'lib/tasks/cucumber.rake'
56
- m.file 'cucumber:cucumber', 'script/cucumber', script_options
57
- m.file 'cucumber_environment.rb', 'config/environments/cucumber.rb'
54
+ m.file 'cucumber.rake', 'lib/tasks/cucumber.rake'
55
+ m.file 'cucumber', 'script/cucumber', script_options
56
+ m.file 'cucumber_environment.rb', 'config/environments/cucumber.rb'
58
57
 
59
58
  m.directory 'features'
60
59
  m.directory 'features/support'
61
60
  m.directory 'features/step_definitions'
62
61
 
63
- m.template 'cucumber:env.rb', 'features/support/env.rb'
64
- m.file 'paths.rb', 'features/support/paths.rb'
65
- m.template 'cucumber:webrat_steps.rb', 'features/step_definitions/webrat_steps.rb'
62
+ m.file 'env.rb', 'features/support/env.rb'
63
+ m.file 'paths.rb', 'features/support/paths.rb'
64
+ m.template 'web_steps.rb', 'features/step_definitions/web_steps.rb'
66
65
 
67
66
  %w(config/database.yml config/database.example.yml config/database.yml.example).each do |file|
68
67
  path = destination_path(file)
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe <%= class_name %>Helper do
4
4
  <% if actions.any? -%>
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe <%= class_name %> do
4
4
  subject do
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  describe <%= controller_class_name %>Controller do
4
4
 
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  <% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].include?(attribute.type) } -%>
4
4
  describe "/<%= plural_name %>/edit.html" do
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  <% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].include?(attribute.type) } -%>
4
4
  describe "/<%= plural_name %>/index.html" do
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  <% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].include?(attribute.type) } -%>
4
4
  describe "/<%= plural_name %>/new.html" do
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '<%= '/..' * class_nesting_depth %>/../../spec_helper')
1
+ require 'spec_helper'
2
2
 
3
3
  <% output_attributes = attributes.reject{|attribute| [:datetime, :timestamp, :time, :date].include?(attribute.type) } -%>
4
4
  describe "/<%= plural_name %>/show.html" do
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terraformation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 0
9
+ version: 0.2.0
5
10
  platform: ruby
6
11
  authors:
7
12
  - Hashrocket
@@ -9,49 +14,10 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2009-11-28 00:00:00 -05:00
17
+ date: 2010-05-17 00:00:00 -04:00
13
18
  default_executable:
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: haml
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
20
- requirements:
21
- - - "="
22
- - !ruby/object:Gem::Version
23
- version: 2.2.14
24
- version:
25
- - !ruby/object:Gem::Dependency
26
- name: rspec-rails
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "="
32
- - !ruby/object:Gem::Version
33
- version: 1.2.9
34
- version:
35
- - !ruby/object:Gem::Dependency
36
- name: cucumber
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - "="
42
- - !ruby/object:Gem::Version
43
- version: 0.4.4
44
- version:
45
- - !ruby/object:Gem::Dependency
46
- name: webrat
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "="
52
- - !ruby/object:Gem::Version
53
- version: 0.5.3
54
- version:
19
+ dependencies: []
20
+
55
21
  description:
56
22
  email: info@hashrocket.com
57
23
  executables:
@@ -81,15 +47,19 @@ files:
81
47
  - rails_generators/terraformation/templates/blueprint/print.css
82
48
  - rails_generators/terraformation/templates/blueprint/screen.css
83
49
  - rails_generators/terraformation/templates/clear_test_default.rake
50
+ - rails_generators/terraformation/templates/cucumber
84
51
  - rails_generators/terraformation/templates/cucumber.rake
85
52
  - rails_generators/terraformation/templates/cucumber_environment.rb
53
+ - rails_generators/terraformation/templates/env.rb
86
54
  - rails_generators/terraformation/templates/gitignore
87
55
  - rails_generators/terraformation/templates/jquery.js
88
56
  - rails_generators/terraformation/templates/null_gitignore
89
57
  - rails_generators/terraformation/templates/paths.rb
90
58
  - rails_generators/terraformation/templates/rcov.opts
59
+ - rails_generators/terraformation/templates/rspec.rake
91
60
  - rails_generators/terraformation/templates/spec.opts
92
61
  - rails_generators/terraformation/templates/spec_helper.rb
62
+ - rails_generators/terraformation/templates/web_steps.rb
93
63
  - rails_generators/terraformation/terraformation_generator.rb
94
64
  - rails_generators/terraforming.rb
95
65
  - rails_generators/terrahelper/USAGE
@@ -117,7 +87,7 @@ files:
117
87
  - rails_generators/terrascaffold/templates/view_show.html_spec.rb.erb
118
88
  - rails_generators/terrascaffold/terrascaffold_generator.rb
119
89
  - rails_generators/terraview/terraview_generator.rb
120
- has_rdoc: false
90
+ has_rdoc: true
121
91
  homepage: http://github.com/hashrocket/terraformation
122
92
  licenses: []
123
93
 
@@ -130,18 +100,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
130
100
  requirements:
131
101
  - - ">="
132
102
  - !ruby/object:Gem::Version
103
+ segments:
104
+ - 0
133
105
  version: "0"
134
- version:
135
106
  required_rubygems_version: !ruby/object:Gem::Requirement
136
107
  requirements:
137
108
  - - ">="
138
109
  - !ruby/object:Gem::Version
110
+ segments:
111
+ - 0
139
112
  version: "0"
140
- version:
141
113
  requirements: []
142
114
 
143
115
  rubyforge_project:
144
- rubygems_version: 1.3.5
116
+ rubygems_version: 1.3.6
145
117
  signing_key:
146
118
  specification_version: 3
147
119
  summary: Generators with a Hashrocket twist