railjet 1.0.1 → 2.0.pre

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2589b9af1a383b92da0c3aff67d6ac361fc51fcf
4
- data.tar.gz: fe64333bca9ae67477de220278f2fb940903ef1b
3
+ metadata.gz: b64593e5bffd2ea6b843a49c9450aa1317e0441e
4
+ data.tar.gz: fae9a51b5b4a8570630914aa2eecd2f3fa6ac604
5
5
  SHA512:
6
- metadata.gz: f9892bc4c813cf15d1f7d9b313cd06f535901fc1be87c4528e2296916d7a0cb716d1cdd52750175ad0adef42281737b43db49a2791406239dd6caaaef4afbddf
7
- data.tar.gz: ba0849ad2d77f54bc19c8dcb6474f161036f2227ab858207a90115fe1590f6ca584e4d5ddf918282a6ad8e317e87f1af6982c6101d3ebbe3d7b7c61e8ed387eb
6
+ metadata.gz: d62aa6add7ec2127851375f53d54532aa02e197fbf93704458ae248c663c5d328db6f1aab726584bbfdaa4a54272bc417a44f7975abf1fea3090c2725520a129
7
+ data.tar.gz: c7df7c2b072fb6aa20869d7f61d129d09bbffe428b776071338853f9ca3af1cf3afb7f0a6a06eb85e0385d8463b2deb79537e921ffffa3e6b3cb90322af202bd
data/Gemfile.lock CHANGED
@@ -1,78 +1,75 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- railjet (1.0.1)
5
- activemodel (~> 4.2)
6
- activesupport (~> 4.2)
7
- validates_timeliness (~> 3.0.15)
4
+ railjet (2.0.pre)
5
+ activemodel (> 4)
6
+ activesupport (> 4)
7
+ validates_timeliness (~> 4.0.2)
8
8
  virtus (~> 1.0.2)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- activemodel (4.2.8)
14
- activesupport (= 4.2.8)
15
- builder (~> 3.1)
16
- activesupport (4.2.8)
13
+ activemodel (5.1.4)
14
+ activesupport (= 5.1.4)
15
+ activesupport (5.1.4)
16
+ concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (~> 0.7)
18
18
  minitest (~> 5.1)
19
- thread_safe (~> 0.3, >= 0.3.4)
20
19
  tzinfo (~> 1.1)
21
20
  axiom-types (0.1.1)
22
21
  descendants_tracker (~> 0.0.4)
23
22
  ice_nine (~> 0.11.0)
24
23
  thread_safe (~> 0.3, >= 0.3.1)
25
- builder (3.2.3)
26
- coderay (1.1.1)
24
+ coderay (1.1.2)
27
25
  coercible (1.0.0)
28
26
  descendants_tracker (~> 0.0.1)
27
+ concurrent-ruby (1.0.5)
29
28
  descendants_tracker (0.0.4)
30
29
  thread_safe (~> 0.3, >= 0.3.1)
31
- diff-lcs (1.2.5)
30
+ diff-lcs (1.3)
32
31
  equalizer (0.0.11)
33
- faraday (0.9.2)
32
+ faraday (0.11.0)
34
33
  multipart-post (>= 1.2, < 3)
35
- gemfury (0.6.0)
36
- faraday (>= 0.9.0, < 0.10.0.pre)
37
- highline (~> 1.6.0)
34
+ gemfury (0.7.0)
35
+ faraday (>= 0.9.0, < 0.12.0.pre)
36
+ highline (~> 1.6)
38
37
  multi_json (~> 1.10)
39
- netrc (~> 0.10.0)
38
+ netrc (>= 0.10.0, < 0.12.0.pre)
40
39
  thor (>= 0.14.0, < 1.0.0.pre)
41
- highline (1.6.21)
42
- i18n (0.8.1)
40
+ highline (1.7.8)
41
+ i18n (0.8.6)
43
42
  ice_nine (0.11.2)
44
- method_source (0.8.2)
45
- minitest (5.10.1)
46
- multi_json (1.12.1)
43
+ method_source (0.9.0)
44
+ minitest (5.10.3)
45
+ multi_json (1.12.2)
47
46
  multipart-post (2.0.0)
