tr8n 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.rdoc +19 -13
  3. data/app/controllers/tr8n/base_controller.rb +5 -1
  4. data/app/controllers/tr8n/language_controller.rb +2 -2
  5. data/app/models/tr8n/base_filter.rb +21 -0
  6. data/app/models/tr8n/daily_language_metric.rb +46 -22
  7. data/app/models/tr8n/date_rule.rb +41 -22
  8. data/app/models/tr8n/gender_list_rule.rb +41 -22
  9. data/app/models/tr8n/gender_rule.rb +41 -22
  10. data/app/models/tr8n/glossary.rb +44 -27
  11. data/app/models/tr8n/glossary_filter.rb +56 -33
  12. data/app/models/tr8n/ip_location.rb +23 -0
  13. data/app/models/tr8n/ip_location_filter.rb +57 -34
  14. data/app/models/tr8n/language.rb +28 -0
  15. data/app/models/tr8n/language_case.rb +27 -0
  16. data/app/models/tr8n/language_case_filter.rb +53 -30
  17. data/app/models/tr8n/language_case_rule.rb +24 -0
  18. data/app/models/tr8n/language_case_rule_filter.rb +53 -30
  19. data/app/models/tr8n/language_case_value_map.rb +24 -0
  20. data/app/models/tr8n/language_case_value_map_filter.rb +68 -45
  21. data/app/models/tr8n/language_filter.rb +23 -0
  22. data/app/models/tr8n/language_forum_abuse_report.rb +56 -33
  23. data/app/models/tr8n/language_forum_abuse_report_filter.rb +57 -34
  24. data/app/models/tr8n/language_forum_message.rb +69 -46
  25. data/app/models/tr8n/language_forum_message_filter.rb +61 -38
  26. data/app/models/tr8n/language_forum_topic.rb +62 -41
  27. data/app/models/tr8n/language_forum_topic_filter.rb +61 -38
  28. data/app/models/tr8n/language_metric.rb +28 -1
  29. data/app/models/tr8n/language_metric_filter.rb +23 -0
  30. data/app/models/tr8n/language_rule.rb +23 -0
  31. data/app/models/tr8n/language_rule_filter.rb +72 -49
  32. data/app/models/tr8n/language_user.rb +86 -61
  33. data/app/models/tr8n/language_user_filter.rb +57 -34
  34. data/app/models/tr8n/list_rule.rb +41 -22
  35. data/app/models/tr8n/monthly_language_metric.rb +46 -22
  36. data/app/models/tr8n/numeric_rule.rb +41 -22
  37. data/app/models/tr8n/sync_log.rb +21 -0
  38. data/app/models/tr8n/sync_log_filter.rb +48 -27
  39. data/app/models/tr8n/total_language_metric.rb +46 -22
  40. data/app/models/tr8n/translation.rb +28 -0
  41. data/app/models/tr8n/translation_domain.rb +76 -56
  42. data/app/models/tr8n/translation_domain_filter.rb +49 -26
  43. data/app/models/tr8n/translation_filter.rb +57 -34
  44. data/app/models/tr8n/translation_key.rb +44 -8
  45. data/app/models/tr8n/translation_key_comment.rb +60 -37
  46. data/app/models/tr8n/translation_key_comment_filter.rb +53 -30
  47. data/app/models/tr8n/translation_key_filter.rb +68 -45
  48. data/app/models/tr8n/translation_key_lock.rb +81 -59
  49. data/app/models/tr8n/translation_key_lock_filter.rb +53 -30
  50. data/app/models/tr8n/translation_key_source.rb +22 -0
  51. data/app/models/tr8n/translation_key_source_filter.rb +53 -30
  52. data/app/models/tr8n/translation_source.rb +20 -0
  53. data/app/models/tr8n/translation_source_filter.rb +53 -30
  54. data/app/models/tr8n/translation_source_language.rb +58 -39
  55. data/app/models/tr8n/translation_vote.rb +56 -35
  56. data/app/models/tr8n/translation_vote_filter.rb +57 -34
  57. data/app/models/tr8n/translator.rb +38 -0
  58. data/app/models/tr8n/translator_filter.rb +73 -50
  59. data/app/models/tr8n/translator_following.rb +58 -38
  60. data/app/models/tr8n/translator_following_filter.rb +57 -34
  61. data/app/models/tr8n/translator_log.rb +25 -0
  62. data/app/models/tr8n/translator_log_filter.rb +72 -49
  63. data/app/models/tr8n/translator_metric.rb +27 -0
  64. data/app/models/tr8n/translator_metric_filter.rb +61 -38
  65. data/app/models/tr8n/translator_report.rb +23 -0
  66. data/app/models/tr8n/translator_report_filter.rb +53 -30
  67. data/app/models/tr8n/value_rule.rb +41 -22
  68. data/bin/{tr8n.rb → tr8n} +0 -0
  69. data/file +94 -0
  70. data/lib/tasks/dev.rake +162 -0
  71. data/lib/tr8n/config.rb +5 -1
  72. data/lib/tr8n/version.rb +1 -1
  73. data/local/tr8n_server/config/tr8n/config.yml +2 -1
  74. data/local/tr8n_server/db/schema.rb +0 -2
  75. metadata +45 -43
