translateable 0.1.8 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9671e00730e7002e2b1efa1046531933be8008160c7e2828cf0ab7bdb0f17d39
4
- data.tar.gz: 9cf5dc7806bcdab742a5d07adc3729104ebb50d7e7ecf698854b07accafe616c
3
+ metadata.gz: 6f1c8fd60b4fc6af2bc16471c0655015bebfb2b9e6d80ac24ee4a23fb5fbfa7d
4
+ data.tar.gz: fbf64c55adb25358e0340857780eed1df75e1f63852cf30b203c2752d85e4a8c
5
5
  SHA512:
6
- metadata.gz: 1b2f821a94e70a8cb9e40cb17cb050720cd8a9d3bbc404824837925f556b5bb52368b06c2f2883ce645feef0072c16415e0da2ff36fd92898da2c16c7777ad26
7
- data.tar.gz: e6d5c9c9575d624e2a4860b059cbb8327f42c07747ad382b382cbd8176d5e429d40fc074233b41db237d23cfb709be91d2a8c7402aa8deabf647469e9c3df6c0
6
+ metadata.gz: bd28660d2d526157247283ecb8ef127dea68a3b46eef1d5349d578967da848ed04ef711093afcb2e6021770d7b4b25763262fd6ee71b4eb4eafd969596851fba
7
+ data.tar.gz: c08ec3530d7997f823d8aa4f278b35ea52d8bc17ebf305e4e3ab8350cfed784d30da018588b8043cae086fd7db111c881203c8eb1bb0985b78a80e143c66d804
@@ -1,16 +1,15 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.2
4
3
  - 2.5.0
4
+ - 2.6.1
5
5
 
6
6
  gemfile:
7
- - gemfiles/4.2.gemfile
8
7
  - gemfiles/5.0.gemfile
9
8
  - gemfiles/5.2.gemfile
9
+ - gemfiles/6.0.gemfile
10
10
 
11
11
  script:
12
12
  - bundle exec rspec
13
- - bundle exec rubocop
14
13
 
15
14
  before_install: gem install bundler
16
15
 
@@ -0,0 +1,6 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'activerecord', '~> 6.0.0'
4
+ gem 'activesupport', '~> 6.0.0'
5
+
6
+ gemspec path: '../'
@@ -10,30 +10,15 @@ if defined?(Rails)
10
10
  argument :field_name, type: :string
11
11
  argument :locale, type: :string, default: I18n.default_locale
12
12
 
13
- # rubocop: disable Metrics/AbcSize
14
13
  def create_migration_file
15
14
  raise ArgumentError, "given locale #{locale} is not available, check I18n.available_locales" unless I18n.available_locales.include?(locale.to_sym)
16
- migration_template('migration.rb.erb', "db/migrate/migrate_translateable_#{name}_#{field_name}.rb",
17
- migration_version: migration_version,
18
- table_name: name,
19
- field_name: field_name,
20
- field_type: name.classify.constantize.columns_hash[field_name].type,
21
- locale: locale)
15
+ migration_template('migration.rb.erb', "db/migrate/migrate_translateable_#{table_name}_#{field_name}.rb", migration_version: migration_version)
22
16
  end
23
- # rubocop: enable Metrics/AbcSize
24
17
 
25
18
  private
26
19
 
27
- def rails5?
28
- Rails.version.start_with?('5')
29
- end
30
-
31
20
  def migration_version
32
- if rails5?
33
- "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
34
- else
35
- ''
36
- end
21
+ "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
37
22
  end
38
23
  end
39
24
  end
@@ -1,4 +1,4 @@
1
- class MigrateTranslateable<%= table_name.camelize + field_name.camelize %> < ActiveRecord::Migration<%= migration_version %>
1
+ class MigrateTranslateable<%= table_name.capitalize + field_name.capitalize %> < ActiveRecord::Migration<%= migration_version %>
2
2
  def change
3
3
  reversible do |dir|
4
4
  dir.up do
@@ -13,13 +13,13 @@ class MigrateTranslateable<%= table_name.camelize + field_name.camelize %> < Act
13
13
  SQL
14
14
  remove_column :<%= table_name %>, :<%= field_name %>
15
15
  rename_column :<%= table_name %>, :<%= field_name + '_t' %>, :<%= field_name %>
16
- <% if index_exists?(table_name, field_name) %>
16
+ <% if ActiveRecord::Base.connection.index_exists?(table_name, field_name) %>
17
17
  add_index :<%= table_name %>, :<%= field_name %>, using: :gin
18
18
  <% end %>
19
19
  end
20
20
 
21
21
  dir.down do
22
- add_column :<%= table_name %>, :<%= field_name + '_t' %>, <%= field_type || ':string' %>, null: false, default: ''
22
+ add_column :<%= table_name %>, :<%= field_name + '_t' %>, :string, null: false, default: ''
23
23
  execute <<-SQL
24
24
  UPDATE <%= table_name %> AS m1
