muck-engine 0.1.32 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/README.rdoc +66 -2
  2. data/Rakefile +2 -1
  3. data/VERSION +1 -1
  4. data/lib/muck_engine.rb +2 -1
  5. data/lib/muck_engine/tasks.rb +283 -0
  6. data/muck-engine.gemspec +56 -3
  7. data/rails_i18n/ar.yml +121 -0
  8. data/rails_i18n/bg.yml +190 -0
  9. data/rails_i18n/bn-IN.yml +180 -0
  10. data/rails_i18n/bs.yml +114 -0
  11. data/rails_i18n/ca-ES.yml +155 -0
  12. data/rails_i18n/cz.rb +166 -0
  13. data/rails_i18n/da.yml +149 -0
  14. data/rails_i18n/de-AT.yml +140 -0
  15. data/rails_i18n/de.yml +140 -0
  16. data/rails_i18n/el.yml +191 -0
  17. data/rails_i18n/es-AR.yml +168 -0
  18. data/rails_i18n/es-MX.yml +112 -0
  19. data/rails_i18n/es.yml +173 -0
  20. data/rails_i18n/et.yml +109 -0
  21. data/rails_i18n/fa.yml +119 -0
  22. data/rails_i18n/fi.yml +143 -0
  23. data/rails_i18n/fr-CH.yml +123 -0
  24. data/rails_i18n/fr.yml +138 -0
  25. data/rails_i18n/gl-ES.yml +193 -0
  26. data/rails_i18n/he.yml +103 -0
  27. data/rails_i18n/hu.yml +127 -0
  28. data/rails_i18n/id.yml +122 -0
  29. data/rails_i18n/is.yml +108 -0
  30. data/rails_i18n/it.yml +146 -0
  31. data/rails_i18n/ja.yml +135 -0
  32. data/rails_i18n/ko.yml +153 -0
  33. data/rails_i18n/lt.yml +130 -0
  34. data/rails_i18n/lv.yml +132 -0
  35. data/rails_i18n/mk.yml +115 -0
  36. data/rails_i18n/nl.rb +103 -0
  37. data/rails_i18n/nl.yml +172 -0
  38. data/rails_i18n/no-NB.yml +96 -0
  39. data/rails_i18n/no-NN.yml +96 -0
  40. data/rails_i18n/pl.yml +127 -0
  41. data/rails_i18n/pt-BR.yml +142 -0
  42. data/rails_i18n/pt-PT.yml +133 -0
  43. data/rails_i18n/rm.yml +134 -0
  44. data/rails_i18n/ro.yml +136 -0
  45. data/rails_i18n/ru.yml +210 -0
  46. data/rails_i18n/sk.yml +139 -0
  47. data/rails_i18n/sr-Latn.yml +116 -0
  48. data/rails_i18n/sr.yml +116 -0
  49. data/rails_i18n/sv-SE.yml +195 -0
  50. data/rails_i18n/sw.yml +122 -0
  51. data/rails_i18n/th.rb +126 -0
  52. data/rails_i18n/tr.yml +129 -0
  53. data/rails_i18n/uk.yml +237 -0
  54. data/rails_i18n/vi.yml +198 -0
  55. data/rails_i18n/zh-CN.yml +133 -0
  56. data/rails_i18n/zh-TW.yml +132 -0
  57. metadata +63 -3
data/README.rdoc CHANGED
@@ -44,7 +44,10 @@ The set_locale method can use discover_locale to try various methods of finding
44
44
  == Usage
45
45
  If your application includes a locale switching menu, you would then have something like this in it:
46
46
  link_to("Deutsch", "#{APP_CONFIG[:deutsch_website_url]}#{request.env['REQUEST_URI']}")