@@ -1,61 +1,86 @@
1
- #--
2
- # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- class Tr8n::LanguageUser < ActiveRecord::Base
25
- set_table_name :tr8n_language_users
26
-
27
- belongs_to :user, :class_name => Tr8n::Config.user_class_name, :foreign_key => :user_id
28
- belongs_to :language, :class_name => "Tr8n::Language"
29
- belongs_to :translator, :class_name => "Tr8n::Translator"
30
-
31
- # this object can belong to both the user and the translator
32
- # users may choose to switch to a language without becoming translators
33
- # once user becomes a translator, this record will be associated with both for ease of use
34
- # when users get promoted, they are automatically get associated with a language and marked as translators
35
-
36
- def self.find_or_create(user, language)
37
- lu = where("user_id = ? and language_id = ?", user.id, language.id).first
38
- lu || create(:user_id => user.id, :language_id => language.id)
39
- end
40
-
41
- def self.check_default_language_for(user)
42
- find_or_create(user, Tr8n::Config.default_language)
43
- end
44
-
45
- def self.languages_for(user)
46
- return [] unless user.id
47
- check_default_language_for(user)
48
- where("user_id = ?", user.id).order("updated_at desc")
49
- end
50
-
51
- def self.create_or_touch(user, language)
52
- return unless user.id
53
- lu = Tr8n::LanguageUser.find_or_create(user, language)
54
- lu.update_attributes(:updated_at => Time.now)
55
- lu
56
- end
57
-
58
- def translator?
59
- translator != nil
60
- end
61
- end
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+ #
24
+ #-- Tr8n::LanguageUser Schema Information
25
+ #
26
+ # Table name: tr8n_language_users
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # language_id integer not null
30
+ # user_id integer not null
31
+ # translator_id integer
32
+ # manager boolean
33
+ # created_at datetime
34
+ # updated_at datetime
35
+ #
36
+ # Indexes
37
+ #
38
+ # index_tr8n_language_users_on_updated_at (updated_at)
39
+ # index_tr8n_language_users_on_created_at (created_at)
40
+ # index_tr8n_language_users_on_language_id_and_translator_id (language_id, translator_id)
41
+ # index_tr8n_language_users_on_language_id_and_user_id (language_id, user_id)
42
+ # index_tr8n_language_users_on_user_id (user_id)
43
+ #
44
+ #++
45
+
46
+ class Tr8n::LanguageUser < ActiveRecord::Base
47
+ set_table_name :tr8n_language_users
48
+
49
+ attr_accessible :language_id, :user_id, :translator_id, :manager
50
+ attr_accessible :language, :translator, :user
51
+
52
+ belongs_to :user, :class_name => Tr8n::Config.user_class_name, :foreign_key => :user_id
53
+ belongs_to :language, :class_name => "Tr8n::Language"
54
+ belongs_to :translator, :class_name => "Tr8n::Translator"
55
+
56
+ # this object can belong to both the user and the translator
57
+ # users may choose to switch to a language without becoming translators
58
+ # once user becomes a translator, this record will be associated with both for ease of use
59
+ # when users get promoted, they are automatically get associated with a language and marked as translators
60
+
61
+ def self.find_or_create(user, language)
62
+ lu = where("user_id = ? and language_id = ?", user.id, language.id).first
63
+ lu || create(:user_id => user.id, :language_id => language.id)
64
+ end
65
+
66
+ def self.check_default_language_for(user)
67
+ find_or_create(user, Tr8n::Config.default_language)
68
+ end
69
+
70
+ def self.languages_for(user)
71
+ return [] unless user.id
72
+ check_default_language_for(user)
73
+ where("user_id = ?", user.id).order("updated_at desc")
74
+ end
75
+
76
+ def self.create_or_touch(user, language)
77
+ return unless user.id
78
+ lu = Tr8n::LanguageUser.find_or_create(user, language)
79
+ lu.update_attributes(:updated_at => Time.now)
80
+ lu
81
+ end
82
+
83
+ def translator?
84
+ translator != nil
85
+ end
86
+ end
@@ -1,34 +1,57 @@
1
- #--
2
- # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
23
-
24
- class Tr8n::LanguageUserFilter < Tr8n::BaseFilter
25
-
26
- def default_filter_if_empty
27
- "created_today"
28
- end
29
-
30
- def inner_joins
31
- [:language, :translator]
32
- end
33
-
34
- end
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+ #
24
+ #-- Tr8n::LanguageUserFilter Schema Information
25
+ #
26
+ # Table name: will_filter_filters
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # type varchar(255)
30
+ # name varchar(255)
31
+ # data text
32
+ # user_id integer
33
+ # model_class_name varchar(255)
34
+ # created_at datetime
35
+ # updated_at datetime
36
+ #
37
+ # Indexes
38
+ #
39
+ # index_will_filter_filters_on_user_id (user_id)
40
+ #
41
+ #++
42
+
43
+ class Tr8n::LanguageUserFilter < Tr8n::BaseFilter
44
+
45
+ def model_class
46
+ Tr8n::LanguageUser
47
+ end
48
+
49
+ def default_filter_if_empty
50
+ "created_today"
51
+ end
52
+
53
+ def inner_joins
54
+ [:language, :translator]
55
+ end
56
+
57
+ end
@@ -1,25 +1,44 @@
1
- #--
2
- # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+ #
24
+ #-- Tr8n::ListRule Schema Information
25
+ #
26
+ # Table name: tr8n_language_rules
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # language_id integer not null
30
+ # translator_id integer
31
+ # type varchar(255)
32
+ # definition text
33
+ # created_at datetime
34
+ # updated_at datetime
35
+ #
36
+ # Indexes
37
+ #
38
+ # index_tr8n_language_rules_on_language_id_and_translator_id (language_id, translator_id)
39
+ # index_tr8n_language_rules_on_language_id (language_id)
40
+ #
41
+ #++
23
42
 
