tog-tog 0.2.1 → 0.3.0
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.
- data/CHANGELOG.md +6 -1
- data/app_generators/togify/togify_generator.rb +52 -2
- data/bin/togify +1 -1
- data/config/hoe.rb +4 -2
- data/lib/tasks/platform.rake +7 -7
- data/lib/tog/version.rb +15 -14
- data/tog.gemspec +6 -3
- metadata +11 -2
data/CHANGELOG.md
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
Edge
|
2
2
|
----
|
3
|
+
* Changed the list_specs based on files by one based on classes
|
4
|
+
* togify: Use github's tarballs instead of a git clone to a) remove git dependecy on togify and b) use a tagged release of tog plugins instead of the edge
|
5
|
+
|
6
|
+
0.3.0
|
7
|
+
----
|
3
8
|
* Rubigen dependency added to gemspec.
|
9
|
+
|
4
10
|
0.2.1
|
5
11
|
----
|
6
12
|
* [#89 status:resolved] From now tog:plugins:copy_resources don't copy .svn dirs to app's public directory...
|
7
13
|
* tog-desert dependency added.
|
8
14
|
* New `--development` flag on togify. This'll clone the tog core plugins from `git@github.com:tog/#{plugin}.git` instead of `git://github.com/tog/#{plugin}.git` allowing developers to change tog plugins inside a togified app.
|
9
15
|
|
10
|
-
|
11
16
|
0.2.0
|
12
17
|
-----
|
13
18
|
* Initial public code release
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'tog'
|
2
|
+
require 'zip/zip'
|
3
|
+
|
1
4
|
class TogifyGenerator < RubiGen::Base
|
2
5
|
|
3
6
|
DEFAULT_SHEBANG = File.join(Config::CONFIG['bindir'],
|
@@ -106,12 +109,59 @@ EOS
|
|
106
109
|
end
|
107
110
|
|
108
111
|
def checkout_code(plugin_path, plugin)
|
109
|
-
|
112
|
+
options[:development] ? clone_repo(plugin_path, plugin): tarball_repo(plugin_path, plugin)
|
113
|
+
end
|
114
|
+
# "vendor/plugins/tog_core", "tog_core"
|
115
|
+
def tarball_repo(plugin_path, plugin)
|
116
|
+
uri = "http://github.com/tog/#{plugin}/zipball/v#{Tog::Version::STRING}"
|
117
|
+
zip = tarball_fetch(uri)
|
118
|
+
tarball_unpack(zip, plugin)
|
119
|
+
end
|
120
|
+
|
121
|
+
def tarball_fetch(uri, redirect_limit = 10)
|
122
|
+
raise ArgumentError, "HTTP redirect too deep trying to get #{uri}" if redirect_limit == 0
|
123
|
+
response = Net::HTTP.get_response(URI.parse(uri))
|
124
|
+
case response
|
125
|
+
when Net::HTTPSuccess
|
126
|
+
temp_zip = Time.now.to_i.to_s
|
127
|
+
open(temp_zip, "wb") { |file|
|
128
|
+
file.write(response.read_body)
|
129
|
+
}
|
130
|
+
temp_zip
|
131
|
+
when Net::HTTPRedirection then tarball_fetch(response['location'], redirect_limit - 1)
|
132
|
+
else
|
133
|
+
tarball_fetch(uri, redirect_limit - 1)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
def tarball_unpack(file, plugin)
|
138
|
+
destination = "#{destination_root}/vendor/plugins"
|
139
|
+
begin
|
140
|
+
Zip::ZipFile.open(file) { |zip_file|
|
141
|
+
zip_file.each { |f|
|
142
|
+
f_path=File.join(destination, f.name)
|
143
|
+
FileUtils.mkdir_p(File.dirname(f_path))
|
144
|
+
zip_file.extract(f, f_path) unless File.exist?(f_path)
|
145
|
+
}
|
146
|
+
}
|
147
|
+
temp = Dir.glob(File.join(destination, "tog-#{plugin}*")).first
|
148
|
+
FileUtils.mv temp, File.join(destination, plugin)
|
149
|
+
FileUtils.rm_rf file
|
150
|
+
|
151
|
+
rescue Exception => e
|
152
|
+
logger.error "There has been a problem trying to unpack the #{plugin} tarball downloaded from github. Remove the changes made on your app by togify and try again. Sorry for the inconveniences."
|
153
|
+
exit -1
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
def clone_repo(plugin_path, plugin)
|
158
|
+
repository = "git@github.com:tog/#{plugin}.git"
|
110
159
|
revision = "head"
|
111
|
-
|
112
160
|
FileUtils.rm_rf(plugin_path)
|
113
161
|
system("git clone #{repository} #{plugin_path}")
|
114
162
|
end
|
163
|
+
|
164
|
+
|
115
165
|
def current_migration_number(plugin_path)
|
116
166
|
Dir.glob("#{plugin_path}/db/migrate/*.rb").inject(0) do |max, file_path|
|
117
167
|
n = File.basename(file_path).split('_', 2).first.to_i
|
data/bin/togify
CHANGED
data/config/hoe.rb
CHANGED
@@ -10,13 +10,15 @@ GEM_NAME = 'tog'
|
|
10
10
|
EXTRA_DEPENDENCIES = [
|
11
11
|
['mislav-will_paginate', '>= 2.3.2'],
|
12
12
|
['rubigen', '>= 1.3.2'],
|
13
|
-
['tog-desert', '>= 0.3.4']
|
13
|
+
['tog-desert', '>= 0.3.4'],
|
14
|
+
['RedCloth', '>= 3.0.4'],
|
15
|
+
['rubyzip', '>= 0.9.1']
|
14
16
|
]
|
15
17
|
|
16
18
|
REV = nil
|
17
19
|
# UNCOMMENT IF REQUIRED:
|
18
20
|
# REV = YAML.load(`svn info`)['Revision']
|
19
|
-
VERS = Tog::
|
21
|
+
VERS = Tog::Version::STRING + (REV ? ".#{REV}" : "")
|
20
22
|
|
21
23
|
class Hoe
|
22
24
|
def extra_deps
|
data/lib/tasks/platform.rake
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
namespace :tog do
|
2
2
|
namespace :plugins do
|
3
|
-
|
3
|
+
|
4
4
|
desc "Update the tog plugins on this app. This will pull the changes on the HEAD of every tog plugins on your app. Use PLUGIN=plugin_name to update a specific plugin."
|
5
5
|
task :update do
|
6
6
|
plugin_roots(ENV["PLUGIN"]).each do |directory|
|
@@ -10,7 +10,7 @@ namespace :tog do
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
desc "Install a new tog plugin. Use PLUGIN parameter to specify the plugin to install e.g. PLUGIN=tog_vault. Use FORCE=true to overwrite the plugin if it's currently installed."
|
15
15
|
task :install do
|
16
16
|
plugin = ENV["PLUGIN"]
|
@@ -20,7 +20,7 @@ namespace :tog do
|
|
20
20
|
cmd << " --force" if force
|
21
21
|
output = %x{#{cmd}}
|
22
22
|
puts "Generating migration to integrate #{plugin} in the app"
|
23
|
-
|
23
|
+
|
24
24
|
to_version=Dir.glob("#{RAILS_ROOT}/vendor/plugins/#{plugin}/db/migrate/*.rb").inject(0) do |max, file_path|
|
25
25
|
n = File.basename(file_path).split('_', 2).first.to_i
|
26
26
|
if n > max then n else max end
|
@@ -28,13 +28,13 @@ namespace :tog do
|
|
28
28
|
from_version=0
|
29
29
|
cmd = "script/generate tog_migration Integrate#{plugin.classify}Version#{to_version}From#{from_version}"
|
30
30
|
output = %x{#{cmd}}
|
31
|
-
|
31
|
+
|
32
32
|
end
|
33
33
|
|
34
34
|
desc "Copy the public resources stored on the /public folder of every tog plugin on the app's public folder with the plugin name used as prefix. Pass PLUGIN=plugin_name to copy the resources of a single plugin."
|
35
35
|
task :copy_resources do
|
36
36
|
plugin_roots(ENV["PLUGIN"]).each do |directory|
|
37
|
-
plugin_name = File.basename(directory)
|
37
|
+
plugin_name = File.basename(directory)
|
38
38
|
dest_public_dir = File.join(RAILS_ROOT, "public", plugin_name)
|
39
39
|
orig_public_dir = File.join(directory, "public")
|
40
40
|
if File.exists?(orig_public_dir)
|
@@ -68,7 +68,7 @@ namespace :tog do
|
|
68
68
|
require 'test/unit'
|
69
69
|
require 'rubygems'
|
70
70
|
require 'active_support'
|
71
|
-
|
71
|
+
|
72
72
|
# bug in test unit. Set to true to stop from running.
|
73
73
|
Test::Unit.run = true
|
74
74
|
|
@@ -78,7 +78,7 @@ namespace :tog do
|
|
78
78
|
test_files = Dir.glob(File.join('test', '**', '*_test.rb'))
|
79
79
|
test_files.each do |file|
|
80
80
|
load file
|
81
|
-
klass = File.
|
81
|
+
klass = File.read(file)[/class\s(.*Test)\s</, 1].constantize
|
82
82
|
|
83
83
|
puts klass.name.gsub('Test', '')
|
84
84
|
|
data/lib/tog/version.rb
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
module Tog
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
"#{CODENAME} #{STRING}"
|
13
|
-
end
|
14
|
-
alias :to_str :to_s
|
2
|
+
module Version
|
3
|
+
MAJOR = 0
|
4
|
+
MINOR = 3
|
5
|
+
TINY = 0
|
6
|
+
MODULE = "Amalthea"
|
7
|
+
STRING = [MAJOR, MINOR, TINY].join('.')
|
8
|
+
|
9
|
+
class << self
|
10
|
+
def to_s
|
11
|
+
STRING
|
15
12
|
end
|
16
|
-
|
13
|
+
def full_version
|
14
|
+
"#{MODULE} #{STRING}"
|
15
|
+
end
|
16
|
+
alias :to_str :to_s
|
17
17
|
end
|
18
|
+
end
|
18
19
|
end
|
data/tog.gemspec
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = %q{tog}
|
3
|
-
s.version = "0.
|
3
|
+
s.version = "0.3.0"
|
4
4
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
6
6
|
s.authors = ["Aitor Garc\303\255a", "Alberto Molpeceres", "Roberto Salicio"]
|
7
|
-
s.date = %q{2008-
|
7
|
+
s.date = %q{2008-10-15}
|
8
8
|
s.default_executable = %q{togify}
|
9
9
|
s.description = %q{extensible open source social network platform}
|
10
10
|
s.email = ["aitor@linkingpaths.com", "alberto@linkingpaths.com", "roberto@linkingpaths.com"]
|
@@ -32,17 +32,20 @@ For more information on tog, see https://github.com/tog/tog
|
|
32
32
|
s.add_runtime_dependency(%q<mislav-will_paginate>, [">= 2.3.2"])
|
33
33
|
s.add_runtime_dependency(%q<rubigen>, [">= 1.3.2"])
|
34
34
|
s.add_runtime_dependency(%q<tog-desert>, [">= 0.3.4"])
|
35
|
+
s.add_runtime_dependency(%q<RedCloth>, [">= 3.0.4"])
|
35
36
|
s.add_development_dependency(%q<hoe>, [">= 1.7.0"])
|
36
37
|
else
|
37
38
|
s.add_dependency(%q<mislav-will_paginate>, [">= 2.3.2"])
|
38
39
|
s.add_dependency(%q<rubigen>, [">= 1.3.2"])
|
39
40
|
s.add_dependency(%q<tog-desert>, [">= 0.3.4"])
|
41
|
+
s.add_dependency(%q<RedCloth>, [">= 3.0.4"])
|
40
42
|
s.add_dependency(%q<hoe>, [">= 1.7.0"])
|
41
43
|
end
|
42
44
|
else
|
43
45
|
s.add_dependency(%q<mislav-will_paginate>, [">= 2.3.2"])
|
44
46
|
s.add_dependency(%q<rubigen>, [">= 1.3.2"])
|
45
47
|
s.add_dependency(%q<tog-desert>, [">= 0.3.4"])
|
48
|
+
s.add_dependency(%q<RedCloth>, [">= 3.0.4"])
|
46
49
|
s.add_dependency(%q<hoe>, [">= 1.7.0"])
|
47
50
|
end
|
48
|
-
end
|
51
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tog-tog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aitor Garc\xC3\xADa"
|
@@ -11,7 +11,7 @@ autorequire:
|
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
13
|
|
14
|
-
date: 2008-
|
14
|
+
date: 2008-10-15 00:00:00 -07:00
|
15
15
|
default_executable: togify
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
@@ -41,6 +41,15 @@ dependencies:
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 0.3.4
|
43
43
|
version:
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: RedCloth
|
46
|
+
version_requirement:
|
47
|
+
version_requirements: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 3.0.4
|
52
|
+
version:
|
44
53
|
- !ruby/object:Gem::Dependency
|
45
54
|
name: hoe
|
46
55
|
version_requirement:
|