48
- netrc (0.10.3)
49
- pry (0.10.4)
47
+ netrc (0.11.0)
48
+ pry (0.11.1)
50
49
  coderay (~> 1.1.0)
51
- method_source (~> 0.8.1)
52
- slop (~> 3.4)
50
+ method_source (~> 0.9.0)
53
51
  rake (11.3.0)
54
52
  rake-version (1.0.0)
55
53
  rake (~> 11.1)
56
- rspec (3.4.0)
57
- rspec-core (~> 3.4.0)
58
- rspec-expectations (~> 3.4.0)
59
- rspec-mocks (~> 3.4.0)
60
- rspec-core (3.4.4)
61
- rspec-support (~> 3.4.0)
62
- rspec-expectations (3.4.0)
54
+ rspec (3.6.0)
55
+ rspec-core (~> 3.6.0)
56
+ rspec-expectations (~> 3.6.0)
57
+ rspec-mocks (~> 3.6.0)
58
+ rspec-core (3.6.0)
59
+ rspec-support (~> 3.6.0)
60
+ rspec-expectations (3.6.0)
63
61
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.4.0)
65
- rspec-mocks (3.4.1)
62
+ rspec-support (~> 3.6.0)
63
+ rspec-mocks (3.6.0)
66
64
  diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.4.0)
68
- rspec-support (3.4.1)
69
- slop (3.6.0)
70
- thor (0.19.1)
65
+ rspec-support (~> 3.6.0)
66
+ rspec-support (3.6.0)
67
+ thor (0.20.0)
71
68
  thread_safe (0.3.6)
72
69
  timeliness (0.3.8)
73
- tzinfo (1.2.2)
70
+ tzinfo (1.2.3)
74
71
  thread_safe (~> 0.1)
75
- validates_timeliness (3.0.15)
72
+ validates_timeliness (4.0.2)
76
73
  timeliness (~> 0.3.7)
77
74
  virtus (1.0.5)
78
75
  axiom-types (~> 0.1)
data/README.md CHANGED
@@ -246,5 +246,5 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
246
246
 
247
247
  ## Contributing
248
248
 
