mangusta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: []