spree_cmd 1.0.7 → 1.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,25 +9,25 @@ module SpreeCmd
9
9
  source_root File.expand_path('../templates/extension', __FILE__)
10
10
 
11
11
  def generate
12
- use_prefix "spree_"
12
+ use_prefix 'spree_'
13
13
 
14
14
  empty_directory file_name
15
15
 
16
- directory "app", "#{file_name}/app"
17
- directory "lib", "#{file_name}/lib"
18
- directory "script", "#{file_name}/script"
19
-
20
- template "extension.gemspec", "#{file_name}/#{file_name}.gemspec"
21
- template "Gemfile", "#{file_name}/Gemfile"
22
- template "gitignore", "#{file_name}/.gitignore"
23
- template "LICENSE", "#{file_name}/LICENSE"
24
- template "Rakefile", "#{file_name}/Rakefile"
25
- template "README.md", "#{file_name}/README.md"
26
- template "config/routes.rb", "#{file_name}/config/routes.rb"
27
- template "config/locales/en.yml", "#{file_name}/config/locales/en.yml"
28
- template "rspec", "#{file_name}/.rspec"
29
- template "spec/spec_helper.rb.tt", "#{file_name}/spec/spec_helper.rb"
30
- template "Versionfile", "#{file_name}/Versionfile"
16
+ directory 'app', "#{file_name}/app"
17
+ directory 'lib', "#{file_name}/lib"
18
+ directory 'script', "#{file_name}/script"
19
+
20
+ template 'extension.gemspec', "#{file_name}/#{file_name}.gemspec"
21
+ template 'Gemfile', "#{file_name}/Gemfile"
22
+ template 'gitignore', "#{file_name}/.gitignore"
23
+ template 'LICENSE', "#{file_name}/LICENSE"
24
+ template 'Rakefile', "#{file_name}/Rakefile"
25
+ template 'README.md', "#{file_name}/README.md"
26
+ template 'config/routes.rb', "#{file_name}/config/routes.rb"
27
+ template 'config/locales/en.yml', "#{file_name}/config/locales/en.yml"
28
+ template 'rspec', "#{file_name}/.rspec"
29
+ template 'spec/spec_helper.rb.tt', "#{file_name}/spec/spec_helper.rb"
30
+ template 'Versionfile', "#{file_name}/Versionfile"
31
31
  end
32
32
 
33
33
  def final_banner
@@ -51,12 +51,12 @@ module SpreeCmd
51
51
  end
52
52
 
53
53
  def spree_version
54
- '1.0.6'
54
+ '1.1.0'
55
55
  end
56
56
 
57
57
  def use_prefix(prefix)
58
58
  unless file_name =~ /^#{prefix}/
59
- @file_name = prefix + file_name
59
+ @file_name = prefix + Thor::Util.snake_case(file_name)
60
60
  end
61
61
  end
62
62
  end
@@ -3,10 +3,11 @@ module SpreeCmd
3
3
  class Installer < Thor::Group
4
4
  include Thor::Actions
5
5
 
6
- desc "Creates a new rails project with a spree store"
6
+ desc 'Creates a new rails project with a spree store'
7
7
  argument :app_path, :type => :string, :desc => 'rails app_path', :default => '.'
8
8
 
9
- class_option :auto_accept, :type => :boolean, :aliases => '-A', :desc => "Answer yes to all prompts"
9
+ class_option :auto_accept, :type => :boolean, :aliases => '-A',
10
+ :desc => 'Answer yes to all prompts'
10
11
 
11
12
  class_option :skip_install_data, :type => :boolean, :default => false,
12
13
  :desc => 'Skip running migrations and loading seed and sample data'
@@ -24,7 +25,7 @@ module SpreeCmd
24
25
 
25
26
  def verify_rails
26
27
  unless is_rails_project?
27
- say "#{@app_path} rails project not found"
28
+ say "#{@app_path} is not a rails project."
28
29
  exit(1)
29
30
  end
30
31
  end
@@ -45,17 +46,17 @@ module SpreeCmd
45
46
  end
46
47
 
47
48
  def ask_questions
48
- @install_default_gateways = ask_with_default("Would you like to install the default gateways?")
49
+ @install_default_gateways = ask_with_default('Would you like to install the default gateways?')
49
50
 
50
51
  if options[:skip_install_data]
51
52
  @run_migrations = false
52
53
  @load_seed_data = false
53
54
  @load_sample_data = false
54
55
  else
55
- @run_migrations = ask_with_default("Would you like to run the migrations?")
56
+ @run_migrations = ask_with_default('Would you like to run the migrations?')
56
57
  if @run_migrations
