railjet 1.0.1 → 2.0.pre
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 +4 -4
- data/Gemfile.lock +38 -41
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/railjet.rb +6 -2
- data/lib/railjet/form.rb +2 -2
- data/lib/railjet/policy.rb +5 -5
- data/lib/railjet/repository.rb +22 -17
- data/lib/railjet/repository/active_record.rb +33 -38
- data/lib/railjet/repository/generic.rb +51 -0
- data/lib/railjet/repository/redis.rb +31 -0
- data/lib/railjet/repository/registry.rb +5 -14
- data/lib/railjet/validator.rb +1 -1
- data/lib/railjet/version.rb +1 -1
- data/railjet.gemspec +3 -3
- metadata +16 -18
- data/lib/gettext_i18n/translate_attributes.rb +0 -73
- data/lib/railjet/railtie.rb +0 -7
- data/lib/railjet/repository/cupido.rb +0 -34
- data/lib/tasks/gettext_i18n.rake +0 -36
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b64593e5bffd2ea6b843a49c9450aa1317e0441e
|
|
4
|
+
data.tar.gz: fae9a51b5b4a8570630914aa2eecd2f3fa6ac604
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 (
|
|
5
|
-
activemodel (
|
|
6
|
-
activesupport (
|
|
7
|
-
validates_timeliness (~>
|
|
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 (
|
|
14
|
-
activesupport (=
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
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.
|
|
30
|
+
diff-lcs (1.3)
|
|
32
31
|
equalizer (0.0.11)
|
|
33
|
-
faraday (0.
|
|
32
|
+
faraday (0.11.0)
|
|
34
33
|
multipart-post (>= 1.2, < 3)
|
|
35
|
-
gemfury (0.
|
|
36
|
-
faraday (>= 0.9.0, < 0.
|
|
37
|
-
highline (~> 1.6
|
|
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 (
|
|
38
|
+
netrc (>= 0.10.0, < 0.12.0.pre)
|
|
40
39
|
thor (>= 0.14.0, < 1.0.0.pre)
|
|
41
|
-
highline (1.
|
|
42
|
-
i18n (0.8.
|
|
40
|
+
highline (1.7.8)
|
|
41
|
+
i18n (0.8.6)
|
|
43
42
|
ice_nine (0.11.2)
|
|
44
|
-
method_source (0.
|
|
45
|
-
minitest (5.10.
|
|
46
|
-
multi_json (1.12.
|
|
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.
|
|
49
|
-
pry (0.
|
|
47
|
+
netrc (0.11.0)
|
|
48
|
+
pry (0.11.1)
|
|
50
49
|
coderay (~> 1.1.0)
|
|
51
|
-
method_source (~> 0.
|
|
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.
|
|
57
|
-
rspec-core (~> 3.
|
|
58
|
-
rspec-expectations (~> 3.
|
|
59
|
-
rspec-mocks (~> 3.
|
|
60
|
-
rspec-core (3.
|
|
61
|
-
rspec-support (~> 3.
|
|
62
|
-
rspec-expectations (3.
|
|
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.
|
|
65
|
-
rspec-mocks (3.
|
|
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.
|
|
68
|
-
rspec-support (3.
|
|
69
|
-
|
|
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.
|
|
70
|
+
tzinfo (1.2.3)
|
|
74
71
|
thread_safe (~> 0.1)
|
|
75
|
-
validates_timeliness (
|
|
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/
|
|
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
|
+
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/
|
|
49
|
+
require "railjet/repository/active_record"
|
|
50
|
+
require "railjet/repository/redis"
|
data/lib/railjet/form.rb
CHANGED
data/lib/railjet/policy.rb
CHANGED
|
@@ -3,15 +3,15 @@ module Railjet
|
|
|
3
3
|
extend ::ActiveSupport::Concern
|
|
4
4
|
include Railjet::Validator
|
|
5
5
|
|
|
6
|
-
|
|
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
|
-
|
|
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)
|
data/lib/railjet/repository.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
|
23
|
-
|
|
24
|
-
|
|
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
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
4
|
-
|
|
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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
module RepositoryMethods
|
|
9
|
+
def all
|
|
10
|
+
record.all
|
|
11
|
+
end
|
|
18
12
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
def find_by_ids(ids)
|
|
14
|
+
record.where(id: ids)
|
|
15
|
+
end
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
def build(args = {}, &block)
|
|
18
|
+
record.new(args, &block)
|
|
19
|
+
end
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
def persist(object)
|
|
29
|
+
object.save!
|
|
30
|
+
end
|
|
37
31
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
def destroy(object)
|
|
33
|
+
object.destroy!
|
|
34
|
+
end
|
|
41
35
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
def transaction(&block)
|
|
37
|
+
record.transaction(&block)
|
|
38
|
+
end
|
|
45
39
|
|
|
46
|
-
|
|
40
|
+
private
|
|
47
41
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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
|
|
13
|
-
add_to_registry(name, repository
|
|
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
|
|
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] ||=
|
|
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)
|
data/lib/railjet/validator.rb
CHANGED
data/lib/railjet/version.rb
CHANGED
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", '
|
|
30
|
-
spec.add_dependency "activemodel", '
|
|
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", "~>
|
|
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:
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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:
|
|
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/
|
|
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:
|
|
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
|
data/lib/railjet/railtie.rb
DELETED
|
@@ -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
|
data/lib/tasks/gettext_i18n.rake
DELETED
|
@@ -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
|