249
- Bug reports and pull requests are welcome on GitHub at https://github.com/nedap/ons-context.
249
+ Bug reports and pull requests are welcome on GitHub at [https://github.com/nedap/railjet](https://github.com/nedap/railjet).
250
250
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 2.0.pre
data/lib/railjet.rb CHANGED
@@ -21,6 +21,10 @@ module Railjet
21
21
  def error_messages
22
22
  errors.try(:messages)
23
23
  end
24
+
25
+ def to_s
26
+ error_messages
27
+ end
24
28
  end
25
29
 
26
30
  FormError = Class.new(ValidationError)
@@ -42,5 +46,5 @@ require "railjet/use_case"
42
46
 
43
47
  require "railjet/repository/registry"
44
48
  require "railjet/repository"
45
-
46
- require "railjet/railtie" if defined?(Rails)
49
+ require "railjet/repository/active_record"
50
+ require "railjet/repository/redis"
data/lib/railjet/form.rb CHANGED
@@ -3,8 +3,8 @@ module Railjet
3
3
  extend ::ActiveSupport::Concern
4
4
  include Railjet::Validator
5
5
 
6
- def validate!
7
- valid? || (raise Railjet::FormError.new(errors) )
6
+ included do
7
+ const_set(:Error, Class.new(Railjet::FormError))
8
8
  end
9
9
  end
10
10
  end
@@ -3,15 +3,15 @@ module Railjet
3
3
  extend ::ActiveSupport::Concern
4
4
  include Railjet::Validator
5
5
 
6
- attr_reader :context, :object
6
+ included do
7
+ const_set(:Error, Class.new(Railjet::PolicyError))
8
+ end
7
9
 
8
10
  def initialize(context, object)
9
11
  @context, @object = context, object
10
12
  end
11
-
12
- def validate!
13
- valid? || (raise Railjet::PolicyError.new(errors) )
14
- end
13
+
14
+ attr_reader :context, :object
15
15
 
16
16
  module ClassMethods
17
17
  def context(*context_members)
@@ -1,34 +1,39 @@
1
- require "railjet/repository/active_record"
2
- require "railjet/repository/cupido"
3
-
4
1
  module Railjet
5
2
  module Repository
6
- extend ::ActiveSupport::Concern
7
-
8
3
  attr_reader :registry
9
4
  delegate :settings, to: :registry
10
5
 
11
- attr_reader :record_dao, :cupido_dao
12
-
13
- def initialize(registry, record: nil, cupido: nil)
6
+ def initialize(registry, **kwargs)
14
7
  @registry = registry
15
-
16
- @record_dao = record
17
- @cupido_dao = cupido
8
+ initialize_specific_repositories(**kwargs)
18
9
  end
19
10
 
20
11
  private
21
12
 
22
- def record
23
- if self.class.const_defined?("ActiveRecordRepository")
24
- @record ||= self.class::ActiveRecordRepository.new(registry, record_dao)
13
+ def repositories
14
+ klass = self.class
15
+ inner_klasses = klass.constants
16
+ inner_repos = inner_klasses.select { |k| k.to_s.end_with?("Repository") }
17
+
18
+ inner_repos.map do |k|
19
+ klass.const_get(k)
25
20
  end
26
21
  end
27
22
 
28
- def cupido
29
- if self.class.const_defined?("CupidoRepository")
30
- @cupido ||= self.class::CupidoRepository.new(registry, cupido_dao)
23
+ def initialize_specific_repositories(**kwargs)
24
+ repositories.each do |repo|
25
+ initialize_repository(repo, **kwargs)
31
26
  end
32
27
  end
28
+
29
+ private
30
+
31
+ def initialize_repository(repository, **kwargs)
32
+ ivar = "@#{repository.type}"
33
+ dao = kwargs[repository.type]
34
+
35
+ instance_variable_set(ivar, repository.new(registry, dao: dao))
36
+ self.class.send :attr_reader, repository.type
37
+ end
33
38
  end
34
39
  end
@@ -1,53 +1,48 @@
1
+ require_relative "generic"
2
+
1
3
  module Railjet
2
4
  module Repository
3
- module ActiveRecord
4
- extend ::ActiveSupport::Concern
5
-
6
- included do
7
- attr_reader :registry, :record
8
- end
9
-
10
- def initialize(registry, record = nil)
11
- @registry = registry
12
- @record = record
13
- end
5
+ class ActiveRecord < Generic
6
+ self.type = :record
14
7
 
15
- def all
16
- record.all
17
- end
8
+ module RepositoryMethods
9
+ def all
10
+ record.all
11
+ end
18
12
 
19
- def find_by_ids(ids)
20
- record.where(id: ids)
21
- end
13
+ def find_by_ids(ids)
14
+ record.where(id: ids)
15
+ end
22
16
 
23
- def build(args = {}, &block)
24
- record.new(args, &block)
25
- end
17
+ def build(args = {}, &block)
18
+ record.new(args, &block)
19
+ end
26
20
 
27
- def duplicate(object, args = {})
28
- object.dup.tap do |new_object|
29
- new_object.assign_attributes(args) if args.present?
30
- yield(new_object) if block_given?
21
+ def duplicate(object, args = {})
22
+ object.dup.tap do |new_object|
23
+ new_object.assign_attributes(args) if args.present?
24
+ yield(new_object) if block_given?
25
+ end
31
26
  end
32
- end
33
27
 
34
- def persist(object)
35
- object.save!
36
- end
28
+ def persist(object)
29
+ object.save!
30
+ end
37
31
 
38
- def destroy(object)
39
- object.destroy!
40
- end
32
+ def destroy(object)
33
+ object.destroy!
34
+ end
41
35
 
42
- def transaction(&block)
43
- record.transaction(&block)
44
- end
36
+ def transaction(&block)
37
+ record.transaction(&block)
38
+ end
45
39
 
46
- private
40
+ private
47
41
 
48
- def query_columns
49
- columns = (record.column_names - [:created_at, :updated_at])
50
- columns.map { |column_name| "#{record.table_name}.#{column_name}" }
42
+ def query_columns
43
+ columns = (record.column_names - [:created_at, :updated_at])
44
+ columns.map { |column_name| "#{record.table_name}.#{column_name}" }
45
+ end
51
46
  end
52
47
  end
53
48
  end
@@ -0,0 +1,51 @@
1
+ module Railjet
2
+ module Repository
3
+ class Generic < Module
4
+ class << self
5
+ def [](dao)
6
+ new(dao)
7
+ end
8
+
9
+ attr_accessor :type
10
+ end
11
+
12
+ def initialize(dao)
13
+ @dao = dao
14
+ @type = self.class.type
15
+ end
16
+
17
+ def included(klass)
18
+ define_dao_accessor(@type, @dao)
19
+ define_type_accessor(klass, @type)
20
+ define_initializer(klass)
21
+
22
+ klass.send :include, self.class::RepositoryMethods
23
+ end
24
+
25
+ private
26
+
27
+ def define_dao_accessor(type, dao)
28
+ define_method type do
29
+ @dao ||= dao.constantize
30
+ end
31
+ end
32
+
33
+ def define_type_accessor(klass, type)
34
+ klass.define_singleton_method(:type) do
35
+ type
36
+ end
37
+ end
38
+
39
+ def define_initializer(klass)
40
+ klass.class_eval do
41
+ attr_reader :registry
42
+
43
+ def initialize(registry, dao: nil)
44
+ @registry = registry
45
+ @dao = dao
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,31 @@
1
+ require_relative "generic"
2
+
3
+ module Railjet
4
+ module Repository
5
+ class Redis < Generic
6
+ self.type = :redis
7
+
8
+ module RepositoryMethods
9
+ def get(key)
10
+ redis.get(key)
11
+ end
12
+
13
+ def set(key, val)
14
+ redis.set(key, val)
15
+ end
16
+
17
+ def exists?(key)
18
+ redis.exists(key)
19
+ end
20
+
21
+ def transaction(&block)
22
+ redis.multi(&block)
23
+ end
24
+
25
+ def pipeline(&block)
26
+ redis.pipelined(&block)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -9,8 +9,8 @@ module Railjet
9
9
  @initialized_repositories = {}
10
10
  end
11
11
 
12
- def register(name, repository, **kwargs)
13
- add_to_registry(name, repository, kwargs)
12
+ def register(name, repository)
13
+ add_to_registry(name, repository)
14
14
  define_accessor(name)
15
15
  end
16
16
 
@@ -36,12 +36,9 @@ module Railjet
36
36
  @registry_module = nil
37
37
  end
38
38
 
39
- def add_to_registry(name, repository, args = {})
39
+ def add_to_registry(name, repository)
40
40
  initialized_repositories[name] = nil
41
- repositories[name] = {
42
- repository: repository,
43
- args: args
44
- }
41
+ repositories[name] = repository
45
42
  end
46
43
 
47
44
  def get_from_registry(name)
@@ -49,13 +46,7 @@ module Railjet
49
46
  end
50
47
 
51
48
  def initialize_repo(name)
52
- initialized_repositories[name] ||= begin
53
- repo = get_from_registry(name)
54
- klass = repo[:repository]
55
- args = repo[:args]
56
-
57
- klass.new(self, **args)
58
- end
49
+ initialized_repositories[name] ||= get_from_registry(name).new(self)
59
50
  end
60
51
 
61
52
  def define_accessor(name)
@@ -9,7 +9,7 @@ module Railjet
9
9
  end
10
10
 
11
11
  def validate!
12
- raise NotImplementedError
12
+ valid? || (raise self.class::Error.new(errors))
13
13
  end
14
14
  end
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module Railjet
2
- VERSION = "1.0.1"
2
+ VERSION = "2.0.pre"
3
3
  end
data/railjet.gemspec CHANGED
@@ -26,8 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "gemfury"
27
27
  spec.add_development_dependency "rake-version", "~> 1.0"
28
28
 
29
- spec.add_dependency "activesupport", '~> 4.2'
30
- spec.add_dependency "activemodel", '~> 4.2'
29
+ spec.add_dependency "activesupport", '> 4'
30
+ spec.add_dependency "activemodel", '> 4'
31
31
  spec.add_dependency "virtus", "~> 1.0.2"
32
- spec.add_dependency "validates_timeliness", "~> 3.0.15"
32
+ spec.add_dependency "validates_timeliness", "~> 4.0.2"
33
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railjet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 2.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Krzysztof Zalewski
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-11 00:00:00.000000000 Z
11
+ date: 2017-10-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -98,30 +98,30 @@ dependencies:
98
98
  name: activesupport
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ">"
102
102
  - !ruby/object:Gem::Version
103
- version: '4.2'
103
+ version: '4'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ">"
109
109
  - !ruby/object:Gem::Version
110
- version: '4.2'
110
+ version: '4'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: activemodel
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">"
116
116
  - !ruby/object:Gem::Version
117
- version: '4.2'
117
+ version: '4'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ">"
123
123
  - !ruby/object:Gem::Version
124
- version: '4.2'
124
+ version: '4'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: virtus
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,14 +142,14 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 3.0.15
145
+ version: 4.0.2
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 3.0.15
152
+ version: 4.0.2
153
153
  description: Design patterns for Ruby on Rails
154
154
  email:
155
155
  - zlw.zalewski@gmail.com
@@ -178,7 +178,6 @@ files:
178
178
  - bin/rspec
179
179
  - bin/setup
180
180
  - lib/active_model/merge_errors.rb
181
- - lib/gettext_i18n/translate_attributes.rb
182
181
  - lib/railjet.rb
183
182
  - lib/railjet/auth/ability.rb
184
183
  - lib/railjet/auth/activity.rb
@@ -186,10 +185,10 @@ files:
186
185
  - lib/railjet/context.rb
187
186
  - lib/railjet/form.rb
188
187
  - lib/railjet/policy.rb
189
- - lib/railjet/railtie.rb
190
188
  - lib/railjet/repository.rb
191
189
  - lib/railjet/repository/active_record.rb
192
- - lib/railjet/repository/cupido.rb
190
+ - lib/railjet/repository/generic.rb
191
+ - lib/railjet/repository/redis.rb
193
192
  - lib/railjet/repository/registry.rb
194
193
  - lib/railjet/use_case.rb
195
194
  - lib/railjet/util/form_helper.rb
@@ -197,7 +196,6 @@ files:
197
196
  - lib/railjet/util/use_case_helper.rb
198
197
  - lib/railjet/validator.rb
199
198
  - lib/railjet/version.rb
200
- - lib/tasks/gettext_i18n.rake
201
199
  - railjet.gemspec
202
200
  homepage: https://github.com/nedap/railjet
203
201
  licenses:
@@ -214,9 +212,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
214
212
  version: '0'
215
213
  required_rubygems_version: !ruby/object:Gem::Requirement
216
214
  requirements:
217
- - - ">="
215
+ - - ">"
218
216
  - !ruby/object:Gem::Version
219
- version: '0'
217
+ version: 1.3.1
220
218
  requirements: []
221
219
  rubyforge_project:
222
220
  rubygems_version: 2.6.11
@@ -1,73 +0,0 @@
1
- module GettextI18n
2
- module TranslateAttributes
3
- def self.store_form_attributes(file: "locale/form_attributes.rb")
4
- store_attributes(file, FormAttributesFinder.new)
5
- end
6
-
7
- def self.store_policy_attributes(file: "locale/policy_attributes.rb")
8
- store_attributes(file, PolicyAttributesFinder.new)
9
- end
10
-
11
- private
12
-
13
- def self.store_attributes(file, finder)
14
- File.open(file, 'w') do |f|
15
- f.puts "# DO NOT MODIFY! AUTOMATICALLY GENERATED FILE!"
16
-
17
- finder.find.each do |object, attributes|
18
- f.puts("_('#{object.humanize_class_name}')")
19
-
20
- attributes.each do |attribute|
21
- translation = object.gettext_translation_for_attribute_name(attribute)
22
- f.puts("_('#{translation}')")
23
- end
24
- end
25
-
26
- f.puts "# DO NOT MODIFY! AUTOMATICALLY GENERATED FILE!"
27
- end
28
- rescue
29
- puts "[Error] Attribute extraction failed. Removing incomplete file (#{file})"
30
-
31
- File.delete(file)
32
- raise
33
- end
34
-
35
- class AttributeFinder
36
- def find
37
- ActiveSupport::OrderedHash.new([]).tap do |found|
38
- objects.each do |object|
39
- found[object] = attributes(object)
40
- end
41
- end
42
- end
43
-
44
- private
45
-
46
- def objects
47
- @objects ||= ObjectSpace.each_object(Class).select do |c|
48
- c.included_modules.include?(base_class)
49
- end
50
- end
51
-
52
- def attributes(object)
53
- object.attribute_set.map(&:name).sort
54
- end
55
-
56
- def base_class
57
- raise NotImplementedError
58
- end
59
- end
60
-
61
- class PolicyAttributesFinder < AttributeFinder
62
- def base_class
63
- Railjet::Policy
64
- end
65
- end
66
-
67
- class FormAttributesFinder < AttributeFinder
68
- def base_class
69
- Railjet::Form
70
- end
71
- end
72
- end
73
- end
@@ -1,7 +0,0 @@
1
- module Railjet
2
- class Railtie < Rails::Railtie
3
- rake_tasks do
4
- load 'tasks/gettext_i18n.rake'
5
- end
6
- end
7
- end
@@ -1,34 +0,0 @@
1
- module Railjet
2
- module Repository
3
- module Cupido
4
- extend ::ActiveSupport::Concern
5
-
6
- included do
7
- attr_reader :registry, :cupido
8
- end
9
-
10
- def initialize(registry, cupido = nil)
11
- @registry = registry
12
- @cupido = cupido
13
- end
14
-
15
- def build(args = {})
16
- cupido.new(args)
17
- end
18
-
19
- def persist(object)
20
- cupido.do.create(object)
21
- end
22
-
23
- private
24
-
25
- def for_person(person)
26
- cupido.find.proxy(person.external_id)
27
- end
28
-
29
- def cupido_class(obj)
30
- "Cupido::#{obj.class.name}".constantize
31
- end
32
- end
33
- end
34
- end
@@ -1,36 +0,0 @@
1
- namespace :gettext do
2
- def files_to_translate
3
- Dir.glob("{app,lib,config,locale,gems,engines}/**/*.{rb,erb,haml,slim,rhtml}")
4
- end
5
-
6
- desc "write the form attributes to <locale_path>/form_attributes.rb"
7
- task :store_form_attributes, [:file] => :environment do |t, args|
8
- FastGettext.silence_errors
9
-
10
- require "gettext_i18n/translate_attributes"
11
-
12
- storage_file = args[:file] || "#{locale_path}/form_attributes.rb"
13
- puts "writing form translations to: #{storage_file}"
14
-
15
- GettextI18n::TranslateAttributes.store_form_attributes(file: storage_file)
16
- end
17
-
18
- desc "write the policy attributes to <locale_path>/policy_attributes.rb"
19
- task :store_policy_attributes, [:file] => :environment do |t, args|
20
- args.with_defau
21
- FastGettext.silence_errors
22
-
23
- require "gettext_i18n/translate_attributes"
24
-
25
- storage_file = args[:file] || "#{locale_path}/policy_attributes.rb"
26
- puts "writing form translations to: #{storage_file}"
27
-
28
- GettextI18n::TranslateAttributes.store_policy_attributes(file: storage_file)
29
- end
30
-
31
- desc "write validators (policy & form) attributes"
32
- task :store_attributes, [:form_file, :policy_file] => :environment do |t, args|
33
- Rake::Task["gettext:store_form_attributes", args[:form_file]].invoke
34
- Rake::Task["gettext:store_policy_attributes", args[:policy_file]].invoke
35
- end
36
- end