57
- @load_seed_data = ask_with_default("Would you like to load the seed data?")
58
- @load_sample_data = ask_with_default("Would you like to load the sample data?")
58
+ @load_seed_data = ask_with_default('Would you like to load the seed data?')
59
+ @load_sample_data = ask_with_default('Would you like to load the sample data?')
59
60
  else
60
61
  @load_seed_data = false
61
62
  @load_sample_data = false
@@ -97,7 +98,7 @@ module SpreeCmd
97
98
  end
98
99
 
99
100
  def precompile_assets
100
- say_status :precompiling, "assets"
101
+ say_status :precompiling, 'assets'
101
102
  inside @app_path do
102
103
  run 'bundle exec rake assets:precompile', :verbose => false
103
104
  end
@@ -105,51 +106,51 @@ module SpreeCmd
105
106
 
106
107
  private
107
108
 
108
- def gem(name, options={})
109
- say_status :gemfile, name
110
- parts = ["'#{name}'"]
111
- options.each {|key, value| parts << ":#{key} => '#{value}'" }
112
- append_file "Gemfile", "gem #{parts.join(', ')}\n", :verbose => false
113
- end
109
+ def gem(name, options={})
110
+ say_status :gemfile, name
111
+ parts = ["'#{name}'"]
112
+ options.each { |key, value| parts << ":#{key} => '#{value}'" }
113
+ append_file 'Gemfile', "gem #{parts.join(', ')}\n", :verbose => false
114
+ end
114
115
 
115
- def ask_with_default(message, default='yes')
116
- return true if options[:auto_accept]
116
+ def ask_with_default(message, default = 'yes')
117
+ return true if options[:auto_accept]
117
118
 
118
- valid = false
119
- until valid
120
- response = ask "#{message} (yes/no) [#{default}]"
121
- response = default if response.empty?
122
- valid = (response =~ /\Ay(?:es)?|no?\Z/i)
119
+ valid = false
120
+ until valid
121
+ response = ask "#{message} (yes/no) [#{default}]"
122
+ response = default if response.empty?
123
+ valid = (response =~ /\Ay(?:es)?|no?\Z/i)
124
+ end
125
+ response.downcase[0] == ?y
123
126
  end
124
- response.downcase[0] == ?y
125
- end
126
127
 
127
- def ask_string(message, default, valid_regex=/\w/)
128
- return default if options[:auto_accept]
129
- valid = false
130
- until valid
131
- response = ask "#{message} [#{default}]"
132
- response = default if response.empty?
133
- valid = (response =~ valid_regex)
128
+ def ask_string(message, default, valid_regex = /\w/)
129
+ return default if options[:auto_accept]
130
+ valid = false
131
+ until valid
132
+ response = ask "#{message} [#{default}]"
133
+ response = default if response.empty?
134
+ valid = (response =~ valid_regex)
135
+ end
136
+ response
134
137
  end
135
- response
136
- end
137
138
 
138
- def create_rails_app
139
- say :create, @app_path
139
+ def create_rails_app
140
+ say :create, @app_path
140
141
 
141
- rails_cmd = "rails new #{@app_path} --skip-bundle"
142
- if options[:template]
143
- rails_cmd += " -m #{options[:template]}"
144
- end
145
- if options[:database]
146
- rails_cmd += " -d #{options[:database]}"
142
+ rails_cmd = "rails new #{@app_path} --skip-bundle"
143
+ if options[:template]
144
+ rails_cmd += " -m #{options[:template]}"
145
+ end
146
+ if options[:database]
147
+ rails_cmd += " -d #{options[:database]}"
148
+ end
149
+ run(rails_cmd)
147
150
  end
148
- run(rails_cmd)
149
- end
150
151
 
151
- def is_rails_project?
152
- File.exists? File.join(@app_path, 'script', 'rails')
153
- end
152
+ def is_rails_project?
153
+ File.exists? File.join(@app_path, 'script', 'rails')
154
+ end
154
155
  end
155
156
  end
@@ -1,13 +1,9 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
- group :test do
4
- gem 'ffaker'
5
- end
6
-
7
- if RUBY_VERSION < "1.9"
8
- gem "ruby-debug"
3
+ if RUBY_VERSION < '1.9'
4
+ gem 'ruby-debug'
9
5
  else
10
- gem "ruby-debug19"
6
+ gem 'ruby-debug19'
11
7
  end
12
8
 
13
9
  gemspec
@@ -15,14 +15,14 @@ Gem::PackageTask.new(spec) do |p|
15
15
  p.gem_spec = spec
16
16
  end
17
17
 
18
- desc "Release to gemcutter"
18
+ desc 'Release to gemcutter'
19
19
  task :release => :package do
20
20
  require 'rake/gemcutter'
