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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 869cc8c2edc0db69040761a1681fad246c475102f0f69cfde33cf2086ab61a6a
4
- data.tar.gz: c0b6ff2478bd1d863b6990d4ef80b96e2069a5660978f7f43aa8097fe0a1e825
3
+ metadata.gz: 86eb7558363b2ef248adcb708a48c7c4d5c3a615e771571218225ed96f9079bb
4
+ data.tar.gz: f60b1f4edcbf79c70baaa664e585bdb62d1dfdbeb805485d31f642d4b2c88be8
5
5
  SHA512:
6
- metadata.gz: 6d7168dbdfdddb6be0cac06247bf8d1a1a5592dcb0fe163a979c4683682c02369bb2b476f154883264465190904bdc80a4e008f2e7bf6050c0bea5a24807bb03
7
- data.tar.gz: 321cba7017424797ea422ea931f0d30a74d42abe557eaaabc443520899ed2a14b580367610b163601b4ad6af33f19cdc128518bc46ff09cb5327f79b9b4e90f1
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
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Itg
4
- VERSION = "0.1.3"
5
- DATE = "15/2/2024"
4
+ VERSION = "0.1.5"
5
+ DATE = "17/2/2024"
6
6
 
7
7
  def self.version_info
8
8
  "Itg gem v.#{VERSION} #{DATE}"
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.3
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-15 00:00:00.000000000 Z
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