rails_i18n_record 1.0.5 → 1.0.6

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 (53) hide show
  1. checksums.yaml +7 -0
  2. metadata +18 -130
  3. data/MIT-LICENSE +0 -20
  4. data/README.rdoc +0 -44
  5. data/Rakefile +0 -38
  6. data/lib/generators/i18n_generator.rb +0 -26
  7. data/lib/generators/templates/migration.erb +0 -19
  8. data/lib/generators/templates/model.erb +0 -13
  9. data/lib/rails_i18n_record.rb +0 -6
  10. data/lib/rails_i18n_record/active_record/base.rb +0 -79
  11. data/lib/rails_i18n_record/railtie.rb +0 -9
  12. data/lib/rails_i18n_record/version.rb +0 -5
  13. data/test/dummy/README.rdoc +0 -261
  14. data/test/dummy/Rakefile +0 -7
  15. data/test/dummy/app/assets/javascripts/application.js +0 -15
  16. data/test/dummy/app/assets/stylesheets/application.css +0 -13
  17. data/test/dummy/app/controllers/application_controller.rb +0 -3
  18. data/test/dummy/app/helpers/application_helper.rb +0 -2
  19. data/test/dummy/app/models/model.rb +0 -4
  20. data/test/dummy/app/models/model_translation.rb +0 -13
  21. data/test/dummy/app/views/layouts/application.html.erb +0 -14
  22. data/test/dummy/config.ru +0 -4
  23. data/test/dummy/config/application.rb +0 -59
  24. data/test/dummy/config/boot.rb +0 -10
  25. data/test/dummy/config/database.yml +0 -25
  26. data/test/dummy/config/environment.rb +0 -5
  27. data/test/dummy/config/environments/development.rb +0 -37
  28. data/test/dummy/config/environments/production.rb +0 -67
  29. data/test/dummy/config/environments/test.rb +0 -37
  30. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
  31. data/test/dummy/config/initializers/inflections.rb +0 -15
  32. data/test/dummy/config/initializers/mime_types.rb +0 -5
  33. data/test/dummy/config/initializers/secret_token.rb +0 -7
  34. data/test/dummy/config/initializers/session_store.rb +0 -8
  35. data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
  36. data/test/dummy/config/locales/en.yml +0 -5
  37. data/test/dummy/config/routes.rb +0 -58
  38. data/test/dummy/db/development.sqlite3 +0 -0
  39. data/test/dummy/db/migrate/20120831205714_create_models.rb +0 -7
  40. data/test/dummy/db/migrate/20130404161713_create_models_i18n.rb +0 -19
  41. data/test/dummy/db/schema.rb +0 -35
  42. data/test/dummy/db/test.sqlite3 +0 -0
  43. data/test/dummy/log/development.log +0 -499
  44. data/test/dummy/log/test.log +0 -2397
  45. data/test/dummy/public/404.html +0 -26
  46. data/test/dummy/public/422.html +0 -26
  47. data/test/dummy/public/500.html +0 -25
  48. data/test/dummy/public/favicon.ico +0 -0
  49. data/test/dummy/script/rails +0 -6
  50. data/test/generators_test.rb +0 -24
  51. data/test/rails_i18n_record_test.rb +0 -9
  52. data/test/records_test.rb +0 -27
  53. data/test/test_helper.rb +0 -21
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 71128b925bee279669fb738741a2ad80494887cf
4
+ data.tar.gz: 0a3cdf74207432351ee4381e84f5b9e4a8e745ee
5
+ SHA512:
6
+ metadata.gz: 109acb2a2fa67c1d3f3466c04fbb76bfbfbf1c3eff746c22e631ad63a4e6729c0d7a022b2072b7a523094af4709c2024490411fbed6e5cf33ddea644d47caec4
7
+ data.tar.gz: 798684c21947d09f52e550eedd1945d77ed7ad5d52bc280c73287179462b85487b81eda40fa5ff6715e09a94853c9fa2ab769481ac22b93027baa46e65350444
metadata CHANGED
@@ -1,170 +1,58 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_i18n_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
5
- prerelease:
4
+ version: 1.0.6
6
5
  platform: ruby