21
21
  Rake::Gemcutter::Tasks.new(spec).define
22
22
  Rake::Task['gem:push'].invoke
23
23
  end
24
24
 
25
- desc "Generates a dummy app for testing"
25
+ desc 'Generates a dummy app for testing'
26
26
  task :test_app do
27
27
  ENV['LIB_NAME'] = '<%=file_name%>'
28
28
  Rake::Task['common:test_app'].invoke
@@ -3,7 +3,9 @@
3
3
 
4
4
  # Examples
5
5
  #
6
- # "0.70.x" => { :branch => "master"}
7
- # "0.60.x" => { :branch => "0-60-stable" }
8
- # "0.40.x" => { :tag => "v1.0.0", :version => "1.0.0" }
6
+ # '1.2.x' => { :branch => 'master' }
7
+ # '1.1.x' => { :branch => '1-1-stable' }
8
+ # '1.0.x' => { :branch => '1-0-stable' }
9
+ # '0.70.x' => { :branch => '0-70-stable' }
10
+ # '0.40.x' => { :tag => 'v1.0.0', :version => '1.0.0' }
9
11
 
@@ -7,20 +7,20 @@ Gem::Specification.new do |s|
7
7
  s.description = 'TODO: Add (optional) gem description here'
8
8
  s.required_ruby_version = '>= 1.8.7'
9
9
 
10
- # s.author = 'You'
11
- # s.email = 'you@example.com'
12
- # s.homepage = 'http://www.spreecommerce.com'
10
+ # s.author = 'You'
11
+ # s.email = 'you@example.com'
12
+ # s.homepage = 'http://www.spreecommerce.com'
13
13
 
14
- #s.files = `git ls-files`.split("\n")
15
- #s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ #s.files = `git ls-files`.split("\n")
15
+ #s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
16
  s.require_path = 'lib'
17
17
  s.requirements << 'none'
18
18
 
19
19
  s.add_dependency 'spree_core', '~> <%= spree_version %>'
20
20
 
21
21
  s.add_development_dependency 'capybara', '1.0.1'
22
- s.add_development_dependency 'factory_girl'
22
+ s.add_development_dependency 'factory_girl', '~> 2.6.4'
23
23
  s.add_development_dependency 'ffaker'
24
- s.add_development_dependency 'rspec-rails', '~> 2.7'
24
+ s.add_development_dependency 'rspec-rails', '~> 2.9'
25
25
  s.add_development_dependency 'sqlite3'
26
26
  end
@@ -10,7 +10,7 @@ module <%= class_name %>
10
10
  end
11
11
 
12
12
  def self.activate
13
- Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_decorator*.rb")) do |c|
13
+ Dir.glob(File.join(File.dirname(__FILE__), '../../app/**/*_decorator*.rb')) do |c|
14
14
  Rails.configuration.cache_classes ? require(c) : load(c)
15
15
  end
16
16
  end
@@ -3,13 +3,13 @@ module <%= class_name %>
3
3
  class InstallGenerator < Rails::Generators::Base
4
4
 
5
5
  def add_javascripts
6
- append_file "app/assets/javascripts/store/all.js", "//= require store/<%= file_name %>\n"
7
- append_file "app/assets/javascripts/admin/all.js", "//= require admin/<%= file_name %>\n"
6
+ append_file 'app/assets/javascripts/store/all.js', "//= require store/<%= file_name %>\n"
7
+ append_file 'app/assets/javascripts/admin/all.js', "//= require admin/<%= file_name %>\n"
8
8
  end
9
9
 
10
10
  def add_stylesheets
11
- inject_into_file "app/assets/stylesheets/store/all.css", " *= require store/<%= file_name %>\n", :before => /\*\//, :verbose => true
12
- inject_into_file "app/assets/stylesheets/admin/all.css", " *= require admin/<%= file_name %>\n", :before => /\*\//, :verbose => true
11
+ inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/<%= file_name %>\n", :before => /\*\//, :verbose => true
12
+ inject_into_file 'app/assets/stylesheets/admin/all.css', " *= require admin/<%= file_name %>\n", :before => /\*\//, :verbose => true
13
13
  end
14
14
 
15
15
  def add_migrations
@@ -17,11 +17,11 @@ module <%= class_name %>
17
17
  end
18
18
 
19
19
  def run_migrations
20
- res = ask "Would you like to run the migrations now? [Y/n]"
21
- if res == "" || res.downcase == "y"
20
+ res = ask 'Would you like to run the migrations now? [Y/n]'
21
+ if res == '' || res.downcase == 'y'
22
22
  run 'bundle exec rake db:migrate'
23
23
  else
24
- puts "Skiping rake db:migrate, don't forget to run it!"
24
+ puts 'Skiping rake db:migrate, don\'t forget to run it!'
25
25
  end
