pg_translatable 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.rspec +2 -0
- data/.travis.yml +15 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +17 -0
- data/README.md +34 -0
- data/Rakefile +19 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/pg_translatable/translatable/methods/class_methods.rb +22 -0
- data/lib/pg_translatable/translatable/methods/instance_methods.rb +80 -0
- data/lib/pg_translatable/translatable/methods.rb +56 -0
- data/lib/pg_translatable/translatable.rb +12 -0
- data/lib/pg_translatable/version.rb +10 -0
- data/lib/pg_translatable.rb +12 -0
- data/pg_translatable.gemspec +38 -0
- metadata +200 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 195ffcc2dac4d8869cebed29bf078e351251813a
|
4
|
+
data.tar.gz: 6b3445128fb029069c4aa3067e6249f87be7b4e2
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 20425efa82a9a5f0402db52a64e3bbfd7a9b62cf6255de8fd64ef99ddcd88ca1d6dd5e560cbc066a7fbe66183cc8a7d3760dbfbb381413cfc0c0867a7481716e
|
7
|
+
data.tar.gz: 19c3363943b76ede4cd2933b7b5fb3016fa0a9dd8f2b56919372f8f76222b39918d5d508408dbbf2049e3988d3f2d30bbcd50f239fd209a78a660c85f43266c9
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
language: ruby
|
2
|
+
rvm:
|
3
|
+
- 2.2.0
|
4
|
+
gemfile:
|
5
|
+
- gemfile
|
6
|
+
install:
|
7
|
+
- 'travis_retry bundle install'
|
8
|
+
addons:
|
9
|
+
postgresql: '9.4'
|
10
|
+
code_climate:
|
11
|
+
repo_token: 'f63c4f1a42eacd5c44d1393fea83ff8d669d1ef15e192584a8aada456883698b'
|
12
|
+
script:
|
13
|
+
- 'bundle exec rake spec'
|
14
|
+
before_script:
|
15
|
+
- psql -c 'create database pg_translatable_test;' -U postgres
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Contributor Code of Conduct
|
2
|
+
|
3
|
+
As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
|
4
|
+
|
5
|
+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, age, or religion.
|
6
|
+
|
7
|
+
Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
|
8
|
+
|
9
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team.
|
10
|
+
|
11
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
|
12
|
+
|
13
|
+
This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at [http://contributor-covenant.org/version/1/0/0/](http://contributor-covenant.org/version/1/0/0/)
|
data/Gemfile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
group :test do
|
6
|
+
gem 'rspec-rails', '~> 3.2'
|
7
|
+
gem 'factory_girl_rails', '~> 4.5'
|
8
|
+
gem 'rocket_pants', '~> 1.10'
|
9
|
+
gem 'pry', '~> 0.10'
|
10
|
+
gem 'pry-rails', '~> 0.3'
|
11
|
+
gem 'better_errors', '~> 2.1'
|
12
|
+
gem 'binding_of_caller', '~> 0.7'
|
13
|
+
gem 'sqlite3', '~> 1.3'
|
14
|
+
gem 'appraisal', '~> 1.0'
|
15
|
+
gem 'simplecov', '~> 0.9', require: false
|
16
|
+
gem 'codeclimate-test-reporter', require: nil
|
17
|
+
end
|
data/README.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
[![Build Status](https://travis-ci.org/Stankec/pg_translatable.svg?branch=master)](https://travis-ci.org/Stankec/pg_translatable)
|
2
|
+
[![Code Climate](https://codeclimate.com/github/Stankec/pg_translatable/badges/gpa.svg)](https://codeclimate.com/github/Stankec/pg_translatable)
|
3
|
+
[![Test Coverage](https://codeclimate.com/github/Stankec/pg_translatable/badges/coverage.svg)](https://codeclimate.com/github/Stankec/pg_translatable/coverage)
|
4
|
+
|
5
|
+
# About
|
6
|
+
|
7
|
+
Store translations in your PG database as HSTORE, JSON or JSONB.
|
8
|
+
|
9
|
+
# Instalation
|
10
|
+
|
11
|
+
To use this gem in your rails app simply add the following to your `Gemfile`:
|
12
|
+
|
13
|
+
```Ruby
|
14
|
+
gem 'pg_translatable'
|
15
|
+
```
|
16
|
+
|
17
|
+
# Development
|
18
|
+
|
19
|
+
After checking out the repo, make sure you have a Postgres database server
|
20
|
+
running on your machine then move to the `spec/test_app` directory and run the
|
21
|
+
following commands:
|
22
|
+
|
23
|
+
```Bash
|
24
|
+
rake db:create
|
25
|
+
rake db:migrate
|
26
|
+
```
|
27
|
+
|
28
|
+
# Contributing
|
29
|
+
|
30
|
+
1. [Fork it]( https://github.com/Stankec/pg_translatable/fork )
|
31
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
32
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
33
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
34
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
begin
|
2
|
+
require 'rubygems'
|
3
|
+
require 'bundler/setup'
|
4
|
+
rescue LoadError
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
+
end
|
7
|
+
|
8
|
+
begin
|
9
|
+
require 'rspec'
|
10
|
+
rescue LoadError
|
11
|
+
puts 'You must `gem install rspec` to run tests'
|
12
|
+
end
|
13
|
+
|
14
|
+
APP_RAKEFILE = File.expand_path('../spec/test_app/Rakefile', __FILE__)
|
15
|
+
load 'rails/tasks/engine.rake'
|
16
|
+
|
17
|
+
Bundler::GemHelper.install_tasks
|
18
|
+
|
19
|
+
RSpec::Core::RakeTask.new(:spec)
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "pg_translatable"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|
data/bin/setup
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
module PgTranslatable
|
2
|
+
module Translatable
|
3
|
+
class Methods
|
4
|
+
class ClassMethods < PgTranslatable::Translatable::Methods
|
5
|
+
def define_methods
|
6
|
+
define_strong_params_fields
|
7
|
+
end
|
8
|
+
|
9
|
+
private
|
10
|
+
|
11
|
+
def define_strong_params_fields
|
12
|
+
languages_list = @languages.map { |locale| ":#{@column}_#{locale}" }
|
13
|
+
@object.class_eval <<-RUBY
|
14
|
+
define_singleton_method("#{@column}_fields") do
|
15
|
+
[#{languages_list.join(', ')}]
|
16
|
+
end
|
17
|
+
RUBY
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module PgTranslatable
|
2
|
+
module Translatable
|
3
|
+
class Methods
|
4
|
+
class InstanceMethods < PgTranslatable::Translatable::Methods
|
5
|
+
def define_methods
|
6
|
+
define_formatter
|
7
|
+
define_getter
|
8
|
+
define_hash_getter_and_setter
|
9
|
+
define_locale_setters_and_getters
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def define_formatter
|
15
|
+
@object.class_eval <<-RUBY
|
16
|
+
define_method("#{@column_name}_formatter") do |value|
|
17
|
+
value
|
18
|
+
end
|
19
|
+
RUBY
|
20
|
+
end
|
21
|
+
|
22
|
+
def define_getter
|
23
|
+
@object.class_eval <<-RUBY
|
24
|
+
define_method("#{@column_name}") do
|
25
|
+
send("#{@column_name}_#{I18n.locale}")
|
26
|
+
end
|
27
|
+
RUBY
|
28
|
+
end
|
29
|
+
|
30
|
+
def define_hash_getter_and_setter
|
31
|
+
define_hash_getter
|
32
|
+
define_hash_setter
|
33
|
+
end
|
34
|
+
|
35
|
+
def define_hash_getter
|
36
|
+
@object.class_eval <<-RUBY
|
37
|
+
define_method("#{@column_name_plural}") do
|
38
|
+
self["#{@column}"] || {}
|
39
|
+
end
|
40
|
+
RUBY
|
41
|
+
end
|
42
|
+
|
43
|
+
def define_hash_setter
|
44
|
+
@object.class_eval <<-RUBY
|
45
|
+
define_method("#{@column_name_plural}=") do |value|
|
46
|
+
self[:#{@column}] = value
|
47
|
+
end
|
48
|
+
RUBY
|
49
|
+
end
|
50
|
+
|
51
|
+
def define_locale_setters_and_getters
|
52
|
+
define_locale_getter
|
53
|
+
define_locale_setter
|
54
|
+
end
|
55
|
+
|
56
|
+
def define_locale_getter
|
57
|
+
@languages.each do |locale|
|
58
|
+
@object.class_eval <<-RUBY
|
59
|
+
define_method("#{@column_name}_#{locale}") do
|
60
|
+
send("#{@column_name}_formatter",
|
61
|
+
send("#{@column_name_plural}")["#{locale}"]
|
62
|
+
)
|
63
|
+
end
|
64
|
+
RUBY
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def define_locale_setter
|
69
|
+
@languages.each do |locale|
|
70
|
+
@object.class_eval <<-RUBY
|
71
|
+
define_method("#{@column_name}_#{locale}=") do |value|
|
72
|
+
send("#{@column_name_plural}")["#{locale}"] = value
|
73
|
+
end
|
74
|
+
RUBY
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'pg_translatable/translatable/methods/class_methods'
|
2
|
+
require 'pg_translatable/translatable/methods/instance_methods'
|
3
|
+
|
4
|
+
module PgTranslatable
|
5
|
+
module Translatable
|
6
|
+
class Methods
|
7
|
+
def initialize(object, column)
|
8
|
+
@object = object
|
9
|
+
@column = column
|
10
|
+
@languages = I18n.available_locales
|
11
|
+
|
12
|
+
raise_wrong_column_object_type
|
13
|
+
|
14
|
+
@column_name = @column.to_s.singularize
|
15
|
+
@column_name_plural = @column.to_s.pluralize
|
16
|
+
|
17
|
+
ensure_different_plural
|
18
|
+
|
19
|
+
@type = @object.columns_hash[@column.to_s].type
|
20
|
+
|
21
|
+
raise_wrong_column_type
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def ensure_different_plural
|
27
|
+
return unless @column_name_plural == @column_name
|
28
|
+
@column_name_plural = "#{@column_name_plural}_translations"
|
29
|
+
end
|
30
|
+
|
31
|
+
def raise_wrong_column_type
|
32
|
+
accepted_types = [:hstore, :json, :jsonb]
|
33
|
+
|
34
|
+
return if accepted_types.include?(@type)
|
35
|
+
|
36
|
+
fail(
|
37
|
+
ArgumentError,
|
38
|
+
"Expected column '#{@column}' to be of type "\
|
39
|
+
"#{accepted_types.map { |type| type.to_s.upcase }.join(', ')} "\
|
40
|
+
"but was of type #{@type}"
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def raise_wrong_column_object_type
|
45
|
+
return if @column.is_a?(String)
|
46
|
+
return if @column.is_a?(Symbol)
|
47
|
+
|
48
|
+
fail(
|
49
|
+
ArgumentError,
|
50
|
+
'Pass the column name as a String or Symbol. '\
|
51
|
+
"You passed a #{@column.class.name}!"
|
52
|
+
)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'pg_translatable/translatable/methods'
|
2
|
+
|
3
|
+
module PgTranslatable
|
4
|
+
module Translatable
|
5
|
+
def translate(*attrs)
|
6
|
+
attrs.each do |column|
|
7
|
+
Methods::ClassMethods.new(self, column).define_methods
|
8
|
+
Methods::InstanceMethods.new(self, column).define_methods
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pg_translatable/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'pg_translatable'
|
8
|
+
spec.version = PgTranslatable::Version::STRING
|
9
|
+
spec.authors = ['Stanko Krtalić Rusendić']
|
10
|
+
spec.email = ['stanko.krtalic@gmail.com']
|
11
|
+
|
12
|
+
spec.summary = 'Store translations in PG\'s non-sql store types'
|
13
|
+
|
14
|
+
spec.description = 'Store translations in your PG database as HSTORE, JSON '\
|
15
|
+
'or JSONB.'
|
16
|
+
|
17
|
+
spec.homepage = 'https://github.com/Stankec/pg_translatable'
|
18
|
+
|
19
|
+
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
20
|
+
f.match(/^(test|spec|features)\//)
|
21
|
+
end
|
22
|
+
|
23
|
+
spec.bindir = 'exe'
|
24
|
+
spec.executables = spec.files.grep(/^exe\//) { |f| File.basename(f) }
|
25
|
+
spec.require_paths = %w(lib)
|
26
|
+
|
27
|
+
spec.add_dependency 'rails'
|
28
|
+
spec.add_dependency 'pg'
|
29
|
+
|
30
|
+
spec.add_development_dependency 'rspec-rails', '~> 3.2'
|
31
|
+
spec.add_development_dependency 'factory_girl_rails', '~> 4.5'
|
32
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
33
|
+
spec.add_development_dependency 'pry-rails', '~> 0.3'
|
34
|
+
spec.add_development_dependency 'better_errors', '~> 2.1'
|
35
|
+
spec.add_development_dependency 'binding_of_caller', '~> 0.7'
|
36
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
37
|
+
spec.add_development_dependency 'bundler'
|
38
|
+
end
|
metadata
ADDED
@@ -0,0 +1,200 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: pg_translatable
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Stanko Krtalić Rusendić
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: pg
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec-rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.2'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.2'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: factory_girl_rails
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '4.5'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.5'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: pry
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0.10'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0.10'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry-rails
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0.3'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: better_errors
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '2.1'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '2.1'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: binding_of_caller
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.7'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.7'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rake
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '10.0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '10.0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: bundler
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
description: Store translations in your PG database as HSTORE, JSON or JSONB.
|
154
|
+
email:
|
155
|
+
- stanko.krtalic@gmail.com
|
156
|
+
executables: []
|
157
|
+
extensions: []
|
158
|
+
extra_rdoc_files: []
|
159
|
+
files:
|
160
|
+
- ".gitignore"
|
161
|
+
- ".rspec"
|
162
|
+
- ".travis.yml"
|
163
|
+
- CODE_OF_CONDUCT.md
|
164
|
+
- Gemfile
|
165
|
+
- README.md
|
166
|
+
- Rakefile
|
167
|
+
- bin/console
|
168
|
+
- bin/setup
|
169
|
+
- lib/pg_translatable.rb
|
170
|
+
- lib/pg_translatable/translatable.rb
|
171
|
+
- lib/pg_translatable/translatable/methods.rb
|
172
|
+
- lib/pg_translatable/translatable/methods/class_methods.rb
|
173
|
+
- lib/pg_translatable/translatable/methods/instance_methods.rb
|
174
|
+
- lib/pg_translatable/version.rb
|
175
|
+
- pg_translatable.gemspec
|
176
|
+
homepage: https://github.com/Stankec/pg_translatable
|
177
|
+
licenses: []
|
178
|
+
metadata: {}
|
179
|
+
post_install_message:
|
180
|
+
rdoc_options: []
|
181
|
+
require_paths:
|
182
|
+
- lib
|
183
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - ">="
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
193
|
+
requirements: []
|
194
|
+
rubyforge_project:
|
195
|
+
rubygems_version: 2.4.5
|
196
|
+
signing_key:
|
197
|
+
specification_version: 4
|
198
|
+
summary: Store translations in PG's non-sql store types
|
199
|
+
test_files: []
|
200
|
+
has_rdoc:
|