47
-
47
+
48
+ == Localization
49
+ Muck Engine comes with translations from the rails-i18n repository (http://github.com/svenfuchs/rails-i18n)
50
+
48
51
  == Layout
49
52
 
50
53
  The muck template will build your basic application and construct all the needed files and configuration.
@@ -80,4 +83,65 @@ fancybox - http://fancy.klade.lv/home
80
83
  easing - http://gsgd.co.uk/sandbox/jquery/easing/
81
84
  fancyzoom - http://orderedlist.com/articles/fancyzoom-meet-jquery
82
85
 
83
- Copyright (c) 2009 Justin Ball, released under the MIT license
86
+
87
+ == Rake tasks
88
+ The muck engine comes with an abundance of rake tasks mostly meant for development of muck engines. If you want to use these tasks
89
+ be sure that you first do a sudo install muck-engine. Next define the muck gems you are using in a file RAILS_ROOT/lib/tasks/muck.rake.
90
+ Here's an example taken from the muck project:
91
+
92
+ require 'rake'
93
+ begin
94
+ require 'git'
95
+ rescue LoadError
96
+ puts "git gem not installed. If git functionality is required run 'sudo gem install git'"
97
+ end
98
+ require 'fileutils'
99
+
100
+ namespace :muck do
101
+
102
+ def muck_gems
103
+ ['cms-lite', 'disguise', 'uploader', 'muck-solr', 'muck-raker', 'muck-engine',
104
+ 'muck-users', 'muck-activities', 'muck-comments', 'muck-profiles', 'muck-friends',
105
+ 'muck-contents', 'muck-blogs', 'muck-shares'] #'muck-invites'
106
+ end
107
+
108
+ desc 'Translate muck and all themes from English into all languages supported by Google'
109
+ task :translate => :environment do
110
+ puts 'translating muck'
111
+ system("babelphish -o -y #{RAILS_ROOT}/config/locales/en.yml")
112
+ theme_path = File.join(RAILS_ROOT, 'themes')
113
+ Dir.glob("#{theme_path}/*").each do |next_file|
114
+ if File.directory?(next_file)
115
+ file = File.join(next_file, 'locales', 'en.yml')
116
+ system("babelphish -o -y #{file}")
117
+ end
118
+ end
119
+ end
120
+
121
+ desc "Translate all muck related projects and gems"
122
+ task :translate_all do
123
+ Rake::Task[ "muck:translate" ].execute
124
+ Rake::Task[ "muck:translate_gems" ].execute
125
+ puts 'finished translations'
126
+ end
127
+
128
+ desc "Gets everything ready for a release. Translates muck + gems, release gems, commits gems translates muck, writes versions into muck and then commits muck. This takes a while"
129
+ task :prepare_release do
130
+ # Rake::Task[ "muck:commit_gems" ].execute
131
+ # Rake::Task[ "muck:pull_gems" ].execute
132
+ Rake::Task[ "muck:translate_all" ].execute
133
+ Rake::Task[ "muck:release_gems" ].execute
134
+ Rake::Task[ "muck:commit_gems" ].execute
135
+ Rake::Task[ "muck:push_gems" ].execute
136
+ Rake::Task[ "muck:versions" ].execute
137
+ # Commit and push muck
138
+ git_commit("#{projects_path}/muck", "Updated gem versions")
139
+ git_pull("#{projects_path}/muck")
140
+ git_push("#{projects_path}/muck")
141
+ puts "Don't forget to install the new gems on the server"
142
+ end
143
+
144
+ end
145
+
146
+
147
+ Copyright (c) 2009 Tatemai, released under the MIT license
data/Rakefile CHANGED
@@ -48,13 +48,14 @@ begin
48
48
  require 'jeweler'
49
49
  Jeweler::Tasks.new do |gemspec|
50
50
  gemspec.name = "muck-engine"
51
- gemspec.summary = "The base engine for the muck system. Contains common tables, custom for, css and javascript."
51
+ gemspec.summary = "The base engine for the muck system."
52
52
  gemspec.email = "justinball@gmail.com"
53
53
  gemspec.homepage = "http://github.com/jbasdf/muck_engine"
54
54
  gemspec.description = "The base engine for the muck system. Contains common tables, custom for, css and javascript."
55
55
  gemspec.authors = ["Justin Ball"]
56
56
  gemspec.rubyforge_project = 'muck-engine'
57
57
  gemspec.add_dependency "mislav-will_paginate"
58
+ gemspec.add_dependency "git"
58
59
  gemspec.files.include %w( tasks/*
59
60
  db/migrate/*.rb
60
61
  app/**/**/**/*
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.32
1
+ 0.2.0
data/lib/muck_engine.rb CHANGED
@@ -3,4 +3,5 @@ ActionController::Base.send :include, ActionController::MuckApplication
3
3
  ActiveRecord::Base.send :include, ActiveRecord::MuckModel
4
4
  ActionController::Base.send :helper, MuckEngineHelper
5
5
 
6
- I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', 'locales', '*.{rb,yml}') ]
6
+ I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', 'locales', '*.{rb,yml}') ]
7
+ I18n.load_path += Dir[ File.join(File.dirname(__FILE__), '..', 'rails_i18n', '*.{rb,yml}') ]
@@ -2,9 +2,20 @@ require 'rake'
2
2
  require 'rake/tasklib'
3
3
  require 'fileutils'
4
4
  require 'jcode'
5
+ begin
6
+ require 'git'
7
+ rescue LoadError
8
+ puts "git gem not installed. If git functionality for muck rake tasks is required run 'sudo gem install git'"
9
+ end
5
10
 
6
11
  class MuckEngine
7
12
  class Tasks < ::Rake::TaskLib
13
+
14
+ GREEN = "\033[0;32m"
15
+ RED = "\033[0;31m"
16
+ BLUE = "\033[0;34m"
17
+ INVERT = "\033[00m"
18
+
8
19
  def initialize
9
20
  define
10
21
  end
@@ -13,6 +24,278 @@ class MuckEngine
13
24
  def define
14
25
 
15
26
  namespace :muck do
27
+
28
+ def muck_gem_paths
29
+ muck_gems.collect{|name| muck_gem_path(name)}
30
+ end
31
+
32
+ def muck_gem_path(gem_name)
33
+ if gem_name == 'muck-solr'
34
+ 'acts_as_solr'
35
+ else
36
+ gem_name.sub('-', '_')
37
+ end
38
+ end
39
+
40
+ def muck_unpack(gem_name)
41
+ system("gem unpack #{gem_name} --target=#{muck_gems_path}")
42
+ end
43
+
44
+ def muck_write_specs
45
+ Dir.glob("#{muck_gems_path}/*").each do |dir|
46
+ if File.directory?(dir)
47
+ muck_gem = muck_gems.detect{|muck_gem| dir.include?(muck_gem)}
48
+ if muck_gem
49
+ inside dir do
50
+ system("gem specification #{muck_gem} > .specification")
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ def ensure_muck_gems_path
58
+ gem_path = muck_gems_path
59
+ FileUtils.mkdir_p(gem_path) unless File.exists?(gem_path)
60
+ end
61
+
62
+ def muck_gems_path
63
+ #File.join(File.dirname(__FILE__), '..', '..', 'vendor', 'gems')
64
+ File.join(RAILS_ROOT, 'vendor', 'gems')
65
+ end
66
+
67
+ # Path to all other projects. Usually the muck engines will be a sibling to muck
68
+ def projects_path
69
+ File.join(RAILS_ROOT, '..')
70
+ end
71
+
72
+ def release_gem(path, gem_name)
73
+ gem_path = File.join(path, gem_name)
74
+ puts "releasing #{gem_name}"
75
+ inside gem_path do
76
+ if File.exists?('pkg/*')
77
+ puts "attempting to delete files from pkg. Results #{system("rm pkg/*")}"
78
+ end
79
+ puts system("rake version:bump:patch")
80
+ system("rake gemspec")
81
+ puts system("rake rubyforge:release")
82
+ end
83
+ write_new_gem_version(path, gem_name)
84
+ end
85
+
86
+ def write_new_gem_version(path, gem_name)
87
+ gem_path = File.join(path, gem_name)
88
+ env_file = File.join(RAILS_ROOT, 'config', 'environment.rb')
89
+ version = IO.read(File.join(gem_path, 'VERSION')).strip
90
+ environment = IO.read(env_file)
91
+ search = Regexp.new('\:lib\s+=>\s+\'' + gem_name + '\',\s+\:version\s+=>\s+[\'\"][ <>=~]*\d+\.\d+\.\d+[\'\"]')
92
+ if environment.gsub!(search, ":lib => '#{gem_name}', :version => '>=#{version}'").nil?
93
+ search = Regexp.new('config.gem\s+\'' + gem_name + '\',\s+\:version\s+=>\s+[\'\"][ <>=~]*\d+\.\d+\.\d+[\'\"]')
94
+ environment.gsub!(search, "config.gem '#{gem_name}', :version => '>=#{version}'")
95
+ end
96
+
97
+ File.open(env_file, 'w') { |f| f.write(environment) }
98
+ end
99
+
100
+ def git_commit(path, message)
101
+ puts "Commiting #{BLUE}#{File.basename(path)}#{INVERT}"
102
+ repo = Git.open("#{path}")
103
+ puts repo.add('.')
104
+ puts repo.commit(message) rescue 'nothing to commit'
105
+ end
106
+
107
+ def git_push(path)
108
+ puts "Pushing #{BLUE}#{File.basename(path)}#{INVERT}"
109
+ repo = Git.open("#{path}")
110
+ puts repo.push
111
+ end
112
+
113
+ def git_pull(path)
114
+ puts "Pulling code for #{BLUE}#{File.basename(path)}#{INVERT}"
115
+ repo = Git.open("#{path}")
116
+ puts repo.pull
117
+ end
118
+
119
+ def git_status(path)
120
+ repo = Git.open("#{path}")
121
+ status = repo.status
122
+
123
+ changed = (status.changed.length > 0 ? RED : GREEN) + "#{status.changed.length}#{INVERT}"
124
+ untracked = (status.untracked.length > 0 ? RED : GREEN) + "#{status.untracked.length}#{INVERT}"
125
+ added = (status.added.length > 0 ? RED : GREEN) + "#{status.added.length}#{INVERT}"
126
+ deleted = (status.deleted.length > 0 ? RED : GREEN) + "#{status.deleted.length}#{INVERT}"
127
+ puts "#{BLUE}#{File.basename(path)}:#{INVERT} Changed(#{changed}) Untracked(#{untracked}) Added(#{added}) Deleted(#{deleted})"
128
+ if status.changed.length > 0
129
+ status.changed.each do |file|
130
+ puts " Changed: #{RED}#{file[1].path}#{INVERT}"
131
+ end
132
+ end
133
+ # if status.untracked.length > 0
134
+ # status.untracked.each do |file|
135
+ # puts " Untracked: #{RED}#{file[1].path}#{INVERT}"
136
+ # end
137
+ # end
138
+ # if status.added.length > 0
139
+ # status.added.each do |file|
140
+ # puts " Added: #{RED}#{file[1].path}#{INVERT}"
141
+ # end
142
+ # end
143
+ if status.deleted.length > 0
144
+ status.deleted.each do |file|
145
+ puts " Deleted: #{RED}#{file[1].path}#{INVERT}"
146
+ end
147
+ end
148
+ puts ""
149
+ end
150
+
151
+ # execute commands in a different directory
152
+ def inside(dir, &block)
153
+ FileUtils.cd(dir) { block.arity == 1 ? yield(dir) : yield }
154
+ end
155
+
156
+ desc "Release and commit muck gems"
157
+ task :release_commit_gems do
158
+ muck_gem_paths.each do |gem_name|
159
+ message = "Released new gem"
160
+ release_gem("#{projects_path}", gem_name)
161
+ git_commit("#{projects_path}/#{gem_name}", message)
162
+ git_push("#{projects_path}/#{gem_name}")
163
+ end
164
+ end
165
+
166
+ desc "Release muck gems"
167
+ task :release_gems do
168
+ muck_gem_paths.each do |gem_name|
169
+ release_gem("#{projects_path}", gem_name)
170
+ end
171
+ end
172
+
173
+ desc "commit gems after a release"
174
+ task :commit_gems do
175
+ message = "Released new gem"
176
+ muck_gem_paths.each do |gem_name|
177
+ git_commit("#{projects_path}/#{gem_name}", message)
178
+ end
179
+ end
180
+
181
+ desc "Pull code for all the gems (use with caution)"
182
+ task :pull_gems do
183
+ muck_gem_paths.each do |gem_name|
184
+ git_pull("#{projects_path}/#{gem_name}")
185
+ end
186
+ end
187
+
188
+ desc "Push code for all the gems (use with caution)"
189
+ task :push_gems do
190
+ muck_gem_paths.each do |gem_name|
191
+ git_push("#{projects_path}/#{gem_name}")
192
+ end
193
+ end
194
+
195
+ desc "Gets status for all the muck gems"
196
+ task :status_gems do
197
+ muck_gem_paths.each do |gem_name|
198
+ git_status("#{projects_path}/#{gem_name}")
199
+ end
200
+ end
201
+
202
+ desc "Write muck gem versions into muck"
203
+ task :versions do
204
+ muck_gem_paths.each do |gem_name|
205
+ write_new_gem_version("#{projects_path}", gem_name)
206
+ end
207
+ end
208
+
209
+ desc "Translate all muck gems"
210
+ task :translate_gems do
211
+ muck_gem_paths.each do |gem_name|
212
+ puts "translating #{gem_name}"
213
+ system("babelphish -o -y #{projects_path}/#{gem_name}/locales/en.yml")
214
+ end
215
+ end
216
+
217
+ desc "write specs into muck gems"
218
+ task :specs do
219
+ muck_write_specs
220
+ end
221
+
222
+ desc "Unpacks all muck gems into vendor/gems using versions installed on the local machine."
223
+ task :unpack do
224
+ ensure_muck_gems_path
225
+ muck_gems.each do |gem_name|
226
+ muck_unpack(gem_name)
227
+ end
228
+ muck_write_specs
229
+ end
230
+
231
+ desc "Install and unpacks all muck gems into vendor/gems."
232
+ task :unpack_install => :install_gems do
233
+ ensure_muck_gems_path
234
+ muck_gems.each do |gem_name|
235
+ muck_unpack(gem_name)
236
+ end
237
+ muck_write_specs
238
+ end
239
+
240
+ task :install_gems do
241
+ muck_gems.each do |gem_name|
242
+ system("sudo gem install #{gem_name}")
243
+ end
244
+ end
245
+
246
+ task :setup do
247
+ Rake::Task[ "cms_lite:setup" ].execute if muck_gems.include?('cms-lite')
248
+ Rake::Task[ "disguise:setup" ].execute if muck_gems.include?('disguise')
249
+ end
250
+
251
+ task :sync do
252
+ puts 'syncronizing engines and gems'
253
+ muck_gems.each do |gem_name|
254
+ begin
255
+ Rake::Task[ "#{gem_name}:sync" ].execute
256
+ rescue
257
+ puts "not sync task for #{gem_name}"
258
+ end
259
+ end
260
+ end
261
+
262
+ desc "Completely reset and repopulate the database and annotate models. THIS WILL DELETE ALL YOUR DATA"
263
+ task :reset do
264
+ Rake::Task[ "muck:sync" ].execute
265
+ Rake::Task[ "muck:reset_db" ].execute
266
+ end
267
+
268
+ desc "Drop, creates, migrations and populates the database"
269
+ task :reset_db => :environment do
270
+
271
+ puts 'droping databases'
272
+ Rake::Task[ "db:drop" ].execute
273
+
274
+ puts 'creating databases'
275
+ Rake::Task[ "db:create" ].execute
276
+
277
+ puts 'migrating'
278
+ Rake::Task[ "db:migrate" ].execute
279
+
280
+ Rake::Task[ "db:setup_db" ].execute
281
+ end
282
+
283
+ desc "populates the database with all required values"
284
+ task :setup_db => :environment do
285
+ puts 'populating db with locale info'
286
+ Rake::Task[ "muck:db:populate" ].execute
287
+
288
+ puts 'flagging the languages muck raker supports and adding services it supports'
289
+ Rake::Task[ "muck:raker:db:populate" ].execute
290
+
291
+ puts 'adding some oai endpoints and feeds to the db'
292
+ Rake::Task[ "muck:raker:db:bootstrap" ].execute
293
+
294
+ puts 'setting up admin account'
295
+ Rake::Task[ "muck:users:create_admin" ].execute
296
+ end
297
+
298
+
16
299
  namespace :engine do
17
300
  desc "Sync files from muck engine."
18
301
  task :sync do
data/muck-engine.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{muck-engine}
8
- s.version = "0.1.32"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Justin Ball"]
12
- s.date = %q{2009-09-10}
12
+ s.date = %q{2009-09-14}
13
13
  s.description = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
14
14
  s.email = %q{justinball@gmail.com}
15
15
  s.extra_rdoc_files = [
@@ -345,6 +345,56 @@ Gem::Specification.new do |s|
345
345
  "public/stylesheets/styles.css",
346
346
  "rails/init.rb",
347
347
  "rails/init.rb",
348
+ "rails_i18n/ar.yml",
349
+ "rails_i18n/bg.yml",
350
+ "rails_i18n/bn-IN.yml",
351
+ "rails_i18n/bs.yml",
352
+ "rails_i18n/ca-ES.yml",
353
+ "rails_i18n/cz.rb",
354
+ "rails_i18n/da.yml",
355
+ "rails_i18n/de-AT.yml",
356
+ "rails_i18n/de.yml",
357
+ "rails_i18n/el.yml",
358
+ "rails_i18n/es-AR.yml",
359
+ "rails_i18n/es-MX.yml",
360
+ "rails_i18n/es.yml",
361
+ "rails_i18n/et.yml",
362
+ "rails_i18n/fa.yml",
363
+ "rails_i18n/fi.yml",
364
+ "rails_i18n/fr-CH.yml",
365
+ "rails_i18n/fr.yml",
366
+ "rails_i18n/gl-ES.yml",
367
+ "rails_i18n/he.yml",
368
+ "rails_i18n/hu.yml",
369
+ "rails_i18n/id.yml",
370
+ "rails_i18n/is.yml",
371
+ "rails_i18n/it.yml",
372
+ "rails_i18n/ja.yml",
373
+ "rails_i18n/ko.yml",
374
+ "rails_i18n/lt.yml",
375
+ "rails_i18n/lv.yml",
376
+ "rails_i18n/mk.yml",
377
+ "rails_i18n/nl.rb",
378
+ "rails_i18n/nl.yml",
379
+ "rails_i18n/no-NB.yml",
380
+ "rails_i18n/no-NN.yml",
381
+ "rails_i18n/pl.yml",
382
+ "rails_i18n/pt-BR.yml",
383
+ "rails_i18n/pt-PT.yml",
384
+ "rails_i18n/rm.yml",
385
+ "rails_i18n/ro.yml",
386
+ "rails_i18n/ru.yml",
387
+ "rails_i18n/sk.yml",
388
+ "rails_i18n/sr-Latn.yml",
389
+ "rails_i18n/sr.yml",
390
+ "rails_i18n/sv-SE.yml",
391
+ "rails_i18n/sw.yml",
392
+ "rails_i18n/th.rb",
393
+ "rails_i18n/tr.yml",
394
+ "rails_i18n/uk.yml",
395
+ "rails_i18n/vi.yml",
396
+ "rails_i18n/zh-CN.yml",
397
+ "rails_i18n/zh-TW.yml",
348
398
  "tasks/languages.txt",
349
399
  "tasks/languages.txt",
350
400
  "tasks/rails.rake",
@@ -572,7 +622,7 @@ Gem::Specification.new do |s|
572
622
  s.require_paths = ["lib"]
573
623
  s.rubyforge_project = %q{muck-engine}
574
624
  s.rubygems_version = %q{1.3.5}
575
- s.summary = %q{The base engine for the muck system. Contains common tables, custom for, css and javascript.}
625
+ s.summary = %q{The base engine for the muck system.}
576
626
  s.test_files = [
577
627
  "test/rails_root/app/controllers/admin/default_controller.rb",
578
628
  "test/rails_root/app/controllers/application_controller.rb",
@@ -622,10 +672,13 @@ Gem::Specification.new do |s|
622
672
 
623
673
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
624
674
  s.add_runtime_dependency(%q<mislav-will_paginate>, [">= 0"])
675
+ s.add_runtime_dependency(%q<git>, [">= 0"])
625
676
  else
626
677
  s.add_dependency(%q<mislav-will_paginate>, [">= 0"])
678
+ s.add_dependency(%q<git>, [">= 0"])
627
679
  end
628
680
  else
629
681
  s.add_dependency(%q<mislav-will_paginate>, [">= 0"])
682
+ s.add_dependency(%q<git>, [">= 0"])
630
683
  end
631
684
  end