my-simon 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/bin/simon +9 -1
  3. data/lib/simon.rb +78 -2
  4. data/my-simon.gemspec +1 -1
  5. metadata +1 -1
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.1.8
data/bin/simon CHANGED
@@ -1,11 +1,17 @@
1
- #!/usr/bin/env ruby
1
+ #!/usr/bin/env ruby -v=false -W0
2
2
  # encoding: utf-8
3
+ ## $VERBOSE
4
+ ## -W0 NO Warnings nil
5
+ ## -W1 Quiet false
6
+ ## -W2 Verbose true
7
+ BEGIN { $VERBOSE = nil }
3
8
 
4
9
  # resolve bin path, ignoring symlinks
5
10
  require "pathname"
6
11
  bin_file = Pathname.new(__FILE__).realpath
7
12
  $:.unshift File.expand_path("../../lib", bin_file)
8
13
 
14
+
9
15
  require 'simon'
10
16
  require 'rubygems'
11
17
  require 'commander/import'
@@ -52,6 +58,8 @@ command :add do |c|
52
58
  simon_controller.msg "installing heroku files"
53
59
  when 'section'
54
60
  simon_controller.add_section
61
+ when 'repo'
62
+ simon_controller.setup_beanstalk
55
63
  end
56
64
  end
57
65
  end
data/lib/simon.rb CHANGED
@@ -1,5 +1,8 @@
1
1
  # encoding: utf-8
2
+
2
3
  require 'commander/import'
4
+ require 'beanstalkapp'
5
+
3
6
  class Simon
4
7
 
5
8
  def rename
@@ -47,13 +50,25 @@ class Simon
47
50
  cmd = "find . -type f -name '*.tpl' -exec sed -i '' s/CHANGE_ME/#{@nms}/g {} +"
48
51
  Kernel::system(cmd)
49
52
 
50
- # Kernel::system(cmd)
53
+ # database setup
51
54
  choice = choose("Setup Local DB?", :yes, :no)
52
55
 
53
56
  if choice === :yes
54
- self.msg 'setting up Local DB'
57
+
58
+ self.setup_db
59
+
55
60
  end
56
61
 
62
+ # google analytics id
63
+ choice = choose("Do you want to set the Google Analytics tracking id?", :yes, :no)
64
+
65
+ if choice === :yes
66
+
67
+ self.setup_analytics
68
+
69
+ end
70
+
71
+
57
72
  self.msg 'Setup complete!'
58
73
  self.make_hidden
59
74
  self.complete
@@ -114,10 +129,71 @@ class Simon
114
129
 
115
130
  end
116
131
 
132
+
133
+ def setup_db
134
+
135
+ # self.check_hidden
136
+
137
+ host = ask("What is the DB host? : ") { |q| q.echo = true }
138
+ username = ask("What is the DB Username? : ") { |q| q.echo = true }
139
+ password = ask("What is the DB password? : ") { |q| q.echo = true }
140
+ dbname = ask("What is the DB name? : ") { |q| q.echo = true }
141
+
142
+ config = "./app/www/lib/php/system/Config.php"
143
+ self.replace_once(config, "%l_host%", host)
144
+ self.replace_once(config, "%l_user%", username)
145
+ self.replace_once(config, "%l_pass%", password)
146
+ self.replace_once(config, "%l_dbname%", dbname)
147
+
148
+ self.msg "#{config} modified"
149
+
150
+ end
151
+
152
+ def setup_analytics
153
+ tracking_id = ask("What is the GA tracking ID? : ") { |q| q.echo = true }
154
+ config = "./app/www/lib/php/system/Config.php"
155
+ self.replace_once(config, "%google_id%", tracking_id);
156
+ self.msg "#{config} modified"
157
+ end
158
+
117
159
  def replace_once(file_name, search_string, replace_string)
118
160
  text = File.read(file_name)
119
161
  new_text = text.gsub(search_string, replace_string)
120
162
  File.open(file_name, "w") {|file| file.puts new_text}
121
163
  end
122
164
 
165
+ def setup_beanstalk
166
+ subdomain = ask("What is the Beanstalk subdomain? : ") { |q| q.echo = true }
167
+ username = ask("What is your Beanstalk Username? : ") { |q| q.echo = true }
168
+ password = ask("What is your Beanstalk password? : ") { |q| q.echo = true }
169
+ repo_name = ask("What do you want to call this repo? : ") { |q| q.echo = true }
170
+
171
+ @repo_name = repo_name.gsub(/[^0-9A-Za-z-]/, '')
172
+
173
+ choice = choose("What kind of repo?", :git, :subversion,:mercurial);
174
+
175
+ if choice == :git
176
+ choice = "git"
177
+ elsif choice == :subversion
178
+ choice = "subversion"
179
+ elsif choice == :mercurial
180
+ choice = "mercurial"
181
+ end
182
+
183
+
184
+ Beanstalk::API::Base.setup(
185
+ :domain => subdomain,
186
+ :login => username,
187
+ :password => password
188
+ )
189
+ query = {'name' => @repo_name, 'type_id' => choice, 'title' => @repo_name, 'color_label' => 'label-blue'}
190
+
191
+ response = Beanstalk::API::Repository::create(query)
192
+
193
+ self.msg "git clone #{response.repository_url}"
194
+
195
+ self.complete
196
+
197
+ end
198
+
123
199
  end
data/my-simon.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "my-simon"
8
- s.version = "0.1.7"
8
+ s.version = "0.1.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Aaron McGuire"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my-simon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: