radiant-globalize2-extension 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +136 -0
- data/app/views/admin/shared/_change_locale.html.haml +22 -0
- data/app/views/admin/shared/_change_locale_admin.html.haml +7 -0
- data/app/views/admin/shared/_globalize_td.html.haml +4 -0
- data/app/views/admin/shared/_globalize_th.html.haml +2 -0
- data/config/routes.rb +4 -0
- data/cucumber.yml +1 -0
- data/db/migrate/20090728084238_create_translation_tables.rb +23 -0
- data/db/migrate/20090728114627_populate_translations.rb +21 -0
- data/db/migrate/20090729085422_remove_translated_attributes.rb +16 -0
- data/features/globalize_layouts.feature +19 -0
- data/features/globalize_pages.feature +58 -0
- data/features/globalize_snippets.feature +19 -0
- data/features/step_definitions/admin_steps.rb +58 -0
- data/features/step_definitions/webrat_steps.rb +119 -0
- data/features/support/env.rb +30 -0
- data/features/support/paths.rb +26 -0
- data/globalize2_extension.rb +93 -0
- data/lib/globalize2/compatibility/archive/archive_page_extensions.rb +21 -0
- data/lib/globalize2/compatibility/copy_move/copy_move_model_extensions.rb +22 -0
- data/lib/globalize2/compatibility/paginate/globalize_tags.rb +19 -0
- data/lib/globalize2/compatibility/paginate/page_extensions.rb +9 -0
- data/lib/globalize2/compatibility/vhost/page_extensions.rb +9 -0
- data/lib/globalize2/form_builder_extensions.rb +21 -0
- data/lib/globalize2/globalize_tags.rb +203 -0
- data/lib/globalize2/globalized_fields_controller_extension.rb +22 -0
- data/lib/globalize2/page_extensions.rb +88 -0
- data/lib/globalize2/page_part_extensions.rb +21 -0
- data/lib/globalize2/pages_controller_extensions.rb +9 -0
- data/lib/globalize2/site_controller_extensions.rb +24 -0
- data/lib/tasks/globalize2_extension_tasks.rake +28 -0
- data/public/images/admin/ad.gif +0 -0
- data/public/images/admin/ae.gif +0 -0
- data/public/images/admin/af.gif +0 -0
- data/public/images/admin/ag.gif +0 -0
- data/public/images/admin/ai.gif +0 -0
- data/public/images/admin/al.gif +0 -0
- data/public/images/admin/am.gif +0 -0
- data/public/images/admin/an.gif +0 -0
- data/public/images/admin/ao.gif +0 -0
- data/public/images/admin/ar.gif +0 -0
- data/public/images/admin/as.gif +0 -0
- data/public/images/admin/at.gif +0 -0
- data/public/images/admin/au.gif +0 -0
- data/public/images/admin/aw.gif +0 -0
- data/public/images/admin/ax.gif +0 -0
- data/public/images/admin/az.gif +0 -0
- data/public/images/admin/ba.gif +0 -0
- data/public/images/admin/bb.gif +0 -0
- data/public/images/admin/bd.gif +0 -0
- data/public/images/admin/be.gif +0 -0
- data/public/images/admin/bf.gif +0 -0
- data/public/images/admin/bg.gif +0 -0
- data/public/images/admin/bh.gif +0 -0
- data/public/images/admin/bi.gif +0 -0
- data/public/images/admin/bj.gif +0 -0
- data/public/images/admin/bm.gif +0 -0
- data/public/images/admin/bn.gif +0 -0
- data/public/images/admin/bo.gif +0 -0
- data/public/images/admin/br.gif +0 -0
- data/public/images/admin/bs.gif +0 -0
- data/public/images/admin/bt.gif +0 -0
- data/public/images/admin/bv.gif +0 -0
- data/public/images/admin/bw.gif +0 -0
- data/public/images/admin/by.gif +0 -0
- data/public/images/admin/bz.gif +0 -0
- data/public/images/admin/ca.gif +0 -0
- data/public/images/admin/catalonia.gif +0 -0
- data/public/images/admin/cc.gif +0 -0
- data/public/images/admin/cd.gif +0 -0
- data/public/images/admin/cf.gif +0 -0
- data/public/images/admin/cg.gif +0 -0
- data/public/images/admin/ch.gif +0 -0
- data/public/images/admin/ci.gif +0 -0
- data/public/images/admin/ck.gif +0 -0
- data/public/images/admin/cl.gif +0 -0
- data/public/images/admin/cm.gif +0 -0
- data/public/images/admin/cn.gif +0 -0
- data/public/images/admin/co.gif +0 -0
- data/public/images/admin/cr.gif +0 -0
- data/public/images/admin/cs.gif +0 -0
- data/public/images/admin/cu.gif +0 -0
- data/public/images/admin/cv.gif +0 -0
- data/public/images/admin/cx.gif +0 -0
- data/public/images/admin/cy.gif +0 -0
- data/public/images/admin/cz.gif +0 -0
- data/public/images/admin/de.gif +0 -0
- data/public/images/admin/dj.gif +0 -0
- data/public/images/admin/dk.gif +0 -0
- data/public/images/admin/dm.gif +0 -0
- data/public/images/admin/do.gif +0 -0
- data/public/images/admin/dz.gif +0 -0
- data/public/images/admin/ec.gif +0 -0
- data/public/images/admin/ee.gif +0 -0
- data/public/images/admin/eg.gif +0 -0
- data/public/images/admin/eh.gif +0 -0
- data/public/images/admin/en.gif +0 -0
- data/public/images/admin/england.gif +0 -0
- data/public/images/admin/er.gif +0 -0
- data/public/images/admin/es.gif +0 -0
- data/public/images/admin/et.gif +0 -0
- data/public/images/admin/europeanunion.gif +0 -0
- data/public/images/admin/fam.gif +0 -0
- data/public/images/admin/fi.gif +0 -0
- data/public/images/admin/fj.gif +0 -0
- data/public/images/admin/fk.gif +0 -0
- data/public/images/admin/fm.gif +0 -0
- data/public/images/admin/fo.gif +0 -0
- data/public/images/admin/fr.gif +0 -0
- data/public/images/admin/ga.gif +0 -0
- data/public/images/admin/gb.gif +0 -0
- data/public/images/admin/gd.gif +0 -0
- data/public/images/admin/ge.gif +0 -0
- data/public/images/admin/gf.gif +0 -0
- data/public/images/admin/gh.gif +0 -0
- data/public/images/admin/gi.gif +0 -0
- data/public/images/admin/gl.gif +0 -0
- data/public/images/admin/gm.gif +0 -0
- data/public/images/admin/gn.gif +0 -0
- data/public/images/admin/gp.gif +0 -0
- data/public/images/admin/gq.gif +0 -0
- data/public/images/admin/gr.gif +0 -0
- data/public/images/admin/gs.gif +0 -0
- data/public/images/admin/gt.gif +0 -0
- data/public/images/admin/gu.gif +0 -0
- data/public/images/admin/gw.gif +0 -0
- data/public/images/admin/gy.gif +0 -0
- data/public/images/admin/hk.gif +0 -0
- data/public/images/admin/hm.gif +0 -0
- data/public/images/admin/hn.gif +0 -0
- data/public/images/admin/hr.gif +0 -0
- data/public/images/admin/ht.gif +0 -0
- data/public/images/admin/hu.gif +0 -0
- data/public/images/admin/id.gif +0 -0
- data/public/images/admin/ie.gif +0 -0
- data/public/images/admin/il.gif +0 -0
- data/public/images/admin/in.gif +0 -0
- data/public/images/admin/io.gif +0 -0
- data/public/images/admin/iq.gif +0 -0
- data/public/images/admin/ir.gif +0 -0
- data/public/images/admin/is.gif +0 -0
- data/public/images/admin/it.gif +0 -0
- data/public/images/admin/jm.gif +0 -0
- data/public/images/admin/jo.gif +0 -0
- data/public/images/admin/jp.gif +0 -0
- data/public/images/admin/ke.gif +0 -0
- data/public/images/admin/kg.gif +0 -0
- data/public/images/admin/kh.gif +0 -0
- data/public/images/admin/ki.gif +0 -0
- data/public/images/admin/km.gif +0 -0
- data/public/images/admin/kn.gif +0 -0
- data/public/images/admin/kp.gif +0 -0
- data/public/images/admin/kr.gif +0 -0
- data/public/images/admin/kw.gif +0 -0
- data/public/images/admin/ky.gif +0 -0
- data/public/images/admin/kz.gif +0 -0
- data/public/images/admin/la.gif +0 -0
- data/public/images/admin/lb.gif +0 -0
- data/public/images/admin/lc.gif +0 -0
- data/public/images/admin/li.gif +0 -0
- data/public/images/admin/lk.gif +0 -0
- data/public/images/admin/lr.gif +0 -0
- data/public/images/admin/ls.gif +0 -0
- data/public/images/admin/lt.gif +0 -0
- data/public/images/admin/lu.gif +0 -0
- data/public/images/admin/lv.gif +0 -0
- data/public/images/admin/ly.gif +0 -0
- data/public/images/admin/ma.gif +0 -0
- data/public/images/admin/mc.gif +0 -0
- data/public/images/admin/md.gif +0 -0
- data/public/images/admin/me.gif +0 -0
- data/public/images/admin/mg.gif +0 -0
- data/public/images/admin/mh.gif +0 -0
- data/public/images/admin/mk.gif +0 -0
- data/public/images/admin/ml.gif +0 -0
- data/public/images/admin/mm.gif +0 -0
- data/public/images/admin/mn.gif +0 -0
- data/public/images/admin/mo.gif +0 -0
- data/public/images/admin/mp.gif +0 -0
- data/public/images/admin/mq.gif +0 -0
- data/public/images/admin/mr.gif +0 -0
- data/public/images/admin/ms.gif +0 -0
- data/public/images/admin/mt.gif +0 -0
- data/public/images/admin/mu.gif +0 -0
- data/public/images/admin/mv.gif +0 -0
- data/public/images/admin/mw.gif +0 -0
- data/public/images/admin/mx.gif +0 -0
- data/public/images/admin/my.gif +0 -0
- data/public/images/admin/mz.gif +0 -0
- data/public/images/admin/na.gif +0 -0
- data/public/images/admin/nc.gif +0 -0
- data/public/images/admin/ne.gif +0 -0
- data/public/images/admin/nf.gif +0 -0
- data/public/images/admin/ng.gif +0 -0
- data/public/images/admin/ni.gif +0 -0
- data/public/images/admin/nl.gif +0 -0
- data/public/images/admin/no.gif +0 -0
- data/public/images/admin/np.gif +0 -0
- data/public/images/admin/nr.gif +0 -0
- data/public/images/admin/nu.gif +0 -0
- data/public/images/admin/nz.gif +0 -0
- data/public/images/admin/om.gif +0 -0
- data/public/images/admin/pa.gif +0 -0
- data/public/images/admin/pe.gif +0 -0
- data/public/images/admin/pf.gif +0 -0
- data/public/images/admin/pg.gif +0 -0
- data/public/images/admin/ph.gif +0 -0
- data/public/images/admin/pk.gif +0 -0
- data/public/images/admin/pl.gif +0 -0
- data/public/images/admin/pm.gif +0 -0
- data/public/images/admin/pn.gif +0 -0
- data/public/images/admin/pr.gif +0 -0
- data/public/images/admin/ps.gif +0 -0
- data/public/images/admin/pt.gif +0 -0
- data/public/images/admin/pw.gif +0 -0
- data/public/images/admin/py.gif +0 -0
- data/public/images/admin/qa.gif +0 -0
- data/public/images/admin/re.gif +0 -0
- data/public/images/admin/ro.gif +0 -0
- data/public/images/admin/rs.gif +0 -0
- data/public/images/admin/ru.gif +0 -0
- data/public/images/admin/rw.gif +0 -0
- data/public/images/admin/sa.gif +0 -0
- data/public/images/admin/sb.gif +0 -0
- data/public/images/admin/sc.gif +0 -0
- data/public/images/admin/scotland.gif +0 -0
- data/public/images/admin/sd.gif +0 -0
- data/public/images/admin/se.gif +0 -0
- data/public/images/admin/sg.gif +0 -0
- data/public/images/admin/sh.gif +0 -0
- data/public/images/admin/si.gif +0 -0
- data/public/images/admin/sj.gif +0 -0
- data/public/images/admin/sk.gif +0 -0
- data/public/images/admin/sl.gif +0 -0
- data/public/images/admin/sm.gif +0 -0
- data/public/images/admin/sn.gif +0 -0
- data/public/images/admin/so.gif +0 -0
- data/public/images/admin/sr.gif +0 -0
- data/public/images/admin/st.gif +0 -0
- data/public/images/admin/sv.gif +0 -0
- data/public/images/admin/sy.gif +0 -0
- data/public/images/admin/sz.gif +0 -0
- data/public/images/admin/tc.gif +0 -0
- data/public/images/admin/td.gif +0 -0
- data/public/images/admin/tf.gif +0 -0
- data/public/images/admin/tg.gif +0 -0
- data/public/images/admin/th.gif +0 -0
- data/public/images/admin/tj.gif +0 -0
- data/public/images/admin/tk.gif +0 -0
- data/public/images/admin/tl.gif +0 -0
- data/public/images/admin/tm.gif +0 -0
- data/public/images/admin/tn.gif +0 -0
- data/public/images/admin/to.gif +0 -0
- data/public/images/admin/tr.gif +0 -0
- data/public/images/admin/tt.gif +0 -0
- data/public/images/admin/tv.gif +0 -0
- data/public/images/admin/tw.gif +0 -0
- data/public/images/admin/tz.gif +0 -0
- data/public/images/admin/ua.gif +0 -0
- data/public/images/admin/ug.gif +0 -0
- data/public/images/admin/um.gif +0 -0
- data/public/images/admin/us.gif +0 -0
- data/public/images/admin/uy.gif +0 -0
- data/public/images/admin/uz.gif +0 -0
- data/public/images/admin/va.gif +0 -0
- data/public/images/admin/vc.gif +0 -0
- data/public/images/admin/ve.gif +0 -0
- data/public/images/admin/vg.gif +0 -0
- data/public/images/admin/vi.gif +0 -0
- data/public/images/admin/vn.gif +0 -0
- data/public/images/admin/vu.gif +0 -0
- data/public/images/admin/wales.gif +0 -0
- data/public/images/admin/wf.gif +0 -0
- data/public/images/admin/ws.gif +0 -0
- data/public/images/admin/ye.gif +0 -0
- data/public/images/admin/yt.gif +0 -0
- data/public/images/admin/za.gif +0 -0
- data/public/images/admin/zm.gif +0 -0
- data/public/images/admin/zw.gif +0 -0
- data/public/stylesheets/sass/admin/globalize2.sass +59 -0
- data/readme.md +159 -0
- data/spec/controllers/admin/pages_controller_spec.rb +22 -0
- data/spec/controllers/site_controller_spec.rb +40 -0
- data/spec/factories.rb +39 -0
- data/spec/models/globalize_tags_spec.rb +155 -0
- data/spec/models/page_spec.rb +91 -0
- data/spec/spec.opts +6 -0
- data/spec/spec_helper.rb +34 -0
- data/vendor/plugins/globalize2/.gitignore +5 -0
- data/vendor/plugins/globalize2/LICENSE +21 -0
- data/vendor/plugins/globalize2/README.textile +86 -0
- data/vendor/plugins/globalize2/Rakefile +39 -0
- data/vendor/plugins/globalize2/VERSION +1 -0
- data/vendor/plugins/globalize2/generators/db_backend.rb +0 -0
- data/vendor/plugins/globalize2/generators/templates/db_backend_migration.rb +25 -0
- data/vendor/plugins/globalize2/globalize2.gemspec +81 -0
- data/vendor/plugins/globalize2/init.rb +1 -0
- data/vendor/plugins/globalize2/lib/globalize.rb +15 -0
- data/vendor/plugins/globalize2/lib/globalize/active_record.rb +215 -0
- data/vendor/plugins/globalize2/lib/globalize/active_record/adapter.rb +80 -0
- data/vendor/plugins/globalize2/lib/globalize/active_record/attributes.rb +25 -0
- data/vendor/plugins/globalize2/lib/globalize/active_record/migration.rb +44 -0
- data/vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb +41 -0
- data/vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb +25 -0
- data/vendor/plugins/globalize2/test/active_record/fallbacks_test.rb +102 -0
- data/vendor/plugins/globalize2/test/active_record/migration_test.rb +118 -0
- data/vendor/plugins/globalize2/test/active_record/sti_translated_test.rb +61 -0
- data/vendor/plugins/globalize2/test/active_record/translates_test.rb +96 -0
- data/vendor/plugins/globalize2/test/active_record/translation_class_test.rb +30 -0
- data/vendor/plugins/globalize2/test/active_record/validation_tests.rb +75 -0
- data/vendor/plugins/globalize2/test/active_record_test.rb +467 -0
- data/vendor/plugins/globalize2/test/all.rb +2 -0
- data/vendor/plugins/globalize2/test/data/models.rb +62 -0
- data/vendor/plugins/globalize2/test/data/no_globalize_schema.rb +11 -0
- data/vendor/plugins/globalize2/test/data/schema.rb +55 -0
- data/vendor/plugins/globalize2/test/i18n/missing_translations_test.rb +36 -0
- data/vendor/plugins/globalize2/test/test_helper.rb +76 -0
- metadata +409 -0
@@ -0,0 +1,62 @@
|
|
1
|
+
#require 'ruby2ruby'
|
2
|
+
#require 'parse_tree'
|
3
|
+
#require 'parse_tree_extensions'
|
4
|
+
#require 'pp'
|
5
|
+
|
6
|
+
class PostTranslation < ActiveRecord::Base
|
7
|
+
def existing_method ; end
|
8
|
+
end
|
9
|
+
|
10
|
+
class Post < ActiveRecord::Base
|
11
|
+
translates :subject, :content
|
12
|
+
validates_presence_of :subject
|
13
|
+
named_scope :foobar, :conditions => { :title => "foobar" }
|
14
|
+
end
|
15
|
+
|
16
|
+
class Blog < ActiveRecord::Base
|
17
|
+
has_many :posts, :order => 'id ASC'
|
18
|
+
end
|
19
|
+
|
20
|
+
class Parent < ActiveRecord::Base
|
21
|
+
end
|
22
|
+
|
23
|
+
class EarlyChild < Parent
|
24
|
+
end
|
25
|
+
|
26
|
+
class Parent < ActiveRecord::Base
|
27
|
+
translates :content
|
28
|
+
end
|
29
|
+
|
30
|
+
class Child < Parent
|
31
|
+
end
|
32
|
+
|
33
|
+
class Comment < ActiveRecord::Base
|
34
|
+
validates_presence_of :content
|
35
|
+
belongs_to :post
|
36
|
+
end
|
37
|
+
|
38
|
+
class TranslatedComment < Comment
|
39
|
+
translates :content
|
40
|
+
end
|
41
|
+
|
42
|
+
class UltraLongModelNameWithoutProper < ActiveRecord::Base
|
43
|
+
translates :subject, :content
|
44
|
+
validates_presence_of :subject
|
45
|
+
end
|
46
|
+
|
47
|
+
class Reloader < Parent
|
48
|
+
after_create :do_reload
|
49
|
+
|
50
|
+
def do_reload
|
51
|
+
reload
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
class Validatee < ActiveRecord::Base
|
56
|
+
translates :string
|
57
|
+
end
|
58
|
+
|
59
|
+
class User < ActiveRecord::Base
|
60
|
+
translates :name
|
61
|
+
validates_presence_of :name, :email
|
62
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
ActiveRecord::Schema.define do
|
2
|
+
create_table :blogs, :force => true do |t|
|
3
|
+
t.string :description
|
4
|
+
end
|
5
|
+
|
6
|
+
create_table :posts, :force => true do |t|
|
7
|
+
t.references :blog
|
8
|
+
end
|
9
|
+
|
10
|
+
create_table :post_translations, :force => true do |t|
|
11
|
+
t.string :locale
|
12
|
+
t.references :post
|
13
|
+
t.string :subject
|
14
|
+
t.text :content
|
15
|
+
end
|
16
|
+
|
17
|
+
create_table :parents, :force => true do |t|
|
18
|
+
end
|
19
|
+
|
20
|
+
create_table :parent_translations, :force => true do |t|
|
21
|
+
t.string :locale
|
22
|
+
t.references :parent
|
23
|
+
t.text :content
|
24
|
+
t.string :type
|
25
|
+
end
|
26
|
+
|
27
|
+
create_table :comments, :force => true do |t|
|
28
|
+
t.references :post
|
29
|
+
end
|
30
|
+
|
31
|
+
create_table :comment_translations, :force => true do |t|
|
32
|
+
t.string :locale
|
33
|
+
t.references :comment
|
34
|
+
t.string :subject
|
35
|
+
t.text :content
|
36
|
+
end
|
37
|
+
|
38
|
+
create_table :validatees, :force => true do |t|
|
39
|
+
end
|
40
|
+
|
41
|
+
create_table :validatee_translations, :force => true do |t|
|
42
|
+
t.string :locale
|
43
|
+
t.references :validatee
|
44
|
+
t.string :string
|
45
|
+
end
|
46
|
+
|
47
|
+
create_table :users, :force => true do |t|
|
48
|
+
t.string :email
|
49
|
+
end
|
50
|
+
|
51
|
+
create_table :users_translations, :force => true do |t|
|
52
|
+
t.references :user
|
53
|
+
t.string :name
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../test_helper'
|
2
|
+
require 'i18n/missing_translations_log_handler'
|
3
|
+
|
4
|
+
class MissingTranslationsTest < ActiveSupport::TestCase
|
5
|
+
test "defines I18n.missing_translations_logger accessor" do
|
6
|
+
assert I18n.respond_to?(:missing_translations_logger)
|
7
|
+
end
|
8
|
+
|
9
|
+
test "defines I18n.missing_translations_logger= writer" do
|
10
|
+
assert I18n.respond_to?(:missing_translations_logger=)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class TestLogger < String
|
15
|
+
def warn(msg) self.concat msg; end
|
16
|
+
end
|
17
|
+
|
18
|
+
class LogMissingTranslationsTest < ActiveSupport::TestCase
|
19
|
+
def setup
|
20
|
+
@locale, @key, @options = :en, :foo, {}
|
21
|
+
@exception = I18n::MissingTranslationData.new(@locale, @key, @options)
|
22
|
+
|
23
|
+
@logger = TestLogger.new
|
24
|
+
I18n.missing_translations_logger = @logger
|
25
|
+
end
|
26
|
+
|
27
|
+
test "still returns the exception message for MissingTranslationData exceptions" do
|
28
|
+
result = I18n.send(:missing_translations_log_handler, @exception, @locale, @key, @options)
|
29
|
+
assert_equal 'translation missing: en, foo', result
|
30
|
+
end
|
31
|
+
|
32
|
+
test "logs the missing translation to I18n.missing_translations_logger" do
|
33
|
+
I18n.send(:missing_translations_log_handler, @exception, @locale, @key, @options)
|
34
|
+
assert_equal 'translation missing: en, foo', @logger
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
$LOAD_PATH << File.expand_path( File.dirname(__FILE__) + '/../lib' )
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'test/unit'
|
5
|
+
require 'active_record'
|
6
|
+
require 'active_support'
|
7
|
+
require 'active_support/test_case'
|
8
|
+
require 'mocha'
|
9
|
+
require 'globalize'
|
10
|
+
# require 'validation_reflection'
|
11
|
+
|
12
|
+
config = { :adapter => 'sqlite3', :database => ':memory:' }
|
13
|
+
ActiveRecord::Base.establish_connection(config)
|
14
|
+
|
15
|
+
class ActiveSupport::TestCase
|
16
|
+
def reset_db!(schema_path = nil)
|
17
|
+
schema_path ||= File.expand_path(File.dirname(__FILE__) + '/data/schema.rb')
|
18
|
+
ActiveRecord::Migration.verbose = false
|
19
|
+
ActiveRecord::Base.silence { load(schema_path) }
|
20
|
+
end
|
21
|
+
|
22
|
+
def assert_member(item, array)
|
23
|
+
assert_block "Item #{item} is not in array #{array}" do
|
24
|
+
array.member?(item)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def assert_belongs_to(model, associated)
|
29
|
+
assert model.reflect_on_all_associations(:belongs_to).detect { |association|
|
30
|
+
association.name.to_s == associated.to_s
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def assert_has_many(model, associated)
|
35
|
+
assert model.reflect_on_all_associations(:has_many).detect { |association|
|
36
|
+
association.name.to_s == associated.to_s
|
37
|
+
}
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
module ActiveRecord
|
42
|
+
module ConnectionAdapters
|
43
|
+
class AbstractAdapter
|
44
|
+
def index_exists?(table_name, column_name)
|
45
|
+
indexes(table_name).any? { |index| index.name == index_name(table_name, column_name) }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
# module ActiveRecord
|
52
|
+
# class BaseWithoutTable < Base
|
53
|
+
# self.abstract_class = true
|
54
|
+
#
|
55
|
+
# def create_or_update
|
56
|
+
# errors.empty?
|
57
|
+
# end
|
58
|
+
#
|
59
|
+
# class << self
|
60
|
+
# def columns()
|
61
|
+
# @columns ||= []
|
62
|
+
# end
|
63
|
+
#
|
64
|
+
# def column(name, sql_type = nil, default = nil, null = true)
|
65
|
+
# columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
|
66
|
+
# reset_column_information
|
67
|
+
# end
|
68
|
+
#
|
69
|
+
# # Do not reset @columns
|
70
|
+
# def reset_column_information
|
71
|
+
# read_methods.each { |name| undef_method(name) }
|
72
|
+
# @column_names = @columns_hash = @content_columns = @dynamic_methods_hash = @read_methods = nil
|
73
|
+
# end
|
74
|
+
# end
|
75
|
+
# end
|
76
|
+
# end
|
metadata
ADDED
@@ -0,0 +1,409 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: radiant-globalize2-extension
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 23
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
|
+
platform: ruby
|
12
|
+
authors:
|
13
|
+
- Cristi Duma
|
14
|
+
- Istvan Hoka
|
15
|
+
- Edmund Haselwanter
|
16
|
+
- Benny Degezelle
|
17
|
+
- Jerrod Blavos
|
18
|
+
- "Simo Niemel\xC3\xA4"
|
19
|
+
- Jan De Poorter
|
20
|
+
autorequire:
|
21
|
+
bindir: bin
|
22
|
+
cert_chain: []
|
23
|
+
|
24
|
+
date: 2011-03-29 00:00:00 +02:00
|
25
|
+
default_executable:
|
26
|
+
dependencies:
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: radiant
|
29
|
+
prerelease: false
|
30
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
31
|
+
none: false
|
32
|
+
requirements:
|
33
|
+
- - ">="
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
hash: 57
|
36
|
+
segments:
|
37
|
+
- 0
|
38
|
+
- 9
|
39
|
+
- 1
|
40
|
+
version: 0.9.1
|
41
|
+
type: :runtime
|
42
|
+
version_requirements: *id001
|
43
|
+
description: This extension allows you to translate your Radiant content
|
44
|
+
email: benny@gorilla-webdesign.be
|
45
|
+
executables: []
|
46
|
+
|
47
|
+
extensions: []
|
48
|
+
|
49
|
+
extra_rdoc_files: []
|
50
|
+
|
51
|
+
files:
|
52
|
+
- Rakefile
|
53
|
+
- app/views/admin/shared/_change_locale.html.haml
|
54
|
+
- app/views/admin/shared/_change_locale_admin.html.haml
|
55
|
+
- app/views/admin/shared/_globalize_td.html.haml
|
56
|
+
- app/views/admin/shared/_globalize_th.html.haml
|
57
|
+
- config/routes.rb
|
58
|
+
- cucumber.yml
|
59
|
+
- db/migrate/20090728084238_create_translation_tables.rb
|
60
|
+
- db/migrate/20090728114627_populate_translations.rb
|
61
|
+
- db/migrate/20090729085422_remove_translated_attributes.rb
|
62
|
+
- features/globalize_layouts.feature
|
63
|
+
- features/globalize_pages.feature
|
64
|
+
- features/globalize_snippets.feature
|
65
|
+
- features/step_definitions/admin_steps.rb
|
66
|
+
- features/step_definitions/webrat_steps.rb
|
67
|
+
- features/support/env.rb
|
68
|
+
- features/support/paths.rb
|
69
|
+
- globalize2_extension.rb
|
70
|
+
- lib/globalize2/compatibility/archive/archive_page_extensions.rb
|
71
|
+
- lib/globalize2/compatibility/copy_move/copy_move_model_extensions.rb
|
72
|
+
- lib/globalize2/compatibility/paginate/globalize_tags.rb
|
73
|
+
- lib/globalize2/compatibility/paginate/page_extensions.rb
|
74
|
+
- lib/globalize2/compatibility/vhost/page_extensions.rb
|
75
|
+
- lib/globalize2/form_builder_extensions.rb
|
76
|
+
- lib/globalize2/globalize_tags.rb
|
77
|
+
- lib/globalize2/globalized_fields_controller_extension.rb
|
78
|
+
- lib/globalize2/page_extensions.rb
|
79
|
+
- lib/globalize2/page_part_extensions.rb
|
80
|
+
- lib/globalize2/pages_controller_extensions.rb
|
81
|
+
- lib/globalize2/site_controller_extensions.rb
|
82
|
+
- lib/tasks/globalize2_extension_tasks.rake
|
83
|
+
- public/images/admin/ad.gif
|
84
|
+
- public/images/admin/ae.gif
|
85
|
+
- public/images/admin/af.gif
|
86
|
+
- public/images/admin/ag.gif
|
87
|
+
- public/images/admin/ai.gif
|
88
|
+
- public/images/admin/al.gif
|
89
|
+
- public/images/admin/am.gif
|
90
|
+
- public/images/admin/an.gif
|
91
|
+
- public/images/admin/ao.gif
|
92
|
+
- public/images/admin/ar.gif
|
93
|
+
- public/images/admin/as.gif
|
94
|
+
- public/images/admin/at.gif
|
95
|
+
- public/images/admin/au.gif
|
96
|
+
- public/images/admin/aw.gif
|
97
|
+
- public/images/admin/ax.gif
|
98
|
+
- public/images/admin/az.gif
|
99
|
+
- public/images/admin/ba.gif
|
100
|
+
- public/images/admin/bb.gif
|
101
|
+
- public/images/admin/bd.gif
|
102
|
+
- public/images/admin/be.gif
|
103
|
+
- public/images/admin/bf.gif
|
104
|
+
- public/images/admin/bg.gif
|
105
|
+
- public/images/admin/bh.gif
|
106
|
+
- public/images/admin/bi.gif
|
107
|
+
- public/images/admin/bj.gif
|
108
|
+
- public/images/admin/bm.gif
|
109
|
+
- public/images/admin/bn.gif
|
110
|
+
- public/images/admin/bo.gif
|
111
|
+
- public/images/admin/br.gif
|
112
|
+
- public/images/admin/bs.gif
|
113
|
+
- public/images/admin/bt.gif
|
114
|
+
- public/images/admin/bv.gif
|
115
|
+
- public/images/admin/bw.gif
|
116
|
+
- public/images/admin/by.gif
|
117
|
+
- public/images/admin/bz.gif
|
118
|
+
- public/images/admin/ca.gif
|
119
|
+
- public/images/admin/catalonia.gif
|
120
|
+
- public/images/admin/cc.gif
|
121
|
+
- public/images/admin/cd.gif
|
122
|
+
- public/images/admin/cf.gif
|
123
|
+
- public/images/admin/cg.gif
|
124
|
+
- public/images/admin/ch.gif
|
125
|
+
- public/images/admin/ci.gif
|
126
|
+
- public/images/admin/ck.gif
|
127
|
+
- public/images/admin/cl.gif
|
128
|
+
- public/images/admin/cm.gif
|
129
|
+
- public/images/admin/cn.gif
|
130
|
+
- public/images/admin/co.gif
|
131
|
+
- public/images/admin/cr.gif
|
132
|
+
- public/images/admin/cs.gif
|
133
|
+
- public/images/admin/cu.gif
|
134
|
+
- public/images/admin/cv.gif
|
135
|
+
- public/images/admin/cx.gif
|
136
|
+
- public/images/admin/cy.gif
|
137
|
+
- public/images/admin/cz.gif
|
138
|
+
- public/images/admin/de.gif
|
139
|
+
- public/images/admin/dj.gif
|
140
|
+
- public/images/admin/dk.gif
|
141
|
+
- public/images/admin/dm.gif
|
142
|
+
- public/images/admin/do.gif
|
143
|
+
- public/images/admin/dz.gif
|
144
|
+
- public/images/admin/ec.gif
|
145
|
+
- public/images/admin/ee.gif
|
146
|
+
- public/images/admin/eg.gif
|
147
|
+
- public/images/admin/eh.gif
|
148
|
+
- public/images/admin/en.gif
|
149
|
+
- public/images/admin/england.gif
|
150
|
+
- public/images/admin/er.gif
|
151
|
+
- public/images/admin/es.gif
|
152
|
+
- public/images/admin/et.gif
|
153
|
+
- public/images/admin/europeanunion.gif
|
154
|
+
- public/images/admin/fam.gif
|
155
|
+
- public/images/admin/fi.gif
|
156
|
+
- public/images/admin/fj.gif
|
157
|
+
- public/images/admin/fk.gif
|
158
|
+
- public/images/admin/fm.gif
|
159
|
+
- public/images/admin/fo.gif
|
160
|
+
- public/images/admin/fr.gif
|
161
|
+
- public/images/admin/ga.gif
|
162
|
+
- public/images/admin/gb.gif
|
163
|
+
- public/images/admin/gd.gif
|
164
|
+
- public/images/admin/ge.gif
|
165
|
+
- public/images/admin/gf.gif
|
166
|
+
- public/images/admin/gh.gif
|
167
|
+
- public/images/admin/gi.gif
|
168
|
+
- public/images/admin/gl.gif
|
169
|
+
- public/images/admin/gm.gif
|
170
|
+
- public/images/admin/gn.gif
|
171
|
+
- public/images/admin/gp.gif
|
172
|
+
- public/images/admin/gq.gif
|
173
|
+
- public/images/admin/gr.gif
|
174
|
+
- public/images/admin/gs.gif
|
175
|
+
- public/images/admin/gt.gif
|
176
|
+
- public/images/admin/gu.gif
|
177
|
+
- public/images/admin/gw.gif
|
178
|
+
- public/images/admin/gy.gif
|
179
|
+
- public/images/admin/hk.gif
|
180
|
+
- public/images/admin/hm.gif
|
181
|
+
- public/images/admin/hn.gif
|
182
|
+
- public/images/admin/hr.gif
|
183
|
+
- public/images/admin/ht.gif
|
184
|
+
- public/images/admin/hu.gif
|
185
|
+
- public/images/admin/id.gif
|
186
|
+
- public/images/admin/ie.gif
|
187
|
+
- public/images/admin/il.gif
|
188
|
+
- public/images/admin/in.gif
|
189
|
+
- public/images/admin/io.gif
|
190
|
+
- public/images/admin/iq.gif
|
191
|
+
- public/images/admin/ir.gif
|
192
|
+
- public/images/admin/is.gif
|
193
|
+
- public/images/admin/it.gif
|
194
|
+
- public/images/admin/jm.gif
|
195
|
+
- public/images/admin/jo.gif
|
196
|
+
- public/images/admin/jp.gif
|
197
|
+
- public/images/admin/ke.gif
|
198
|
+
- public/images/admin/kg.gif
|
199
|
+
- public/images/admin/kh.gif
|
200
|
+
- public/images/admin/ki.gif
|
201
|
+
- public/images/admin/km.gif
|
202
|
+
- public/images/admin/kn.gif
|
203
|
+
- public/images/admin/kp.gif
|
204
|
+
- public/images/admin/kr.gif
|
205
|
+
- public/images/admin/kw.gif
|
206
|
+
- public/images/admin/ky.gif
|
207
|
+
- public/images/admin/kz.gif
|
208
|
+
- public/images/admin/la.gif
|
209
|
+
- public/images/admin/lb.gif
|
210
|
+
- public/images/admin/lc.gif
|
211
|
+
- public/images/admin/li.gif
|
212
|
+
- public/images/admin/lk.gif
|
213
|
+
- public/images/admin/lr.gif
|
214
|
+
- public/images/admin/ls.gif
|
215
|
+
- public/images/admin/lt.gif
|
216
|
+
- public/images/admin/lu.gif
|
217
|
+
- public/images/admin/lv.gif
|
218
|
+
- public/images/admin/ly.gif
|
219
|
+
- public/images/admin/ma.gif
|
220
|
+
- public/images/admin/mc.gif
|
221
|
+
- public/images/admin/md.gif
|
222
|
+
- public/images/admin/me.gif
|
223
|
+
- public/images/admin/mg.gif
|
224
|
+
- public/images/admin/mh.gif
|
225
|
+
- public/images/admin/mk.gif
|
226
|
+
- public/images/admin/ml.gif
|
227
|
+
- public/images/admin/mm.gif
|
228
|
+
- public/images/admin/mn.gif
|
229
|
+
- public/images/admin/mo.gif
|
230
|
+
- public/images/admin/mp.gif
|
231
|
+
- public/images/admin/mq.gif
|
232
|
+
- public/images/admin/mr.gif
|
233
|
+
- public/images/admin/ms.gif
|
234
|
+
- public/images/admin/mt.gif
|
235
|
+
- public/images/admin/mu.gif
|
236
|
+
- public/images/admin/mv.gif
|
237
|
+
- public/images/admin/mw.gif
|
238
|
+
- public/images/admin/mx.gif
|
239
|
+
- public/images/admin/my.gif
|
240
|
+
- public/images/admin/mz.gif
|
241
|
+
- public/images/admin/na.gif
|
242
|
+
- public/images/admin/nc.gif
|
243
|
+
- public/images/admin/ne.gif
|
244
|
+
- public/images/admin/nf.gif
|
245
|
+
- public/images/admin/ng.gif
|
246
|
+
- public/images/admin/ni.gif
|
247
|
+
- public/images/admin/nl.gif
|
248
|
+
- public/images/admin/no.gif
|
249
|
+
- public/images/admin/np.gif
|
250
|
+
- public/images/admin/nr.gif
|
251
|
+
- public/images/admin/nu.gif
|
252
|
+
- public/images/admin/nz.gif
|
253
|
+
- public/images/admin/om.gif
|
254
|
+
- public/images/admin/pa.gif
|
255
|
+
- public/images/admin/pe.gif
|
256
|
+
- public/images/admin/pf.gif
|
257
|
+
- public/images/admin/pg.gif
|
258
|
+
- public/images/admin/ph.gif
|
259
|
+
- public/images/admin/pk.gif
|
260
|
+
- public/images/admin/pl.gif
|
261
|
+
- public/images/admin/pm.gif
|
262
|
+
- public/images/admin/pn.gif
|
263
|
+
- public/images/admin/pr.gif
|
264
|
+
- public/images/admin/ps.gif
|
265
|
+
- public/images/admin/pt.gif
|
266
|
+
- public/images/admin/pw.gif
|
267
|
+
- public/images/admin/py.gif
|
268
|
+
- public/images/admin/qa.gif
|
269
|
+
- public/images/admin/re.gif
|
270
|
+
- public/images/admin/ro.gif
|
271
|
+
- public/images/admin/rs.gif
|
272
|
+
- public/images/admin/ru.gif
|
273
|
+
- public/images/admin/rw.gif
|
274
|
+
- public/images/admin/sa.gif
|
275
|
+
- public/images/admin/sb.gif
|
276
|
+
- public/images/admin/sc.gif
|
277
|
+
- public/images/admin/scotland.gif
|
278
|
+
- public/images/admin/sd.gif
|
279
|
+
- public/images/admin/se.gif
|
280
|
+
- public/images/admin/sg.gif
|
281
|
+
- public/images/admin/sh.gif
|
282
|
+
- public/images/admin/si.gif
|
283
|
+
- public/images/admin/sj.gif
|
284
|
+
- public/images/admin/sk.gif
|
285
|
+
- public/images/admin/sl.gif
|
286
|
+
- public/images/admin/sm.gif
|
287
|
+
- public/images/admin/sn.gif
|
288
|
+
- public/images/admin/so.gif
|
289
|
+
- public/images/admin/sr.gif
|
290
|
+
- public/images/admin/st.gif
|
291
|
+
- public/images/admin/sv.gif
|
292
|
+
- public/images/admin/sy.gif
|
293
|
+
- public/images/admin/sz.gif
|
294
|
+
- public/images/admin/tc.gif
|
295
|
+
- public/images/admin/td.gif
|
296
|
+
- public/images/admin/tf.gif
|
297
|
+
- public/images/admin/tg.gif
|
298
|
+
- public/images/admin/th.gif
|
299
|
+
- public/images/admin/tj.gif
|
300
|
+
- public/images/admin/tk.gif
|
301
|
+
- public/images/admin/tl.gif
|
302
|
+
- public/images/admin/tm.gif
|
303
|
+
- public/images/admin/tn.gif
|
304
|
+
- public/images/admin/to.gif
|
305
|
+
- public/images/admin/tr.gif
|
306
|
+
- public/images/admin/tt.gif
|
307
|
+
- public/images/admin/tv.gif
|
308
|
+
- public/images/admin/tw.gif
|
309
|
+
- public/images/admin/tz.gif
|
310
|
+
- public/images/admin/ua.gif
|
311
|
+
- public/images/admin/ug.gif
|
312
|
+
- public/images/admin/um.gif
|
313
|
+
- public/images/admin/us.gif
|
314
|
+
- public/images/admin/uy.gif
|
315
|
+
- public/images/admin/uz.gif
|
316
|
+
- public/images/admin/va.gif
|
317
|
+
- public/images/admin/vc.gif
|
318
|
+
- public/images/admin/ve.gif
|
319
|
+
- public/images/admin/vg.gif
|
320
|
+
- public/images/admin/vi.gif
|
321
|
+
- public/images/admin/vn.gif
|
322
|
+
- public/images/admin/vu.gif
|
323
|
+
- public/images/admin/wales.gif
|
324
|
+
- public/images/admin/wf.gif
|
325
|
+
- public/images/admin/ws.gif
|
326
|
+
- public/images/admin/ye.gif
|
327
|
+
- public/images/admin/yt.gif
|
328
|
+
- public/images/admin/za.gif
|
329
|
+
- public/images/admin/zm.gif
|
330
|
+
- public/images/admin/zw.gif
|
331
|
+
- public/stylesheets/sass/admin/globalize2.sass
|
332
|
+
- readme.md
|
333
|
+
- spec/controllers/admin/pages_controller_spec.rb
|
334
|
+
- spec/controllers/site_controller_spec.rb
|
335
|
+
- spec/factories.rb
|
336
|
+
- spec/models/globalize_tags_spec.rb
|
337
|
+
- spec/models/page_spec.rb
|
338
|
+
- spec/spec.opts
|
339
|
+
- spec/spec_helper.rb
|
340
|
+
- vendor/plugins/globalize2/.gitignore
|
341
|
+
- vendor/plugins/globalize2/LICENSE
|
342
|
+
- vendor/plugins/globalize2/README.textile
|
343
|
+
- vendor/plugins/globalize2/Rakefile
|
344
|
+
- vendor/plugins/globalize2/VERSION
|
345
|
+
- vendor/plugins/globalize2/generators/db_backend.rb
|
346
|
+
- vendor/plugins/globalize2/generators/templates/db_backend_migration.rb
|
347
|
+
- vendor/plugins/globalize2/globalize2.gemspec
|
348
|
+
- vendor/plugins/globalize2/init.rb
|
349
|
+
- vendor/plugins/globalize2/lib/globalize.rb
|
350
|
+
- vendor/plugins/globalize2/lib/globalize/active_record.rb
|
351
|
+
- vendor/plugins/globalize2/lib/globalize/active_record/adapter.rb
|
352
|
+
- vendor/plugins/globalize2/lib/globalize/active_record/attributes.rb
|
353
|
+
- vendor/plugins/globalize2/lib/globalize/active_record/migration.rb
|
354
|
+
- vendor/plugins/globalize2/lib/i18n/missing_translations_log_handler.rb
|
355
|
+
- vendor/plugins/globalize2/lib/i18n/missing_translations_raise_handler.rb
|
356
|
+
- vendor/plugins/globalize2/test/active_record/fallbacks_test.rb
|
357
|
+
- vendor/plugins/globalize2/test/active_record/migration_test.rb
|
358
|
+
- vendor/plugins/globalize2/test/active_record/sti_translated_test.rb
|
359
|
+
- vendor/plugins/globalize2/test/active_record/translates_test.rb
|
360
|
+
- vendor/plugins/globalize2/test/active_record/translation_class_test.rb
|
361
|
+
- vendor/plugins/globalize2/test/active_record/validation_tests.rb
|
362
|
+
- vendor/plugins/globalize2/test/active_record_test.rb
|
363
|
+
- vendor/plugins/globalize2/test/all.rb
|
364
|
+
- vendor/plugins/globalize2/test/data/models.rb
|
365
|
+
- vendor/plugins/globalize2/test/data/no_globalize_schema.rb
|
366
|
+
- vendor/plugins/globalize2/test/data/schema.rb
|
367
|
+
- vendor/plugins/globalize2/test/i18n/missing_translations_test.rb
|
368
|
+
- vendor/plugins/globalize2/test/test_helper.rb
|
369
|
+
has_rdoc: true
|
370
|
+
homepage: https://github.com/jomz/radiant-globalize2-extension
|
371
|
+
licenses: []
|
372
|
+
|
373
|
+
post_install_message:
|
374
|
+
rdoc_options: []
|
375
|
+
|
376
|
+
require_paths:
|
377
|
+
- lib
|
378
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
379
|
+
none: false
|
380
|
+
requirements:
|
381
|
+
- - ">="
|
382
|
+
- !ruby/object:Gem::Version
|
383
|
+
hash: 3
|
384
|
+
segments:
|
385
|
+
- 0
|
386
|
+
version: "0"
|
387
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
388
|
+
none: false
|
389
|
+
requirements:
|
390
|
+
- - ">="
|
391
|
+
- !ruby/object:Gem::Version
|
392
|
+
hash: 3
|
393
|
+
segments:
|
394
|
+
- 0
|
395
|
+
version: "0"
|
396
|
+
requirements: []
|
397
|
+
|
398
|
+
rubyforge_project:
|
399
|
+
rubygems_version: 1.3.7
|
400
|
+
signing_key:
|
401
|
+
specification_version: 3
|
402
|
+
summary: Globalize2 extension for Radiant CMS
|
403
|
+
test_files:
|
404
|
+
- spec/controllers/admin/pages_controller_spec.rb
|
405
|
+
- spec/controllers/site_controller_spec.rb
|
406
|
+
- spec/factories.rb
|
407
|
+
- spec/models/globalize_tags_spec.rb
|
408
|
+
- spec/models/page_spec.rb
|
409
|
+
- spec/spec_helper.rb
|