7
6
  authors:
8
7
  - Mattways
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-27 00:00:00.000000000 Z
11
+ date: 2013-08-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- name: rails
14
+ name: translatable_records
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
20
- - !ruby/object:Gem::Version
21
- version: 3.2.8
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- version: 3.2.8
30
- - !ruby/object:Gem::Dependency
31
- name: sqlite3
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
17
+ - - '>='
36
18
  - !ruby/object:Gem::Version
37
19
  version: '0'
38
- type: :development
20
+ type: :runtime
39
21
  prerelease: false
40
22
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
23
  requirements:
43
- - - ! '>='
24
+ - - '>='
44
25
  - !ruby/object:Gem::Version
45
26
  version: '0'
46
- description: Adds models, migrations and handy methods to ActiveRecord to deal with
47
- translations.
27
+ description: This gem has been renamed to just "translatable_records".
48
28
  email:
49
29
  - contact@mattways.com
50
30
  executables: []
51
31
  extensions: []
52
32
  extra_rdoc_files: []
53
- files:
54
- - lib/generators/i18n_generator.rb
55
- - lib/generators/templates/migration.erb
56
- - lib/generators/templates/model.erb
57
- - lib/rails_i18n_record/active_record/base.rb
58
- - lib/rails_i18n_record/railtie.rb
59
- - lib/rails_i18n_record/version.rb
60
- - lib/rails_i18n_record.rb
61
- - MIT-LICENSE
62
- - Rakefile
63
- - README.rdoc
64
- - test/dummy/app/assets/javascripts/application.js
65
- - test/dummy/app/assets/stylesheets/application.css
66
- - test/dummy/app/controllers/application_controller.rb
67
- - test/dummy/app/helpers/application_helper.rb
68
- - test/dummy/app/models/model.rb
69
- - test/dummy/app/models/model_translation.rb
70
- - test/dummy/app/views/layouts/application.html.erb
71
- - test/dummy/config/application.rb
72
- - test/dummy/config/boot.rb
73
- - test/dummy/config/database.yml
74
- - test/dummy/config/environment.rb
75
- - test/dummy/config/environments/development.rb
76
- - test/dummy/config/environments/production.rb
77
- - test/dummy/config/environments/test.rb
78
- - test/dummy/config/initializers/backtrace_silencers.rb
79
- - test/dummy/config/initializers/inflections.rb
80
- - test/dummy/config/initializers/mime_types.rb
81
- - test/dummy/config/initializers/secret_token.rb
82
- - test/dummy/config/initializers/session_store.rb
83
- - test/dummy/config/initializers/wrap_parameters.rb
84
- - test/dummy/config/locales/en.yml
85
- - test/dummy/config/routes.rb
86
- - test/dummy/config.ru
87
- - test/dummy/db/development.sqlite3
88
- - test/dummy/db/migrate/20120831205714_create_models.rb
89
- - test/dummy/db/migrate/20130404161713_create_models_i18n.rb
90
- - test/dummy/db/schema.rb
91
- - test/dummy/db/test.sqlite3
92
- - test/dummy/log/development.log
93
- - test/dummy/log/test.log
94
- - test/dummy/public/404.html
95
- - test/dummy/public/422.html
96
- - test/dummy/public/500.html
97
- - test/dummy/public/favicon.ico
98
- - test/dummy/Rakefile
99
- - test/dummy/README.rdoc
100
- - test/dummy/script/rails
101
- - test/generators_test.rb
102
- - test/rails_i18n_record_test.rb
103
- - test/records_test.rb
104
- - test/test_helper.rb
105
- homepage: https://github.com/mattways/rails_i18n_record
106
- licenses: []
33
+ files: []
34
+ homepage: https://github.com/mattways/translatable_records
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
107
38
  post_install_message:
108
39
  rdoc_options: []