24
43
  class Tr8n::ListRule < Tr8n::LanguageRule
25
44
 
@@ -1,25 +1,49 @@
1
- #--
2
- # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+ #
24
+ #-- Tr8n::MonthlyLanguageMetric Schema Information
25
+ #
26
+ # Table name: tr8n_language_metrics
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # type varchar(255)
30
+ # language_id integer not null
31
+ # metric_date date
32
+ # user_count integer default = 0
33
+ # translator_count integer default = 0
34
+ # translation_count integer default = 0
35
+ # key_count integer default = 0
36
+ # locked_key_count integer default = 0
37
+ # translated_key_count integer default = 0
38
+ # created_at datetime
39
+ # updated_at datetime
40
+ #
41
+ # Indexes
42
+ #
43
+ # index_tr8n_language_metrics_on_created_at (created_at)
44
+ # index_tr8n_language_metrics_on_language_id (language_id)
45
+ #
46
+ #++
23
47
 
24
48
  class Tr8n::MonthlyLanguageMetric < Tr8n::LanguageMetric
25
49
 
@@ -1,25 +1,44 @@
1
- #--
2
- # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
- #
4
- # Permission is hereby granted, free of charge, to any person obtaining
5
- # a copy of this software and associated documentation files (the
6
- # "Software"), to deal in the Software without restriction, including
7
- # without limitation the rights to use, copy, modify, merge, publish,
8
- # distribute, sublicense, and/or sell copies of the Software, and to
9
- # permit persons to whom the Software is furnished to do so, subject to
10
- # the following conditions:
11
- #
12
- # The above copyright notice and this permission notice shall be
13
- # included in all copies or substantial portions of the Software.
14
- #
15
- # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
- # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
- # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
- # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
- # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
- # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- #++
1
+ #--
2
+ # Copyright (c) 2010-2012 Michael Berkovich, tr8n.net
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person obtaining
5
+ # a copy of this software and associated documentation files (the
6
+ # "Software"), to deal in the Software without restriction, including
7
+ # without limitation the rights to use, copy, modify, merge, publish,
8
+ # distribute, sublicense, and/or sell copies of the Software, and to
9
+ # permit persons to whom the Software is furnished to do so, subject to
10
+ # the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
+ #++
23
+ #
24
+ #-- Tr8n::NumericRule Schema Information
25
+ #
26
+ # Table name: tr8n_language_rules
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # language_id integer not null
30
+ # translator_id integer
31
+ # type varchar(255)
32
+ # definition text
33
+ # created_at datetime
34
+ # updated_at datetime
35
+ #
36
+ # Indexes
37
+ #
38
+ # index_tr8n_language_rules_on_language_id_and_translator_id (language_id, translator_id)
39
+ # index_tr8n_language_rules_on_language_id (language_id)
40
+ #
41
+ #++
23
42
 
24
43
  class Tr8n::NumericRule < Tr8n::LanguageRule
25
44
 
@@ -20,10 +20,31 @@
20
20
  # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
21
  # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
22
  #++
23
+ #
24
+ #-- Tr8n::SyncLog Schema Information
25
+ #
26
+ # Table name: tr8n_sync_logs
27
+ #
28
+ # id INTEGER not null, primary key
29
+ # started_at datetime
30
+ # finished_at datetime
31
+ # keys_sent integer
32
+ # translations_sent integer
33
+ # keys_received integer
34
+ # translations_received integer
35
+ # created_at datetime
36
+ # updated_at datetime
37
+ #
38
+ # Indexes
39
+ #
40
+ #
41
+ #++
23
42
 
24
43
  class Tr8n::SyncLog < ActiveRecord::Base
25
44
  set_table_name :tr8n_sync_logs
26
45
 
46
+ attr_accessible :started_at, :finished_at, :keys_sent, :translations_sent, :keys_received, :translations_received
47
+
27
48
  def self.sync(opts = {})
28
49
  sync_log = Tr8n::SyncLog.create(:started_at => Time.now,
29
50
  :keys_received => 0, :translations_received => 0,