trasto 0.0.1 → 0.1.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.
- checksums.yaml +7 -0
- data/.gitignore +1 -1
- data/.rubocop.yml +5 -0
- data/.travis.yml +15 -0
- data/Appraisals +14 -0
- data/README.md +7 -3
- data/Rakefile +3 -3
- data/gemfiles/3.2.gemfile +8 -0
- data/gemfiles/4.0.gemfile +7 -0
- data/gemfiles/4.1.gemfile +7 -0
- data/lib/trasto.rb +4 -4
- data/lib/trasto/class_methods.rb +1 -3
- data/lib/trasto/instance_methods.rb +9 -9
- data/lib/trasto/translates.rb +9 -8
- data/lib/trasto/version.rb +1 -1
- data/spec/spec_helper.rb +16 -9
- data/spec/trasto_spec.rb +47 -41
- data/trasto.gemspec +15 -14
- metadata +48 -38
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: fdba46e380e59bcaf304a7cc645cedbd7062466d
|
|
4
|
+
data.tar.gz: 9b21e91148b4ca8d3ac5291382406fc61cdc7056
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 11862ebd7292a2595186f53c0f51f92e91a447d70ad4d5479d1dc4c5255e1d01c1631c0b4414fd4445f4a0c362d43920b7213dde15b33708818776ce7002bdc9
|
|
7
|
+
data.tar.gz: 993536f19629c433893116f6e05fe9bd5712161e4927fd27bba157e9357c4a02e4d1543ed286b1e7bc139ebe20e9f51316c10b69881ddca6ad939bbe4bb0801e
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
data/.travis.yml
ADDED
data/Appraisals
ADDED
data/README.md
CHANGED
|
@@ -45,9 +45,13 @@ You can still use your accessors for `title_i18n` and `title_i18=` in forms, val
|
|
|
45
45
|
|
|
46
46
|
Add this to your `Gemfile` if you use Bundler 1.1+:
|
|
47
47
|
|
|
48
|
-
gem '
|
|
48
|
+
gem 'trasto'
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
If you're using Rails 3, add the following gem:
|
|
51
|
+
|
|
52
|
+
gem 'activerecord-postgres-hstore'
|
|
53
|
+
|
|
54
|
+
Hstore support comes out of the box in Rails 4. Then run
|
|
51
55
|
|
|
52
56
|
bundle install
|
|
53
57
|
|
|
@@ -63,7 +67,7 @@ to install it.
|
|
|
63
67
|
|
|
64
68
|
By [Morton Jonuschat](https://github.com/yabawock) under the MIT license:
|
|
65
69
|
|
|
66
|
-
> Copyright (c) 2012 Morton Jonuschat
|
|
70
|
+
> Copyright (c) 2012-2014 Morton Jonuschat
|
|
67
71
|
>
|
|
68
72
|
> Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
69
73
|
> of this software and associated documentation files (the "Software"), to deal
|
data/Rakefile
CHANGED
data/lib/trasto.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
3
|
-
require
|
|
4
|
-
require
|
|
1
|
+
require 'trasto/version'
|
|
2
|
+
require 'trasto/translates'
|
|
3
|
+
require 'trasto/class_methods'
|
|
4
|
+
require 'trasto/instance_methods'
|
data/lib/trasto/class_methods.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
module Trasto
|
|
2
2
|
module ClassMethods
|
|
3
|
-
|
|
4
3
|
private
|
|
5
4
|
|
|
6
5
|
def translates?(column)
|
|
@@ -8,8 +7,7 @@ module Trasto
|
|
|
8
7
|
end
|
|
9
8
|
|
|
10
9
|
def locale_name(locale)
|
|
11
|
-
I18n.t(locale, :
|
|
10
|
+
I18n.t(locale, scope: :"i18n.languages", default: locale.to_s.upcase)
|
|
12
11
|
end
|
|
13
|
-
|
|
14
12
|
end
|
|
15
13
|
end
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
module Trasto
|
|
2
2
|
module InstanceMethods
|
|
3
|
-
|
|
4
3
|
private
|
|
5
4
|
|
|
6
5
|
def read_localized_value(column)
|
|
6
|
+
return nil unless (column_value = send("#{column}_i18n"))
|
|
7
|
+
|
|
7
8
|
locales_for_reading_column(column).each do |locale|
|
|
8
|
-
value =
|
|
9
|
+
value = column_value[locale]
|
|
9
10
|
return value if value.present?
|
|
10
11
|
end
|
|
11
12
|
nil
|
|
@@ -13,18 +14,17 @@ module Trasto
|
|
|
13
14
|
|
|
14
15
|
def write_localized_value(column, value)
|
|
15
16
|
translations = send("#{column}_i18n") || {}
|
|
16
|
-
send("#{column}_i18n=", translations.merge(
|
|
17
|
+
send("#{column}_i18n=", translations.merge(I18n.locale => value).with_indifferent_access)
|
|
17
18
|
end
|
|
18
19
|
|
|
19
20
|
def locales_for_reading_column(column)
|
|
20
|
-
send("#{column}_i18n").keys.sort_by
|
|
21
|
-
case locale
|
|
22
|
-
when I18n.locale then
|
|
23
|
-
when I18n.default_locale then
|
|
21
|
+
send("#{column}_i18n").keys.sort_by do |locale|
|
|
22
|
+
case locale.to_sym
|
|
23
|
+
when I18n.locale then '0'
|
|
24
|
+
when I18n.default_locale then '1'
|
|
24
25
|
else locale.to_s
|
|
25
26
|
end
|
|
26
|
-
|
|
27
|
+
end
|
|
27
28
|
end
|
|
28
|
-
|
|
29
29
|
end
|
|
30
30
|
end
|
data/lib/trasto/translates.rb
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
module Trasto
|
|
2
2
|
module Translates
|
|
3
3
|
def translates(*columns)
|
|
4
|
-
|
|
5
4
|
extend Trasto::ClassMethods
|
|
6
5
|
include Trasto::InstanceMethods
|
|
7
6
|
|
|
@@ -14,16 +13,18 @@ module Trasto
|
|
|
14
13
|
|
|
15
14
|
self.translatable_columns |= columns.map(&:to_sym)
|
|
16
15
|
|
|
17
|
-
columns.each
|
|
16
|
+
columns.each { |column| define_localized_attribute(column) }
|
|
17
|
+
end
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
read_localized_value(column)
|
|
21
|
-
end
|
|
19
|
+
private
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
def define_localized_attribute(column)
|
|
22
|
+
define_method(column) do
|
|
23
|
+
read_localized_value(column)
|
|
24
|
+
end
|
|
26
25
|
|
|
26
|
+
define_method("#{column}=") do |value|
|
|
27
|
+
write_localized_value(column, value)
|
|
27
28
|
end
|
|
28
29
|
end
|
|
29
30
|
end
|
data/lib/trasto/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
|
@@ -11,22 +11,29 @@ end
|
|
|
11
11
|
# Very much based on the test setup in
|
|
12
12
|
# https://github.com/iain/translatable_columns/
|
|
13
13
|
|
|
14
|
-
require
|
|
15
|
-
require "activerecord-postgres-hstore"
|
|
16
|
-
require "activerecord-postgres-hstore/activerecord"
|
|
17
|
-
require "app/post.rb"
|
|
14
|
+
require 'active_record'
|
|
18
15
|
|
|
19
|
-
ActiveRecord::
|
|
16
|
+
if ActiveRecord::VERSION::MAJOR == 3
|
|
17
|
+
require 'activerecord-postgres-hstore'
|
|
18
|
+
require 'activerecord-postgres-hstore/activerecord'
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
require 'app/post.rb'
|
|
22
|
+
require 'pry'
|
|
23
|
+
|
|
24
|
+
ActiveRecord::Base.establish_connection adapter: 'postgresql', database: 'trasto-test'
|
|
25
|
+
|
|
26
|
+
I18n.enforce_available_locales ||= false
|
|
20
27
|
|
|
21
28
|
silence_stream(STDOUT) do
|
|
22
|
-
ActiveRecord::Schema.define(:
|
|
23
|
-
execute
|
|
29
|
+
ActiveRecord::Schema.define(version: 0) do
|
|
30
|
+
execute 'CREATE EXTENSION IF NOT EXISTS hstore'
|
|
24
31
|
|
|
25
|
-
create_table :posts, :
|
|
32
|
+
create_table :posts, force: true do |t|
|
|
26
33
|
t.hstore :title_i18n
|
|
27
34
|
t.hstore :body_i18n
|
|
28
35
|
end
|
|
29
36
|
end
|
|
30
37
|
end
|
|
31
38
|
|
|
32
|
-
I18n.load_path <<
|
|
39
|
+
I18n.load_path << 'spec/app/de.yml'
|
data/spec/trasto_spec.rb
CHANGED
|
@@ -1,87 +1,93 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
require 'trasto'
|
|
3
3
|
|
|
4
|
-
describe ActiveRecord::Base,
|
|
4
|
+
describe ActiveRecord::Base, '.translates' do
|
|
5
5
|
|
|
6
|
-
it
|
|
7
|
-
Post.
|
|
6
|
+
it 'should be available' do
|
|
7
|
+
expect(Post).to respond_to :translates
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
it
|
|
11
|
-
Post.new.
|
|
10
|
+
it 'should add functionality' do
|
|
11
|
+
expect(Post.new).not_to respond_to :title
|
|
12
12
|
Post.translates :title
|
|
13
|
-
Post.new.
|
|
13
|
+
expect(Post.new).to respond_to :title
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
it
|
|
17
|
-
Post.new.
|
|
16
|
+
it 'should be possible to run more than once' do
|
|
17
|
+
expect(Post.new).not_to respond_to :title, :body
|
|
18
18
|
Post.translates :title
|
|
19
19
|
Post.translates :body
|
|
20
|
-
Post.new.
|
|
20
|
+
expect(Post.new).to respond_to :title, :body
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
it
|
|
23
|
+
it 'inherits columns from the superclass' do
|
|
24
24
|
Post.translates :title
|
|
25
25
|
SubPost.translates :body
|
|
26
|
-
SubPost.new.
|
|
27
|
-
Post.new.
|
|
28
|
-
Post.new.
|
|
26
|
+
expect(SubPost.new).to respond_to :title, :body
|
|
27
|
+
expect(Post.new).to respond_to :title
|
|
28
|
+
expect(Post.new).not_to respond_to :body
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
describe Post,
|
|
33
|
+
describe Post, '.translatable_columns' do
|
|
34
34
|
|
|
35
35
|
before do
|
|
36
36
|
Post.translates :title
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
it
|
|
40
|
-
Post.translatable_columns.
|
|
39
|
+
it 'should list the translatable columns' do
|
|
40
|
+
expect(Post.translatable_columns).to eq([:title])
|
|
41
41
|
end
|
|
42
42
|
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
describe Post,
|
|
45
|
+
describe Post, '#title' do
|
|
46
46
|
|
|
47
|
-
let(:post) { Post.new(:
|
|
47
|
+
let(:post) { Post.new(title_i18n: { de: 'Hallo', en: 'Hello', sv: 'Hej' }) }
|
|
48
48
|
|
|
49
49
|
before do
|
|
50
50
|
Post.translates :title
|
|
51
51
|
I18n.locale = :en
|
|
52
52
|
I18n.default_locale = :de
|
|
53
|
+
|
|
54
|
+
post.title_i18n = post.title_i18n.with_indifferent_access
|
|
53
55
|
end
|
|
54
56
|
|
|
55
|
-
it
|
|
56
|
-
post.title.
|
|
57
|
+
it 'should give the title in the current locale' do
|
|
58
|
+
expect(post.title).to eq('Hello')
|
|
57
59
|
end
|
|
58
60
|
|
|
59
|
-
it
|
|
61
|
+
it 'should fall back to the default locale if locale has entry' do
|
|
60
62
|
I18n.locale = :ru
|
|
61
|
-
post.title.
|
|
63
|
+
expect(post.title).to eq('Hallo')
|
|
62
64
|
end
|
|
63
65
|
|
|
64
|
-
it
|
|
65
|
-
post.title_i18n[
|
|
66
|
-
post.title.
|
|
66
|
+
it 'should fall back to the default locale if blank' do
|
|
67
|
+
post.title_i18n['en'] = ' '
|
|
68
|
+
expect(post.title).to eq('Hallo')
|
|
67
69
|
end
|
|
68
70
|
|
|
69
|
-
it
|
|
70
|
-
post.title_i18n[
|
|
71
|
-
post.title_i18n[
|
|
72
|
-
post.title.
|
|
71
|
+
it 'should fall back to any other locale if default locale is blank' do
|
|
72
|
+
post.title_i18n['en'] = ' '
|
|
73
|
+
post.title_i18n['de'] = ''
|
|
74
|
+
expect(post.title).to eq('Hej')
|
|
73
75
|
end
|
|
74
76
|
|
|
75
|
-
it
|
|
76
|
-
post.title_i18n[
|
|
77
|
-
post.title_i18n[
|
|
78
|
-
post.title_i18n[
|
|
79
|
-
post.title.
|
|
77
|
+
it 'should return nil if all are blank' do
|
|
78
|
+
post.title_i18n['en'] = ' '
|
|
79
|
+
post.title_i18n['de'] = ''
|
|
80
|
+
post.title_i18n['sv'] = nil
|
|
81
|
+
expect(post.title).to be_nil
|
|
80
82
|
end
|
|
81
83
|
|
|
84
|
+
it 'should return nil on a blank record' do
|
|
85
|
+
post.title_i18n = nil
|
|
86
|
+
expect(post.title).to be_nil
|
|
87
|
+
end
|
|
82
88
|
end
|
|
83
89
|
|
|
84
|
-
describe Post,
|
|
90
|
+
describe Post, '#title=' do
|
|
85
91
|
|
|
86
92
|
before do
|
|
87
93
|
Post.translates :title
|
|
@@ -90,10 +96,10 @@ describe Post, "#title=" do
|
|
|
90
96
|
|
|
91
97
|
let(:post) { Post.new }
|
|
92
98
|
|
|
93
|
-
it
|
|
94
|
-
post.title =
|
|
95
|
-
post.title.
|
|
96
|
-
post.title_i18n[
|
|
99
|
+
it 'should assign in the current locale' do
|
|
100
|
+
post.title = 'Hallo'
|
|
101
|
+
expect(post.title).to eq('Hallo')
|
|
102
|
+
expect(post.title_i18n['de']).to eq('Hallo')
|
|
97
103
|
end
|
|
98
104
|
|
|
99
105
|
end
|
data/trasto.gemspec
CHANGED
|
@@ -4,22 +4,23 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
|
4
4
|
require 'trasto/version'
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |gem|
|
|
7
|
-
gem.name =
|
|
7
|
+
gem.name = 'trasto'
|
|
8
8
|
gem.version = Trasto::VERSION
|
|
9
|
-
gem.authors = [
|
|
10
|
-
gem.email = [
|
|
11
|
-
gem.description =
|
|
12
|
-
gem.summary =
|
|
13
|
-
gem.homepage =
|
|
9
|
+
gem.authors = ['Morton Jonuschat']
|
|
10
|
+
gem.email = ['yabawock@gmail.com']
|
|
11
|
+
gem.description = 'Translatable columns for Rails 3, directly stored in a postgres hstore in the model table.'
|
|
12
|
+
gem.summary = 'Use PostgreSQL hstore to keep column translations in the model table without adding lots of tables/columns.'
|
|
13
|
+
gem.homepage = 'https://github.com/yabawock/trasto'
|
|
14
14
|
|
|
15
|
-
gem.files = `git ls-files`.split(
|
|
16
|
-
gem.executables = gem.files.grep(
|
|
17
|
-
gem.test_files = gem.files.grep(
|
|
18
|
-
gem.require_paths = [
|
|
15
|
+
gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
|
16
|
+
gem.executables = gem.files.grep(/^bin\//).map { |f| File.basename(f) }
|
|
17
|
+
gem.test_files = gem.files.grep(/^(test|spec|features)\//)
|
|
18
|
+
gem.require_paths = ['lib']
|
|
19
19
|
|
|
20
|
-
gem.add_dependency
|
|
21
|
-
gem.add_dependency "activerecord-postgres-hstore", ">= 0.4.0"
|
|
20
|
+
gem.add_dependency 'pg', '~> 0.10'
|
|
22
21
|
|
|
23
|
-
gem.add_development_dependency
|
|
24
|
-
gem.add_development_dependency
|
|
22
|
+
gem.add_development_dependency 'rake'
|
|
23
|
+
gem.add_development_dependency 'rspec', '~> 3.0'
|
|
24
|
+
gem.add_development_dependency 'pry'
|
|
25
|
+
gem.add_development_dependency 'appraisal'
|
|
25
26
|
end
|
metadata
CHANGED
|
@@ -1,80 +1,85 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trasto
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.1.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Morton Jonuschat
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2014-07-29 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: pg
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
19
|
version: '0.10'
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
26
|
version: '0.10'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
|
-
name:
|
|
28
|
+
name: rake
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- -
|
|
31
|
+
- - ">="
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: 0
|
|
38
|
-
type: :
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
|
-
- -
|
|
38
|
+
- - ">="
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
|
-
version: 0
|
|
40
|
+
version: '0'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
|
-
name:
|
|
42
|
+
name: rspec
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 0
|
|
47
|
+
version: '3.0'
|
|
54
48
|
type: :development
|
|
55
49
|
prerelease: false
|
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
51
|
requirements:
|
|
59
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
60
53
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0
|
|
54
|
+
version: '3.0'
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
|
63
|
-
name:
|
|
56
|
+
name: pry
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - ">="
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '0'
|
|
62
|
+
type: :development
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '0'
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: appraisal
|
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
72
|
requirements:
|
|
67
|
-
- -
|
|
73
|
+
- - ">="
|
|
68
74
|
- !ruby/object:Gem::Version
|
|
69
|
-
version:
|
|
75
|
+
version: '0'
|
|
70
76
|
type: :development
|
|
71
77
|
prerelease: false
|
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
79
|
requirements:
|
|
75
|
-
- -
|
|
80
|
+
- - ">="
|
|
76
81
|
- !ruby/object:Gem::Version
|
|
77
|
-
version:
|
|
82
|
+
version: '0'
|
|
78
83
|
description: Translatable columns for Rails 3, directly stored in a postgres hstore
|
|
79
84
|
in the model table.
|
|
80
85
|
email:
|
|
@@ -83,11 +88,17 @@ executables: []
|
|
|
83
88
|
extensions: []
|
|
84
89
|
extra_rdoc_files: []
|
|
85
90
|
files:
|
|
86
|
-
- .gitignore
|
|
91
|
+
- ".gitignore"
|
|
92
|
+
- ".rubocop.yml"
|
|
93
|
+
- ".travis.yml"
|
|
94
|
+
- Appraisals
|
|
87
95
|
- Gemfile
|
|
88
96
|
- LICENSE.txt
|
|
89
97
|
- README.md
|
|
90
98
|
- Rakefile
|
|
99
|
+
- gemfiles/3.2.gemfile
|
|
100
|
+
- gemfiles/4.0.gemfile
|
|
101
|
+
- gemfiles/4.1.gemfile
|
|
91
102
|
- lib/trasto.rb
|
|
92
103
|
- lib/trasto/class_methods.rb
|
|
93
104
|
- lib/trasto/instance_methods.rb
|
|
@@ -100,29 +111,28 @@ files:
|
|
|
100
111
|
- trasto.gemspec
|
|
101
112
|
homepage: https://github.com/yabawock/trasto
|
|
102
113
|
licenses: []
|
|
114
|
+
metadata: {}
|
|
103
115
|
post_install_message:
|
|
104
116
|
rdoc_options: []
|
|
105
117
|
require_paths:
|
|
106
118
|
- lib
|
|
107
119
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
108
|
-
none: false
|
|
109
120
|
requirements:
|
|
110
|
-
- -
|
|
121
|
+
- - ">="
|
|
111
122
|
- !ruby/object:Gem::Version
|
|
112
123
|
version: '0'
|
|
113
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
|
-
none: false
|
|
115
125
|
requirements:
|
|
116
|
-
- -
|
|
126
|
+
- - ">="
|
|
117
127
|
- !ruby/object:Gem::Version
|
|
118
128
|
version: '0'
|
|
119
129
|
requirements: []
|
|
120
130
|
rubyforge_project:
|
|
121
|
-
rubygems_version:
|
|
131
|
+
rubygems_version: 2.2.2
|
|
122
132
|
signing_key:
|
|
123
|
-
specification_version:
|
|
124
|
-
summary:
|
|
125
|
-
|
|
133
|
+
specification_version: 4
|
|
134
|
+
summary: Use PostgreSQL hstore to keep column translations in the model table without
|
|
135
|
+
adding lots of tables/columns.
|
|
126
136
|
test_files:
|
|
127
137
|
- spec/app/de.yml
|
|
128
138
|
- spec/app/post.rb
|