my-simon 0.1.7 → 0.1.8

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.
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: