mangusta 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a0d32d01d6f5191b3b692cfc4bba85867a5de70e1f06f78c196432b16d428871
4
+ data.tar.gz: f2e5c89cc582a4ca05263759faea53435ab6aa259895410d030a34c7c3b79a16
5
+ SHA512:
6
+ metadata.gz: f83fb4cc57ba6218819d7c8f581f4add317152742f71e98eb48d9d82e0b5f8f8d52338f90dd59dbb9f845e48ca4f75e6f514bc5f6e60e47a371a4ab85d2089b8
7
+ data.tar.gz: 13a5cbb8e41ab092a79b810c3fc78edca8228392224d0007dd346e7f3ea9b6fdb607119d487c9ed63362fc80091b217d59db276386c7635ebe672f3ce08904e2
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.0
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in mangusta.gemspec
4
+ gemspec
5
+
6
+ gem "rake", "~> 12.0"
7
+ gem "rspec", "~> 3.0"
8
+ gem "mongo", "~> 2.11"
9
+ gem "italian-ruby", "~> 0.1.3"
data/Gemfile.lock ADDED
@@ -0,0 +1,47 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ mangusta (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ bson (4.8.2)
10
+ diff-lcs (1.3)
11
+ italian-ruby (0.1.3)
12
+ ruby2ruby (~> 2.4)
13
+ mongo (2.11.4)
14
+ bson (>= 4.4.2, < 5.0.0)
15
+ rake (12.3.3)
16
+ rspec (3.9.0)
17
+ rspec-core (~> 3.9.0)
18
+ rspec-expectations (~> 3.9.0)
19
+ rspec-mocks (~> 3.9.0)
20
+ rspec-core (3.9.1)
21
+ rspec-support (~> 3.9.1)
22
+ rspec-expectations (3.9.1)
23
+ diff-lcs (>= 1.2.0, < 2.0)
24
+ rspec-support (~> 3.9.0)
25
+ rspec-mocks (3.9.1)
26
+ diff-lcs (>= 1.2.0, < 2.0)
27
+ rspec-support (~> 3.9.0)
28
+ rspec-support (3.9.2)
29
+ ruby2ruby (2.4.4)
30
+ ruby_parser (~> 3.1)
31
+ sexp_processor (~> 4.6)
32
+ ruby_parser (3.14.2)
33
+ sexp_processor (~> 4.9)
34
+ sexp_processor (4.14.1)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ italian-ruby (~> 0.1.3)
41
+ mangusta!
42
+ mongo (~> 2.11)
43
+ rake (~> 12.0)
44
+ rspec (~> 3.0)
45
+
46
+ BUNDLED WITH
47
+ 2.1.4
data/README.md ADDED
@@ -0,0 +1,36 @@
1
+ # Mangusta
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/mangusta`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'mangusta'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle install
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install mangusta
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/mangusta.
36
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ richiedi "mangusta"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,17 @@
1
+ module Mongo
2
+ class Collection
3
+ alias :cerca :find
4
+ alias :inserisci_uno :insert_one
5
+ alias :inserisci_molti :insert_many
6
+ alias :aggiorna_uno :update_one
7
+ alias :aggiorna_molti :update_many
8
+ alias :cancella_uno :delete_one
9
+ alias :cancella_molti :delete_many
10
+
11
+ class View
12
+ alias :primo :first
13
+ alias :prima :first
14
+ alias :lista :entries
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,25 @@
1
+ modulo Mangusta
2
+ modulo Documento
3
+ ##
4
+ # Gestisce un campo di un documento.
5
+ classe Campo
6
+
7
+ accessore :nome
8
+ accessore :valore_iniziale
9
+
10
+ ##
11
+ # Imposta nome e valore iniziale.
12
+ definisci inizializzatore(nome, **attributi)
13
+ se_stesso.nome = nome
14
+ se_stesso.valore_iniziale = attributi.ottieni(:valore_iniziale, nullo)
15
+ fine
16
+
17
+ ##
18
+ # Determina se il campo è stato creato con un valore iniziale.
19
+ definisci ha_valore_iniziale?
20
+ se_stesso.valore_iniziale.esiste?
21
+ fine
22
+
23
+ fine
24
+ fine
25
+ fine
@@ -0,0 +1,124 @@
1
+ modulo Mangusta
2
+ ##
3
+ # Aggiunge funzionalità di gestione di un documento.
4
+ # Includere questo modulo dentro una classe, es.
5
+ #
6
+ # classe Libro
7
+ # includi Mangusta::Documento
8
+ # fine
9
+ #
10
+ # In questo modo sarà possibile definire campi e relazioni, es.
11
+ #
12
+ # classe Libro
13
+ # includi Mangusta::Documento
14
+ #
15
+ # campo :titolo, valore_iniziale: "Il Signore degli Anelli"
16
+ # appartiene_a :autore, classe: "Autore"
17
+ # fine
18
+ #
19
+ # Il metodo di classe `campo` ha come primo argomento obbligatorio il nome del campo,
20
+ # che sarà la chiave del campo inserito nel documento. Il secondo argomento è opzionale,
21
+ # e se viene passata una Mappa con chiave :valore_iniziale, allora quel campo sarà
22
+ # creato con il valore iniziale passato.
23
+ #
24
+ # I metodi di classe `appartiene_a`, `ha_molte`, `ha_e_appartiene_a_molte` (gli ultimi
25
+ # due hanno alias `ha_molti` e `ha_e_appartiene_a_molti`) definiscono delle relazioni.
26
+ #
27
+ modulo Documento
28
+
29
+ ##
30
+ # Inizializzatore di un documento.
31
+ # Si preoccupa di impostare campi ed eventuali valori iniziali.
32
+ definisci inizializzatore(**attributi)
33
+ ritorna se se_stesso.classe.campi.nullo? o se_stesso.classe.campi.vuoto?
34
+
35
+ se_stesso.classe.campi.per_ognuno esegui |campo|
36
+ _inizializza_campo campo
37
+ fine
38
+
39
+ attributi.per_ognuno esegui |nome_campo, valore_campo|
40
+ imposta_valore_campo nome_campo, valore_campo
41
+ fine
42
+
43
+ _genera_nuovo_id se ottieni_valore_campo(:_id).nullo?
44
+ fine
45
+
46
+ ##
47
+ # Recupera i campi definiti.
48
+ definisci campi
49
+ se_stesso.classe.campi || []
50
+ fine
51
+
52
+ ##
53
+ # Recupera il valore di un campo del documento.
54
+ definisci ottieni_valore_campo(nome_campo)
55
+ ottieni_variabile_istanza "@#{nome_campo}"
56
+ fine
57
+
58
+ ##
59
+ # Imposta il valore di un campo del documento.
60
+ definisci imposta_valore_campo(nome_campo, valore_campo)
61
+ imposta_variabile_istanza "@#{nome_campo}", valore_campo
62
+ fine
63
+
64
+ privati
65
+
66
+ ##
67
+ # Imposta il valore iniziale di un campo.
68
+ definisci _inizializza_campo(campo)
69
+ se campo.ha_valore_iniziale?
70
+ imposta_variabile_istanza "@#{campo.nome}", campo.valore_iniziale
71
+ altrimenti
72
+ imposta_variabile_istanza "@#{campo.nome}", nullo
73
+ fine
74
+ fine
75
+
76
+ ##
77
+ # Genera un nuovo id.
78
+ definisci _genera_nuovo_id
79
+ imposta_valore_campo :_id, BSON::ObjectId.new
80
+ fine
81
+
82
+ ##
83
+ # Codice da eseguire quando questo modulo verrà incluso.
84
+ definisci se_stesso.included(classe_documento)
85
+
86
+ classe_documento.class_eval esegui
87
+ classe << se_stesso
88
+ accessore :campi
89
+
90
+ ##
91
+ # Aggiunge metodo di classe `campo` per creare nuovi campi.
92
+ definisci campo(nome, **attributi)
93
+ _memorizza_campo nome, **attributi
94
+ fine
95
+
96
+ privati
97
+
98
+ ##
99
+ # Memorizza un nuovo campo.
100
+ def _memorizza_campo(nome, **attributi)
101
+ se_stesso.campi << Mangusta::Documento::Campo.nuovo(nome, **attributi)
102
+
103
+ definisci_metodo nome esegui
104
+ ottieni_variabile_istanza "@#{nome}"
105
+ fine
106
+
107
+ definisci_metodo "#{nome}=" esegui |valore|
108
+ imposta_variabile_istanza "@#{nome}", valore
109
+ fine
110
+ fine
111
+
112
+ fine
113
+ fine
114
+
115
+ # Aggiunge campo `id` e imposta campi a [].
116
+ classe_documento.class_eval esegui
117
+ se_stesso.campi = []
118
+ _memorizza_campo :_id
119
+ fine
120
+
121
+ fine
122
+
123
+ fine
124
+ fine
@@ -0,0 +1,26 @@
1
+ modulo Mangusta
2
+ modulo Ripostiglio
3
+ classe RisultatoRicerca
4
+
5
+ accessore :parametri_ricerca
6
+
7
+ definisci inizializzatore(collezione, classe_documento, **parametri)
8
+ @collezione = collezione
9
+ @classe_documento = classe_documento
10
+ @parametri_ricerca = parametri
11
+ fine
12
+
13
+ definisci primo
14
+ documento_in_json = @collezione.cerca(**@parametri_ricerca).primo
15
+ Mangusta::Utilità.converti_in_documento documento_in_json, @classe_documento
16
+ fine
17
+
18
+ definisci lista
19
+ @collezione.cerca(**@parametri_ricerca).lista.mappa esegui |documento_in_json|
20
+ Mangusta::Utilità.converti_in_documento documento_in_json, @classe_documento
21
+ fine
22
+ fine
23
+
24
+ fine
25
+ fine
26
+ fine
@@ -0,0 +1,172 @@
1
+ modulo Mangusta
2
+ ##
3
+ # Aggiunge funzionalità di ricerca, creazione, aggiornamento e cancellazione
4
+ # di documenti da una collezione.
5
+ # Includere questo modulo in una classe, es.
6
+ #
7
+ # classe RipostiglioLibri
8
+ # includi Mangusta::Ripostiglio
9
+ # fine
10
+ #
11
+ # In questo modo sarà possibile definire la collezione nella quale si
12
+ # potrà effettuare operazioni, es.
13
+ #
14
+ # classe RipostiglioLibri
15
+ # includi Mangusta::Ripostiglio
16
+ #
17
+ # collezione :libri
18
+ # documento "Libri"
19
+ # fine
20
+ #
21
+ # Nella base dati Mongo verrà utilizzata la collezione `libri`.
22
+ # Verranno aggiunti i seguenti metodi alla classe RipostiglioLibri:
23
+ # - `trova` -> accetta una Mappa come argomento, che rappresenta
24
+ # i parametri di ricerca di un documento nella collezione.
25
+ # - `tutti` -> esegue una ricerca senza filtri (su tutti i documenti
26
+ # della collezione).
27
+ #
28
+ modulo Ripostiglio
29
+
30
+ ##
31
+ # Codice da eseguire quando questo modulo verrà incluso.
32
+ definisci se_stesso.included(classe_documento)
33
+ classe_documento.class_eval esegui
34
+ classe << se_stesso
35
+
36
+ accessore :_collezione
37
+ accessore :_nome_collezione
38
+ accessore :_classe_documento
39
+
40
+ ##
41
+ # Metodo per definire su che collezione agire.
42
+ definisci collezione(nome)
43
+ se_stesso._nome_collezione = nome
44
+ se_stesso._collezione = Mangusta.connessione[nome]
45
+ fine
46
+
47
+ ##
48
+ # Metodo per definire che classe documento usare.
49
+ definisci documento(nome_classe)
50
+ se_stesso._classe_documento = nome_classe
51
+ fine
52
+
53
+ ##
54
+ # Cerca documenti nella collezione.
55
+ definisci cerca(**parametri)
56
+ _risultato_ricerca **parametri
57
+ fine
58
+
59
+ ##
60
+ # Cerca documento per id, e ritorna il primo trovato.
61
+ definisci cerca_per_id(id)
62
+ _risultato_ricerca(_id: BSON::ObjectId(id)).primo
63
+ fine
64
+
65
+ ##
66
+ # Ritorna il primo documento del ripostiglio.
67
+ def primo
68
+ _risultato_ricerca.primo
69
+ fine
70
+
71
+ ##
72
+ # Cerca senza filtri, su tutti i documenti della collezione.
73
+ definisci prendi_tutti
74
+ _risultato_ricerca
75
+ fine
76
+ alias :prendi_tutte :prendi_tutti
77
+
78
+ ##
79
+ # Deposita un documento.
80
+ definisci deposita(documento)
81
+ documento_in_json = Mangusta::Utilità.converti_in_json(documento)
82
+ se_stesso._collezione.inserisci_uno documento_in_json
83
+ documento
84
+ fine
85
+
86
+ ##
87
+ # Deposita molti documenti.
88
+ definisci deposita_molti(documenti)
89
+ alza "L'argomento passato non è una lista" a_meno_che documenti.risponde_a? :mappa
90
+ documenti_in_json = documenti.mappa { |documento| Mangusta::Utilità.converti_in_json(documento) }
91
+ se_stesso._collezione.inserisci_molti documenti_in_json
92
+ documenti
93
+ fine
94
+ alias :deposta_molte :deposita_molti
95
+
96
+ ##
97
+ # Aggiorna un documento.
98
+ definisci aggiorna(documento, **valori_da_aggiornare)
99
+ alza "Il primo argomento deve essere una Stringa o un documento" a_meno_che
100
+ documento.classe == Stringa o documento.risponde_a? :_id
101
+
102
+ id_documento = documento.risponde_a?(:_id) ? documento._id : documento
103
+ id_documento = BSON::ObjectId id_documento
104
+ se_stesso._collezione.aggiorna_uno Mappa[_id: id_documento], Mappa["$set" => valori_da_aggiornare]
105
+ cerca_per_id(id_documento)
106
+ fine
107
+
108
+ ##
109
+ # Aggiorna molti documenti.
110
+ definisci aggiorna_molti(ricerca = Mappa.nuova, **valori_da_aggiornare)
111
+ alza "Il primo argomento deve essere una Mappa o una Lista di documenti" a_meno_che
112
+ ricerca.classe == Mappa o ricerca.risponde_a? :tutti?
113
+
114
+ ricerca_è_una_lista_documenti = no
115
+ se ricerca.classe != Mappa
116
+ ricerca_è_una_lista_documenti = ricerca.tutti? { |documento| documento.risponde_a? :_id }
117
+ alza "Il primo argomento è una Lista, ma non di documenti" a_meno_che ricerca_è_una_lista_documenti
118
+ fine
119
+
120
+ se ricerca_è_una_lista_documenti
121
+ filtro_lista_id_documenti = Mappa["$in": ricerca.mappa(&:_id)]
122
+ ricerca = Mappa[_id: filtro_lista_id_documenti]
123
+ fine
124
+
125
+ risultato_aggiornamento = se_stesso._collezione.aggiorna_molti ricerca,
126
+ Mappa["$set": valori_da_aggiornare]
127
+ risultato_aggiornamento.modified_count
128
+ fine
129
+ alias :aggiorna_molte :aggiorna_molti
130
+
131
+ ##
132
+ # Cancella un documento.
133
+ def cancella(documento)
134
+ alza "Il primo argomento deve essere una stringa o un documento" a_meno_che
135
+ documento.classe == Stringa o documento.risponde_a? :_id
136
+
137
+ id_documento = documento.risponde_a?(:_id) ? documento._id : documento
138
+ id_documento = BSON::ObjectId id_documento
139
+ risultato_cancellazione = se_stesso._collezione.cancella_uno Mappa[_id: id_documento]
140
+ risultato_cancellazione.deleted_count
141
+ fine
142
+
143
+ ##
144
+ # Cancella molti documenti.
145
+ def cancella_molti(documenti)
146
+ risultato_cancellazione = se_stesso._collezione.cancella_uno Mappa[_id: id_documento]
147
+ risultato_cancellazione.deleted_count
148
+ fine
149
+ alias :cancella_molte :cancella_molti
150
+
151
+ ##
152
+ # Cancella tutti i documenti.
153
+ definisci cancella_tutti
154
+ risultato_cancellazione = se_stesso._collezione.cancella_molti
155
+ risultato_cancellazione.deleted_count
156
+ fine
157
+
158
+ privati
159
+
160
+ ##
161
+ # Ritorna un risultato ricerca.
162
+ definisci _risultato_ricerca(**parametri)
163
+ Mangusta::Ripostiglio::RisultatoRicerca.nuovo(
164
+ se_stesso._collezione, se_stesso._classe_documento, **parametri)
165
+ fine
166
+
167
+ fine
168
+ fine
169
+ fine
170
+
171
+ fine
172
+ fine
@@ -0,0 +1,21 @@
1
+ modulo Mangusta
2
+ modulo Utilità
3
+
4
+ definisci se_stessa.converti_in_json(documento)
5
+ ritorna documento se documento.classe == Mappa
6
+ alza "L'oggetto passato non include Mangusta::Documento" a_meno_che documento.risponde_a? :campi
7
+
8
+ documento_convertito = Mappa.nuova
9
+ documento.campi.per_ognuno esegui |campo|
10
+ documento_convertito.deposita campo.nome, documento.ottieni_valore_campo(campo.nome)
11
+ fine
12
+ documento_convertito
13
+ fine
14
+
15
+ definisci se_stessa.converti_in_documento(documento_in_json, classe_documento)
16
+ ritorna nullo se documento_in_json.nullo?
17
+ Object.const_get(classe_documento).nuovo **documento_in_json
18
+ fine
19
+
20
+ fine
21
+ fine
@@ -0,0 +1,3 @@
1
+ modulo Mangusta
2
+ VERSIONE = "0.1.0"
3
+ fine
data/lib/mangusta.ir ADDED
@@ -0,0 +1,25 @@
1
+ require "mongo"
2
+ require_relative "mangusta/core_ext/mongo"
3
+ richiedi_tutti "mangusta"
4
+
5
+ modulo Mangusta
6
+ classe << se_stessa
7
+ accessore :connessione
8
+ accessore :base_dati
9
+ accessore :collezioni
10
+
11
+ definisci connetti(**parametri)
12
+ Mongo::Logger.logger.level = Logger::FATAL
13
+
14
+ alza "Passare le chiavi :indirizzo e :base_dati come argomenti." a_meno_che
15
+ parametri.ha_chiave? :indirizzo e parametri.ha_chiave? :base_dati
16
+
17
+ se_stessa.connessione ||= Mongo::Client.nuovo(
18
+ [ parametri.ottieni(:indirizzo) ],
19
+ database: parametri.ottieni(:base_dati))
20
+
21
+ se_stessa.base_dati = se_stessa.connessione.database
22
+ se_stessa.collezioni = se_stessa.base_dati.collections
23
+ fine
24
+ fine
25
+ fine
data/mangusta.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ require "italian/ruby"
2
+ richiedi_relativo "lib/mangusta/versione"
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "mangusta"
6
+ spec.version = Mangusta::VERSIONE
7
+ spec.authors = ["Francesco Ballardin"]
8
+ spec.email = ["francesco.ballardin@gmail.com"]
9
+
10
+ spec.summary = %q{Simple MongoDB ODM.}
11
+ spec.description = %q{Simple MongoDB ODM. Yay!}
12
+ spec.homepage = "https://github.com/Pluvie/ruby-mangusta"
13
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
14
+
15
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
16
+
17
+ spec.metadata["homepage_uri"] = spec.homepage
18
+ spec.metadata["source_code_uri"] = "https://github.com/Pluvie/ruby-mangusta"
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
24
+ end
25
+ spec.bindir = "exe"
26
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
+ spec.require_paths = ["lib"]
28
+ end
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mangusta
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Francesco Ballardin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-03-29 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Simple MongoDB ODM. Yay!
14
+ email:
15
+ - francesco.ballardin@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".gitignore"
21
+ - ".rspec"
22
+ - ".ruby-version"
23
+ - Gemfile
24
+ - Gemfile.lock
25
+ - README.md
26
+ - Rakefile
27
+ - bin/console
28
+ - bin/setup
29
+ - lib/mangusta.ir
30
+ - lib/mangusta/core_ext/mongo.rb
31
+ - lib/mangusta/documento.ir
32
+ - lib/mangusta/documento/campo.ir
33
+ - lib/mangusta/ripostiglio.ir
34
+ - lib/mangusta/ripostiglio/risultato_ricerca.ir
35
+ - lib/mangusta/utilità/convertitori.ir
36
+ - lib/mangusta/versione.ir
37
+ - mangusta.gemspec
38
+ homepage: https://github.com/Pluvie/ruby-mangusta
39
+ licenses: []
40
+ metadata:
41
+ allowed_push_host: https://rubygems.org
42
+ homepage_uri: https://github.com/Pluvie/ruby-mangusta
43
+ source_code_uri: https://github.com/Pluvie/ruby-mangusta
44
+ post_install_message:
45
+ rdoc_options: []
46
+ require_paths:
47
+ - lib
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 2.3.0
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: '0'
58
+ requirements: []
59
+ rubygems_version: 3.1.2
60
+ signing_key:
61
+ specification_version: 4
62
+ summary: Simple MongoDB ODM.
63
+ test_files: []