25
25
  SET <%= field_name + '_t' %> = (
@@ -28,7 +28,7 @@ class MigrateTranslateable<%= table_name.camelize + field_name.camelize %> < Act
28
28
  SQL
29
29
  remove_column :<%= table_name %>, :<%= field_name %>
30
30
  rename_column :<%= table_name %>, :<%= field_name + '_t' %>, :<%= field_name %>
31
- <% if index_exists?(table_name, field_name) %>
31
+ <% if ActiveRecord::Base.connection.index_exists?(table_name, field_name) %>
32
32
  add_index :<%= table_name %>, :<%= field_name %>
33
33
  <% end %>
34
34
  end
@@ -23,7 +23,6 @@ module Translateable
23
23
  return unless database_connection_exists?
24
24
  attr = attr.to_s
25
25
  raise ArgumentError, "no such column '#{attr}' in '#{name}' model" unless column_names.include?(attr)
26
- raise ArgumentError, "'#{attr}' column must be of JSONB type" unless columns_hash[attr].type.to_s.casecmp('jsonb').zero?
27
26
  end
28
27
 
29
28
  def define_translateable_strong_params(*attrs)
@@ -38,7 +37,6 @@ module Translateable
38
37
  false
39
38
  end
40
39
 
41
- # rubocop: disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
42
40
  def define_translateable_methods(attr)
43
41
  define_method("#{attr}_fetch_translateable") do
44
42
  value = self[attr]
@@ -69,6 +67,5 @@ module Translateable
69
67
  self[attr] = value
70
68
  end
71
69
  end
72
- # rubocop: enable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
73
70
  end
74
71
  end
@@ -1,3 +1,3 @@
1
1
  module Translateable
2
- VERSION = '0.1.8'.freeze
2
+ VERSION = '0.2.0'.freeze
3
3
  end
@@ -18,13 +18,12 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = %w(lib)
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.11'
21
+ spec.add_development_dependency 'bundler'
22
22
  spec.add_development_dependency 'rake', '~> 10.0'
23
23
  spec.add_development_dependency 'rspec', '~> 3.0'
24
- spec.add_development_dependency 'rubocop'
25
24
 
26
- spec.add_dependency 'activerecord', '>= 4.2'
27
- spec.add_dependency 'activesupport', '>= 4.2'
25
+ spec.add_dependency 'activerecord', '>= 5.0'
26
+ spec.add_dependency 'activesupport', '>= 5.0'
28
27
  spec.add_dependency 'i18n'
29
28
  spec.add_dependency 'pg'
30
29
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: translateable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Antonyan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-02 00:00:00.000000000 Z
11
+ date: 2019-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.11'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.11'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,48 +52,34 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop
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
55
  - !ruby/object:Gem::Dependency
70
56
  name: activerecord
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: '4.2'
61
+ version: '5.0'
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: '4.2'
68
+ version: '5.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: activesupport
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
88
74
  - !ruby/object:Gem::Version
89
- version: '4.2'
75
+ version: '5.0'
90
76
  type: :runtime
91
77
  prerelease: false
92
78
  version_requirements: !ruby/object:Gem::Requirement
93
79
  requirements:
94
80
  - - ">="
95
81
  - !ruby/object:Gem::Version
96
- version: '4.2'
82
+ version: '5.0'
97
83
  - !ruby/object:Gem::Dependency
98
84
  name: i18n
99
85
  requirement: !ruby/object:Gem::Requirement
@@ -132,7 +118,6 @@ extra_rdoc_files: []
132
118
  files:
133
119
  - ".gitignore"
134
120
  - ".rspec"
135
- - ".rubocop.yml"
136
121
  - ".travis.yml"
137
122
  - CODE_OF_CONDUCT.md
138
123
  - Gemfile
@@ -141,9 +126,9 @@ files:
141
126
  - Rakefile
142
127
  - bin/console
143
128
  - bin/setup
144
- - gemfiles/4.2.gemfile
145
129
  - gemfiles/5.0.gemfile
146
130
  - gemfiles/5.2.gemfile
131
+ - gemfiles/6.0.gemfile
147
132
  - lib/generators/translateable/migration_generator.rb
148
133
  - lib/generators/translateable/templates/migration.rb.erb
149
134
  - lib/translateable.rb
@@ -168,8 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
153
  - !ruby/object:Gem::Version
169
154
  version: '0'
170
155
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.3
156
+ rubygems_version: 3.0.3
173
157
  signing_key:
174
158
  specification_version: 4
175
159
  summary: Allows to store text data in different languages.
@@ -1,18 +0,0 @@
1
- Style/Documentation:
2
- Enabled: false
3
-
4
- Metrics/LineLength:
5
- Max: 162
6
-
7
- Style/Lambda:
8
- Enabled: false
9
-
10
- Style/FrozenStringLiteralComment:
11
- Enabled: false
12
-
13
- Style/PercentLiteralDelimiters:
14
- Enabled: false
15
-
16
- Metrics/BlockLength:
17
- Exclude:
18
- - 'spec/**/*'
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'activerecord', '~> 4.2.0'
4
- gem 'activesupport', '~> 4.2.0'
5
- gem 'pg', '~> 0.21'
6
-
7
- gemspec path: '../'