26
26
  end
27
27
  end
@@ -1,5 +1,7 @@
1
1
  # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
2
2
 
3
- APP_PATH = File.expand_path('../../config/application', __FILE__)
4
- require File.expand_path('../../config/boot', __FILE__)
5
- require 'rails/commands'
3
+ ENGINE_ROOT = File.expand_path('../..', __FILE__)
4
+ ENGINE_PATH = File.expand_path('../../lib/<%= file_name -%>/engine', __FILE__)
5
+
6
+ require 'rails/all'
7
+ require 'rails/engine/commands'
@@ -1,13 +1,14 @@
1
1
  # Configure Rails Environment
2
- ENV["RAILS_ENV"] = "test"
2
+ ENV['RAILS_ENV'] = 'test'
3
3
 
4
- require File.expand_path("../dummy/config/environment.rb", __FILE__)
4
+ require File.expand_path('../dummy/config/environment.rb', __FILE__)
5
5
 
6
6
  require 'rspec/rails'
7
+ require 'ffaker'
7
8
 
8
9
  # Requires supporting ruby files with custom matchers and macros, etc,
9
10
  # in spec/support/ and its subdirectories.
10
- Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each {|f| require f }
11
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
11
12
 
12
13
  # Requires factories defined in spree_core
13
14
  require 'spree/core/testing_support/factories'
@@ -0,0 +1,12 @@
1
+ module SpreeCmd
2
+ class Version < Thor::Group
3
+ include Thor::Actions
4
+
5
+ desc 'display spree_cmd version'
6
+
7
+ def cmd_version
8
+ puts Gem.loaded_specs['spree_cmd'].version
9
+ end
10
+
11
+ end
12
+ end
data/lib/spree_cmd.rb CHANGED
@@ -1,23 +1,29 @@
1
1
  require 'thor'
2
2
  require 'thor/group'
3
3
 
4
- require "spree_cmd/installer"
5
- require "spree_cmd/extension"
4
+ require 'spree_cmd/installer'
5
+ require 'spree_cmd/extension'
6
+ require 'spree_cmd/version'
6
7
 
7
8
  module SpreeCmd
8
9
  class Command < Thor
9
10
 
10
- desc "install", "adds spree to an existing rails app"
11
+ desc 'install', 'adds spree to an existing rails app'
11
12
  method_option :app_path, :type => :string, :desc => 'path to rails application'
12
- def install(app_path='.')
13
+ def install(app_path = '.')
13
14
  invoke Installer
14
15
  end
15
16
 
16
- desc "extension", "builds a spree extension"
17
+ desc 'extension', 'builds a spree extension'
17
18
  method_option :app_path, :type => :string, :desc => 'path to new extension'
18
19
  def extension(app_path)
19
20
  invoke Extension
20
21
  end
21
22
 
23
+ desc 'version', 'display spree_cmd version'
24
+ def version
25
+ invoke Version
26
+ end
27
+
22
28
  end
23
29
  end
metadata CHANGED
@@ -1,19 +1,19 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cmd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
5
- prerelease:
4
+ version: 1.1.0.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chris Mar
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-04 00:00:00.000000000 Z
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70358889984660 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,12 +21,7 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: '0'
24
+ version_requirements: *70358889984660
30
25
  description: tools to create new Spree stores and extensions
31
26
  email:
32
27
  - chris@spreecommerce.com
@@ -63,6 +58,7 @@ files:
63
58
  - lib/spree_cmd/templates/extension/rspec
64
59
  - lib/spree_cmd/templates/extension/script/rails.tt
65
60
  - lib/spree_cmd/templates/extension/spec/spec_helper.rb.tt
61
+ - lib/spree_cmd/version.rb
66
62
  - spec/spec_helper.rb
67
63
  - spree_cmd.gemspec
68
64
  homepage: http://spreecommerce.com
@@ -79,19 +75,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
79
75
  version: '0'
80
76
  segments:
81
77
  - 0
82
- hash: 3336770305767231125
78
+ hash: -1956711376775405443
83
79
  required_rubygems_version: !ruby/object:Gem::Requirement
84
80
  none: false
85
81
  requirements:
86
- - - ! '>='
82
+ - - ! '>'
87
83
  - !ruby/object:Gem::Version
88
- version: '0'
89
- segments:
90
- - 0
91
- hash: 3336770305767231125
84
+ version: 1.3.1
92
85
  requirements: []
93
86
  rubyforge_project: spree_cmd
94
- rubygems_version: 1.8.23
87
+ rubygems_version: 1.8.10
95
88
  signing_key:
96
89
  specification_version: 3
97
90
  summary: Spree Commerce command line utility