109
40
  require_paths:
110
41
  - lib
111
42
  required_ruby_version: !ruby/object:Gem::Requirement
112
- none: false
113
43
  requirements:
114
- - - ! '>='
44
+ - - '>='
115
45
  - !ruby/object:Gem::Version
116
46
  version: '0'
117
47
  required_rubygems_version: !ruby/object:Gem::Requirement
118
- none: false
119
48
  requirements:
120
- - - ! '>='
49
+ - - '>='
121
50
  - !ruby/object:Gem::Version
122
51
  version: '0'
123
52
  requirements: []
124
53
  rubyforge_project:
125
- rubygems_version: 1.8.23
54
+ rubygems_version: 2.0.3
126
55
  signing_key:
127
- specification_version: 3
128
- summary: Toolkit for Rails translatable records.
129
- test_files:
130
- - test/dummy/app/assets/javascripts/application.js
131
- - test/dummy/app/assets/stylesheets/application.css
132
- - test/dummy/app/controllers/application_controller.rb
133
- - test/dummy/app/helpers/application_helper.rb
134
- - test/dummy/app/models/model.rb
135
- - test/dummy/app/models/model_translation.rb
136
- - test/dummy/app/views/layouts/application.html.erb
137
- - test/dummy/config/application.rb
138
- - test/dummy/config/boot.rb
139
- - test/dummy/config/database.yml
140
- - test/dummy/config/environment.rb
141
- - test/dummy/config/environments/development.rb
142
- - test/dummy/config/environments/production.rb
143
- - test/dummy/config/environments/test.rb
144
- - test/dummy/config/initializers/backtrace_silencers.rb
145
- - test/dummy/config/initializers/inflections.rb
146
- - test/dummy/config/initializers/mime_types.rb
147
- - test/dummy/config/initializers/secret_token.rb
148
- - test/dummy/config/initializers/session_store.rb
149
- - test/dummy/config/initializers/wrap_parameters.rb
150
- - test/dummy/config/locales/en.yml
151
- - test/dummy/config/routes.rb
152
- - test/dummy/config.ru
153
- - test/dummy/db/development.sqlite3
154
- - test/dummy/db/migrate/20120831205714_create_models.rb
155
- - test/dummy/db/migrate/20130404161713_create_models_i18n.rb
156
- - test/dummy/db/schema.rb
157
- - test/dummy/db/test.sqlite3
158
- - test/dummy/log/development.log
159
- - test/dummy/log/test.log
160
- - test/dummy/public/404.html
161
- - test/dummy/public/422.html
162
- - test/dummy/public/500.html
163
- - test/dummy/public/favicon.ico
164
- - test/dummy/Rakefile
165
- - test/dummy/README.rdoc
166
- - test/dummy/script/rails
167
- - test/generators_test.rb
168
- - test/rails_i18n_record_test.rb
169
- - test/records_test.rb
170
- - test/test_helper.rb
56
+ specification_version: 4
57
+ summary: Renamed to just "translatable_records"
58
+ test_files: []
@@ -1,20 +0,0 @@
1
- Copyright 2012 Mattways
2
-
3
- Permission is hereby granted, free of charge, to any person obtaining
4
- a copy of this software and associated documentation files (the
5
- "Software"), to deal in the Software without restriction, including
6
- without limitation the rights to use, copy, modify, merge, publish,
7
- distribute, sublicense, and/or sell copies of the Software, and to
8
- permit persons to whom the Software is furnished to do so, subject to
9
- the following conditions:
10
-
11
- The above copyright notice and this permission notice shall be
12
- included in all copies or substantial portions of the Software.
13
-
14
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,44 +0,0 @@
1
- {<img src="https://codeclimate.com/github/mattways/rails_i18n_record.png" />}[https://codeclimate.com/github/mattways/rails_i18n_record] {<img src="https://secure.travis-ci.org/mattways/rails_i18n_record.png?branch=master" alt="Build Status" />}[https://travis-ci.org/mattways/rails_i18n_record] {<img src="https://gemnasium.com/mattways/rails_i18n_record.png" alt="Dependency Status" />}[https://gemnasium.com/mattways/rails_i18n_record]
2
-
3
- = Rails I18n Record
4
-
5
- Adds models, migrations and handy methods to ActiveRecord to deal with translations.
6
-
7
- = Install
8
-
9
- Put this line in your Gemfile:
10
- gem 'rails_i18n_record'
11
-
12
- Then bundle:
13
- $ bundle
14
-
15
- = Usage
16
-
17
- First define the model and set the name of the fields you want to translate with the attr_translatable method:
18
- attr_translatable :prop
19
-
20
- Generate the translation model and migration for that model:
21
- rails g i18n Model
22
-
23
- Update the migration with the column for that field:
24
- t.string :prop
25
-
26
- Update your db:
27
- rake db:migrate
28
-
29
- (Now you can use that field of the model as usual and any change would be saved using the current I18n.locale)
30
-
31
- If you want to get another translation:
32
- model_instance.translation_by_locale :es
33
-
34
- If you want to change the locale to something different than I18n.locale:
35
- model_instance.with_locale :es
36
-
37
- If you want to save multiple translations:
38
- - f.object.translations.each do |t|
39
- = f.fields_for 'translations_attributes[]', t do |ff|
40
- = field_set_tag t("languages.#{t.locale}") do
41
- %ul
42
- %li
43
- = ff.label :prop
44
- = ff.text_field :prop
data/Rakefile DELETED
@@ -1,38 +0,0 @@
1
- #!/usr/bin/env rake
2
- begin
3
- require 'bundler/setup'
4
- rescue LoadError
5
- puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
6
- end
7
- begin
8
- require 'rdoc/task'
9
- rescue LoadError
10
- require 'rdoc/rdoc'
11
- require 'rake/rdoctask'
12
- RDoc::Task = Rake::RDocTask
13
- end
14
-
15
- RDoc::Task.new(:rdoc) do |rdoc|
16
- rdoc.rdoc_dir = 'rdoc'
17
- rdoc.title = 'RailsI18nRecord'
18
- rdoc.options << '--line-numbers'
19
- rdoc.rdoc_files.include('README.rdoc')
20
- rdoc.rdoc_files.include('lib/**/*.rb')
21
- end
22
-
23
-
24
-
25
-
26
- Bundler::GemHelper.install_tasks
27
-
28
- require 'rake/testtask'
29
-
30
- Rake::TestTask.new(:test) do |t|
31
- t.libs << 'lib'
32
- t.libs << 'test'
33
- t.pattern = 'test/**/*_test.rb'
34
- t.verbose = false
35
- end
36
-
37
-
38
- task :default => :test
@@ -1,26 +0,0 @@
1
- require 'rails/generators'
2
-
3
- class I18nGenerator < Rails::Generators::NamedBase
4
-
5
- include Rails::Generators::Migration
6
-
7
- source_root File.expand_path('../templates', __FILE__)
8
-
9
- def create_model
10
- begin
11
- @model = Object.const_get(class_name)
12
- rescue NameError
13
- @model = false
14
- end
15
- template 'model.erb', "app/models/#{file_name}_translation.rb"
16
- end
17
-
18
- def create_migration
19
- migration_template 'migration.erb', "db/migrate/create_#{table_name}_i18n.rb"
20
- end
21
-
22
- def self.next_migration_number(path)
23
- Time.now.utc.strftime '%Y%m%d%H%M%S'
24
- end
25
-
26
- end
@@ -1,19 +0,0 @@
1
- class <%= "Create#{plural_name.camelize}I18n" %> < ActiveRecord::Migration
2
- def up
3
- create_table <%= ":#{table_name}_i18n" %> do |t|
4
- t.integer <%= ":#{singular_table_name}_id" %>, :null => false
5
- t.string :locale, :null => false
6
-
7
- t.timestamps
8
- end
9
- add_index <%= ":#{table_name}_i18n" %>, <%= ":#{singular_table_name}_id" %>
10
- add_index <%= ":#{table_name}_i18n" %>, :locale
11
-
12
- add_index <%= ":#{table_name}_i18n" %>, :created_at
13
- add_index <%= ":#{table_name}_i18n" %>, :updated_at
14
- end
15
-
16
- def down
17
- drop_table <%= ":#{table_name}_i18n" %>
18
- end
19
- end
@@ -1,13 +0,0 @@
1
- class <%= "#{class_name}Translation" %> < ActiveRecord::Base
2
-
3
- self.table_name = <%= ":#{table_name}_i18n" %>
4
-
5
- attr_accessible :locale, <%= ":#{singular_table_name}_id" %>, <%= @model ? @model.instance_variable_get('@translatable_attrs').map{|a|":#{a}"}.join(', ') : '' %>
6
-
7
- belongs_to <%= ":#{table_name}" %>
8
-
9
- validates :locale, :presence => true
10
- validates :locale, :inclusion => { :in => I18n.available_locales.map{|l|l.to_s} }
11
- validates <%= ":#{singular_table_name}_id" %>, :uniqueness => { :scope => :locale }
12
-
13
- end
@@ -1,6 +0,0 @@
1
- require 'rails_i18n_record/active_record/base'
2
- require 'rails_i18n_record/railtie'
3
- require 'rails_i18n_record/version'
4
-
5
- module RailsI18nRecord
6
- end
@@ -1,79 +0,0 @@
1
- module RailsI18nRecord
2
- module ActiveRecord
3
- module Base
4
- module NonTranslatable
5
-
6
- def translatable?
7
- not defined?(@translatable_attrs).nil?
8
- end
9
-
10
- def attr_translatable(*args)
11
- make_translatable unless translatable?
12
- args.each do |name|
13
- define_translatable_attribute_methods(name)
14
- @translatable_attrs << name
15
- end
16
- end
17
-
18
- protected
19
-
20
- def make_translatable
21
- send :include, RailsI18nRecord::ActiveRecord::Base::Translatable
22
- default_scope :include => :translations
23
- attr_accessible :translations_attributes
24
- has_many :translations, :class_name => "#{name}Translation", :autosave => true, :dependent => :destroy
25
- accepts_nested_attributes_for :translations
26
- @translatable_attrs = []
27
- end
28
-
29
- def define_translatable_attribute_methods(attr)
30
- ['set', 'get'].each do |method|
31
- send "define_translatable_attribute_method_#{method}", attr
32
- end
33
- end
34
-
35
- def define_translatable_attribute_method_set(attr)
36
- define_method "#{attr}=" do |value|
37
- t = translation_by_locale(current_locale)
38
- t ? t.send("#{attr}=".to_sym, value) : translations.build(:locale => current_locale.to_s, attr.to_sym => value)
39
- end
40
- end
41
-
42
- def define_translatable_attribute_method_get(attr)
43
- ['', '_was', '_changed?'].each do |suffix|
44
- define_method "#{attr}#{suffix}" do
45
- t = translation_by_locale(current_locale)
46
- t ? t.send("#{attr}#{suffix}".to_sym) : nil
47
- end
48
- end
49
- end
50
-
51
- end
52
- module Translatable
53
-
54
- def with_locale(locale)
55
- @locale = locale
56
- end
57
-
58
- def build_translations
59
- I18n.available_locales.each do |locale|
60
- t = translations.find_by_locale(locale)
61
- translations.build :locale => locale.to_s unless t
62
- end
63
- end
64
-
65
- protected
66
-
67
- def current_locale
68
- defined?(@locale).nil? ? I18n.locale.to_s : @locale
69
- end
70
-
71
- def translation_by_locale(locale)
72
- t = translations.find { |t| t.locale == locale.to_s }
73
- t ? t : translations.find_by_locale(locale)
74
- end
75
-
76
- end
77
- end
78
- end
79
- end