itg 0.1.3 → 0.1.5
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/.ruby-version +1 -0
- data/lib/itg/itg_model_base.rb +16 -0
- data/lib/itg/itg_mongo_base.rb +109 -0
- data/lib/itg/itg_printable.rb +32 -0
- data/lib/itg/version.rb +2 -2
- data/lib/itg.rb +7 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86eb7558363b2ef248adcb708a48c7c4d5c3a615e771571218225ed96f9079bb
|
4
|
+
data.tar.gz: f60b1f4edcbf79c70baaa664e585bdb62d1dfdbeb805485d31f642d4b2c88be8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43eb1e25ed87c074ea3880120c76f54c667c0fe257e1eb7754ee766525011da14f2b56dd60b7fb063318582e857fab6aed4097d02f4f344af4e8a24693b5f56e
|
7
|
+
data.tar.gz: bad235cb3e0311e5e85deb1780c684387957073edc6fe1bcf462ed907cb98bd0ede53eecb1c78e5cdad82534727fb6dc4444c8bd74c9aa2c1ebeb3e61526da39
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.2.2
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Itg
|
2
|
+
module ModelBase
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
# field :language_code, type: String, default: 'el'
|
7
|
+
#
|
8
|
+
# scope :published, -> { where(published: true)}
|
9
|
+
# # scope :in_context, -> (context) { where(context: context)}
|
10
|
+
# scope :in_context, -> (context) { where(context: /#{context}/)}
|
11
|
+
# scope :for_locale, -> { where(language_code: '*').or(language_code: I18n.locale) }
|
12
|
+
# scope :by_dt_desc, -> { order(updated_at: :desc)}
|
13
|
+
# scope :by_importance, -> { order(importance: :desc)}
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
module Itg
|
2
|
+
module MongoBase
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
include Mongoid::Document
|
7
|
+
include Mongoid::Timestamps
|
8
|
+
include Mongoid::Fields
|
9
|
+
include Itg::Printable
|
10
|
+
|
11
|
+
# def self.udd_item
|
12
|
+
# # puts '[Mongo::Base.udd_item] start...'
|
13
|
+
# unless @udd_item_data
|
14
|
+
# udd_item_name = "model_#{model_name.to_s.underscore}"
|
15
|
+
# @udd_item_data = Udd.get_item(udd_item_name)
|
16
|
+
# if @udd_item_data
|
17
|
+
# @flds = @udd_item_data[:items].map { |k, v| k unless v[:is_field] == false}.compact
|
18
|
+
# @flds_required = @udd_item_data[:items].map { |k, v| k if v[:required] == true }.compact
|
19
|
+
# @sample_pairs = @udd_item_data[:items].map { |k, v| [k, v[:sample_value]] if v[:sample_value] }.compact.to_h
|
20
|
+
# @flds_string = @udd_item_data[:items].map { |k, v| k if v[:kind] == 'string' && v[:is_field] != false }.compact
|
21
|
+
# @flds_boolean = @udd_item_data[:items].map { |k, v| k if v[:kind] == 'boolean' && v[:is_field] != false }.compact
|
22
|
+
# @flds_number = @udd_item_data[:items].map { |k, v| k if v[:kind] == 'number' && v[:is_field] != false }.compact
|
23
|
+
# @flds_date = @udd_item_data[:items].map { |k, v| k if v[:kind] == 'date' && v[:is_field] != false }.compact
|
24
|
+
# @flds_datetime = @udd_item_data[:items].map { |k, v| k if v[:kind] == 'datetime' && v[:is_field] != false }.compact
|
25
|
+
# end
|
26
|
+
# end
|
27
|
+
# @udd_item_data
|
28
|
+
# end
|
29
|
+
#
|
30
|
+
# def self.udd_add_to_model_class(item_arr)
|
31
|
+
# field_name = item_arr.first
|
32
|
+
# item = item_arr.last
|
33
|
+
# return if item[:kind] == 'reference'
|
34
|
+
# # TODO: How can I have access to label and shot it in the form?
|
35
|
+
# # field field_name.to_sym, type: item[:kind].classify.constantize, default: item[:default], label: item[:label]
|
36
|
+
#
|
37
|
+
# # TODO: why the Boolean is not recognised? I have included Mongoid::Fields....
|
38
|
+
# field_type = item[:kind] == 'boolean' ? Mongoid::Boolean : item[:kind].classify.constantize
|
39
|
+
# field field_name.to_sym, type: field_type, default: item[:default]
|
40
|
+
# # field field_name.to_sym, type: Boolean, default: item[:default]
|
41
|
+
# if item[:required] == true
|
42
|
+
# if item[:validates_presence_msg]
|
43
|
+
# validates_presence_of field_name.to_sym, message: I18n.t(item[:validates_presence_msg])
|
44
|
+
# else
|
45
|
+
# validates_presence_of field_name.to_sym
|
46
|
+
# end
|
47
|
+
# end
|
48
|
+
# validates_uniqueness_of field_name.to_sym if item[:unique] == true
|
49
|
+
# end
|
50
|
+
#
|
51
|
+
# def self.add_fields_to_model
|
52
|
+
# udd_item[:items].each(&method(:udd_add_to_model_class))
|
53
|
+
# end
|
54
|
+
#
|
55
|
+
# # cattr_reader :flds, :flds_required, :flds_string, :flds_boolean, :flds_number, :flds_date, :flds_datetime
|
56
|
+
# def self.flds
|
57
|
+
# udd_item
|
58
|
+
# @flds
|
59
|
+
# end
|
60
|
+
#
|
61
|
+
# def self.flds_required
|
62
|
+
# udd_item
|
63
|
+
# @flds_required
|
64
|
+
# end
|
65
|
+
#
|
66
|
+
# def self.sample_pairs
|
67
|
+
# udd_item
|
68
|
+
# @sample_pairs
|
69
|
+
# end
|
70
|
+
#
|
71
|
+
# def self.flds_string
|
72
|
+
# udd_item
|
73
|
+
# @flds_string
|
74
|
+
# end
|
75
|
+
#
|
76
|
+
# def self.flds_boolean
|
77
|
+
# udd_item
|
78
|
+
# @flds_boolean
|
79
|
+
# end
|
80
|
+
#
|
81
|
+
# def self.flds_number
|
82
|
+
# udd_item
|
83
|
+
# @flds_number
|
84
|
+
# end
|
85
|
+
#
|
86
|
+
# def self.flds_date
|
87
|
+
# udd_item
|
88
|
+
# @flds_date
|
89
|
+
# end
|
90
|
+
#
|
91
|
+
# def self.flds_datetime
|
92
|
+
# udd_item
|
93
|
+
# @flds_datetime
|
94
|
+
# end
|
95
|
+
#
|
96
|
+
# def to_s
|
97
|
+
# if (to_string_value = self.class.udd_item[:attrs][:to_string])
|
98
|
+
# if self.respond_to?(to_string_value)
|
99
|
+
# self.send(to_string_value)
|
100
|
+
# else
|
101
|
+
# raise "[Mongo::Base.to_s] there is no '#{to_string_value}' in '#{model_name}'"
|
102
|
+
# end
|
103
|
+
# else
|
104
|
+
# super
|
105
|
+
# end
|
106
|
+
# end
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Printable concern class
|
4
|
+
module Itg
|
5
|
+
module Printable
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
|
8
|
+
included do
|
9
|
+
def itg_print(header: nil, prefix: '', allow_nested: true)
|
10
|
+
puts header if header
|
11
|
+
puts "#{prefix}print item....."
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class_methods do
|
16
|
+
def itg_print_collection(items: nil, prefix: '', header: nil, nested: true)
|
17
|
+
items ||= all
|
18
|
+
header ||= name.pluralize
|
19
|
+
return unless items.count.positive?
|
20
|
+
|
21
|
+
puts "#{prefix}#{header} (#{items.count})"
|
22
|
+
items.each { |item| item.itg_print(prefix: prefix.gsub('-', ' '), allow_nested: nested) }
|
23
|
+
|
24
|
+
puts '' if nested && prefix.empty?
|
25
|
+
end
|
26
|
+
|
27
|
+
def itg_print_db_info
|
28
|
+
puts "Database info: #{[collection_name, database_name, client_name].inspect}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/itg/version.rb
CHANGED
data/lib/itg.rb
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require_relative "itg/version"
|
4
|
+
require_relative "itg/itg_model_base"
|
5
|
+
require_relative "itg/itg_mongo_base"
|
6
|
+
require_relative "itg/itg_printable"
|
7
|
+
require_relative "itg/itg_sec"
|
8
|
+
require_relative "itg/itg_api_key_base"
|
9
|
+
require_relative "itg/itg_api_key_authenticatable"
|
10
|
+
require_relative "itg/itg_response"
|
4
11
|
|
5
12
|
module Itg
|
6
13
|
class Error < StandardError; end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aAon
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -19,6 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- ".rspec"
|
21
21
|
- ".rubocop.yml"
|
22
|
+
- ".ruby-version"
|
22
23
|
- CHANGELOG.md
|
23
24
|
- CODE_OF_CONDUCT.md
|
24
25
|
- LICENSE.txt
|
@@ -26,6 +27,9 @@ files:
|
|
26
27
|
- Rakefile
|
27
28
|
- itg.gemspec
|
28
29
|
- lib/itg.rb
|
30
|
+
- lib/itg/itg_model_base.rb
|
31
|
+
- lib/itg/itg_mongo_base.rb
|
32
|
+
- lib/itg/itg_printable.rb
|
29
33
|
- lib/itg/version.rb
|
30
34
|
- sig/itg.rbs
|
31
35
|
homepage: https://aaon.aggate.gr
|