sis_core 1.0.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.
Files changed (37) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +24 -0
  5. data/app/controllers/sis/core/application_controller.rb +7 -0
  6. data/app/models/sis/core/applicant.rb +8 -0
  7. data/app/models/sis/core/application_record.rb +7 -0
  8. data/app/models/sis/core/attached_document.rb +8 -0
  9. data/app/models/sis/core/enrollment_application.rb +9 -0
  10. data/app/models/sis/core/field_of_study.rb +9 -0
  11. data/app/models/sis/core/lookup.rb +8 -0
  12. data/app/models/sis/core/program.rb +9 -0
  13. data/app/models/sis/core/program_type.rb +6 -0
  14. data/app/models/user.rb +9 -0
  15. data/config/database.ci.yml +12 -0
  16. data/config/initializers/devise_token_auth.rb +55 -0
  17. data/config/routes.rb +2 -0
  18. data/db/migrate/20200105061717_create_sis_core_lookups.rb +12 -0
  19. data/db/migrate/20200106001016_create_sis_core_field_of_studies.rb +9 -0
  20. data/db/migrate/20200106130428_create_sis_core_programs.rb +10 -0
  21. data/db/migrate/20200106133937_create_sis_core_applicants.rb +13 -0
  22. data/db/migrate/20200108092202_devise_token_auth_create_users.rb +53 -0
  23. data/db/migrate/20200108094449_create_sis_core_enrollment_applications.rb +10 -0
  24. data/db/migrate/20200108101638_create_sis_core_attached_documents.rb +11 -0
  25. data/lib/sis/core/engine.rb +25 -0
  26. data/lib/sis/core/version.rb +5 -0
  27. data/lib/sis/core.rb +4 -0
  28. data/lib/sis_core.rb +2 -0
  29. data/lib/tasks/sis_core_tasks.rake +4 -0
  30. data/spec/factories/sis/core/applicants.rb +9 -0
  31. data/spec/factories/sis/core/attached_documents.rb +7 -0
  32. data/spec/factories/sis/core/enrollment_applications.rb +7 -0
  33. data/spec/factories/sis/core/field_of_studies.rb +6 -0
  34. data/spec/factories/sis/core/lookups.rb +6 -0
  35. data/spec/factories/sis/core/program_types.rb +5 -0
  36. data/spec/factories/sis/core/programs.rb +7 -0
  37. metadata +183 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c29d73de70fc5e92e4a2baf75b7637f66b15f0395472700be1a3e95ed553d199
4
+ data.tar.gz: 229c654db2906234a28159fe5fbe2efac479d1fe35ca5aacdf4922238574bbc9
5
+ SHA512:
6
+ metadata.gz: 7a7f8a28687b32e2a1816c96d6a5292e92a74764a3092ccd892fb045bf3c0ff1f4c07e096b52fc9335117435789fd8e1073090815f4834b3804660bfc8b1e73a
7
+ data.tar.gz: db2706e8aefa17e8c3dedc7fd0cb707d7b2e6d702df06b4279d4e2c88514b00b1ec1b21afdf3e4c20852de25e905cec7fe31caebdd93870b92b4d8f02772d8c6
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2020 Henock L.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,28 @@
1
+ # SisCore
2
+ Short description and motivation.
3
+
4
+ ## Usage
5
+ How to use my plugin.
6
+
7
+ ## Installation
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'sis_core'
12
+ ```
13
+
14
+ And then execute:
15
+ ```bash
16
+ $ bundle
17
+ ```
18
+
19
+ Or install it yourself as:
20
+ ```bash
21
+ $ gem install sis_core
22
+ ```
23
+
24
+ ## Contributing
25
+ Contribution directions go here.
26
+
27
+ ## License
28
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,24 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'SisCore'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+ APP_RAKEFILE = File.expand_path('spec/dummy/Rakefile', __dir__)
18
+ load 'rails/tasks/engine.rake'
19
+
20
+ load 'rails/tasks/statistics.rake'
21
+
22
+ require 'bundler/gem_tasks'
23
+ require 'rspec/core/rake_task'
24
+ RSpec::Core::RakeTask.new(spec: 'app:db:test:prepare')
@@ -0,0 +1,7 @@
1
+ module Sis
2
+ module Core
3
+ class ApplicationController < ActionController::Base
4
+ protect_from_forgery with: :exception
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Sis
2
+ module Core
3
+ class Applicant < ApplicationRecord
4
+ validates :first_name, :middle_name, :last_name, :email, :phone_number, presence: true
5
+ validates :email, uniqueness: true
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Sis
2
+ module Core
3
+ class ApplicationRecord < ActiveRecord::Base
4
+ self.abstract_class = true
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Sis
2
+ module Core
3
+ class AttachedDocument < ApplicationRecord
4
+ validates :document, :document_type, presence: true
5
+ belongs_to :enrollment_application, class_name: 'Sis::Core::EnrollmentApplication'
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ module Sis
2
+ module Core
3
+ class EnrollmentApplication < ApplicationRecord
4
+ validates :status, presence: true
5
+ belongs_to :applicant, class_name: 'Sis::Core::Applicant'
6
+ belongs_to :program, class_name: 'Sis::Core::Program'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Sis
2
+ module Core
3
+ class FieldOfStudy < ApplicationRecord
4
+ belongs_to :program_type, class_name: 'Sis::Core::ProgramType', foreign_key: 'lookup_id'
5
+ validates :name, presence: true
6
+ validates :name, uniqueness: { case_sensitive: true }
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,8 @@
1
+ module Sis
2
+ module Core
3
+ class Lookup < ApplicationRecord
4
+ validates :name, :type, presence: true
5
+ validates :name, uniqueness: { scope: :type }
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,9 @@
1
+ module Sis
2
+ module Core
3
+ class Program < ApplicationRecord
4
+ belongs_to :program_type, class_name: 'Sis::Core::ProgramType', foreign_key: 'lookup_id'
5
+ belongs_to :field_of_study, class_name: 'Sis::Core::FieldOfStudy'
6
+ validates :mode_of_attendance, presence: true
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,6 @@
1
+ module Sis
2
+ module Core
3
+ class ProgramType < Lookup
4
+ end
5
+ end
6
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ class User < ActiveRecord::Base
4
+ # Include default devise modules. Others available are:
5
+ # :confirmable, :lockable, :timeoutable and :omniauthable
6
+ devise :database_authenticatable, :registerable,
7
+ :recoverable, :rememberable, :trackable, :validatable
8
+ include DeviseTokenAuth::Concerns::User
9
+ end
@@ -0,0 +1,12 @@
1
+ default: &default
2
+ adapter: postgresql
3
+ encoding: unicode
4
+ pool: 5
5
+ timeout: 5000
6
+ host: <%= ENV['DB_HOST'] %>
7
+ username: <%= ENV['POSTGRES_USER'] %>
8
+ password: <%= ENV['POSTGRES_PASSWORD'] %>
9
+ database: <%= ENV['POSTGRES_DB'] %>
10
+
11
+ test:
12
+ <<: *default
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ DeviseTokenAuth.setup do |config|
4
+ # By default the authorization headers will change after each request. The
5
+ # client is responsible for keeping track of the changing tokens. Change
6
+ # this to false to prevent the Authorization header from changing after
7
+ # each request.
8
+ # config.change_headers_on_each_request = true
9
+
10
+ # By default, users will need to re-authenticate after 2 weeks. This setting
11
+ # determines how long tokens will remain valid after they are issued.
12
+ # config.token_lifespan = 2.weeks
13
+
14
+ # Limiting the token_cost to just 4 in testing will increase the performance of
15
+ # your test suite dramatically. The possible cost value is within range from 4
16
+ # to 31. It is recommended to not use a value more than 10 in other environments.
17
+ config.token_cost = Rails.env.test? ? 4 : 10
18
+
19
+ # Sets the max number of concurrent devices per user, which is 10 by default.
20
+ # After this limit is reached, the oldest tokens will be removed.
21
+ # config.max_number_of_devices = 10
22
+
23
+ # Sometimes it's necessary to make several requests to the API at the same
24
+ # time. In this case, each request in the batch will need to share the same
25
+ # auth token. This setting determines how far apart the requests can be while
26
+ # still using the same auth token.
27
+ # config.batch_request_buffer_throttle = 5.seconds
28
+
29
+ # This route will be the prefix for all oauth2 redirect callbacks. For
30
+ # example, using the default '/omniauth', the github oauth2 provider will
31
+ # redirect successful authentications to '/omniauth/github/callback'
32
+ # config.omniauth_prefix = "/omniauth"
33
+
34
+ # By default sending current password is not needed for the password update.
35
+ # Uncomment to enforce current_password param to be checked before all
36
+ # attribute updates. Set it to :password if you want it to be checked only if
37
+ # password is updated.
38
+ # config.check_current_password_before_update = :attributes
39
+
40
+ # By default we will use callbacks for single omniauth.
41
+ # It depends on fields like email, provider and uid.
42
+ # config.default_callbacks = true
43
+
44
+ # Makes it possible to change the headers names
45
+ # config.headers_names = {:'access-token' => 'access-token',
46
+ # :'client' => 'client',
47
+ # :'expiry' => 'expiry',
48
+ # :'uid' => 'uid',
49
+ # :'token-type' => 'token-type' }
50
+
51
+ # By default, only Bearer Token authentication is implemented out of the box.
52
+ # If, however, you wish to integrate with legacy Devise authentication, you can
53
+ # do so by enabling this flag. NOTE: This feature is highly experimental!
54
+ # config.enable_standard_devise_support = false
55
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,2 @@
1
+ Sis::Core::Engine.routes.draw do
2
+ end
@@ -0,0 +1,12 @@
1
+ class CreateSisCoreLookups < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_lookups do |t|
4
+ t.string :name, null: false
5
+ t.string :type, null: false
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :sis_core_lookups, %i[name type], unique: true
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ class CreateSisCoreFieldOfStudies < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_field_of_studies do |t|
4
+ t.string :name
5
+ t.references :lookup, index: true, null: false, foreign_key: { to_table: :sis_core_lookups }
6
+ t.timestamps
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSisCorePrograms < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_programs do |t|
4
+ t.string :mode_of_attendance, null: false
5
+ t.references :lookup, index: true, null: false, foreign_key: { to_table: :sis_core_lookups }
6
+ t.references :field_of_study, index: true, null: false, foreign_key: { to_table: :sis_core_field_of_studies }
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ class CreateSisCoreApplicants < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_applicants do |t|
4
+ t.string :first_name, null: false
5
+ t.string :middle_name, null: false
6
+ t.string :last_name, null: false
7
+ t.string :email, null: false, unique: true
8
+ t.string :phone_number, null: false
9
+
10
+ t.timestamps
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,53 @@
1
+ class DeviseTokenAuthCreateUsers < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table(:users) do |t|
4
+ ## Required
5
+ t.string :provider, null: false, default: 'email'
6
+ t.string :uid, null: false, default: ''
7
+
8
+ ## Database authenticatable
9
+ t.string :encrypted_password, null: false, default: ''
10
+
11
+ ## Recoverable
12
+ t.string :reset_password_token
13
+ t.datetime :reset_password_sent_at
14
+ t.boolean :allow_password_change, default: false
15
+
16
+ ## Rememberable
17
+ t.datetime :remember_created_at
18
+
19
+ ## Confirmable
20
+ t.string :confirmation_token
21
+ t.datetime :confirmed_at
22
+ t.datetime :confirmation_sent_at
23
+ t.string :unconfirmed_email # Only if using reconfirmable
24
+ ## Trackable
25
+ t.integer :sign_in_count, default: 0, null: false
26
+ t.datetime :current_sign_in_at
27
+ t.datetime :last_sign_in_at
28
+ t.string :current_sign_in_ip
29
+ t.string :last_sign_in_ip
30
+ ## Lockable
31
+ # t.integer :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts
32
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
33
+ # t.datetime :locked_at
34
+
35
+ ## User Info
36
+ t.string :name
37
+ t.string :nickname
38
+ t.string :image
39
+ t.string :email
40
+
41
+ ## Tokens
42
+ t.text :tokens
43
+
44
+ t.timestamps
45
+ end
46
+
47
+ add_index :users, :email, unique: true
48
+ add_index :users, %i[uid provider], unique: true
49
+ add_index :users, :reset_password_token, unique: true
50
+ add_index :users, :confirmation_token, unique: true
51
+ # add_index :users, :unlock_token, unique: true
52
+ end
53
+ end
@@ -0,0 +1,10 @@
1
+ class CreateSisCoreEnrollmentApplications < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_enrollment_applications do |t|
4
+ t.string :status, null: false
5
+ t.references :applicant, index: true, null: false, foreign_key: { to_table: :sis_core_applicants }
6
+ t.references :program, index: true, null: false, foreign_key: { to_table: :sis_core_programs }
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ class CreateSisCoreAttachedDocuments < ActiveRecord::Migration[6.0]
2
+ def change
3
+ create_table :sis_core_attached_documents do |t|
4
+ t.string :document, null: false
5
+ t.string :document_type, null: false
6
+ t.references :enrollment_application, index: true, null: false,
7
+ foreign_key: { to_table: :sis_core_enrollment_applications }
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,25 @@
1
+ module Sis
2
+ module Core
3
+ class Engine < ::Rails::Engine
4
+ isolate_namespace Sis::Core
5
+
6
+ config.generators.api_only = true
7
+
8
+ config.generators do |g|
9
+ g.test_framework :rspec
10
+ g.fixture_replacement :factory_bot
11
+ g.factory_bot dir: 'spec/factories'
12
+ end
13
+
14
+ initializer 'sis_core.factories', after: 'factory_bot.set_factory_paths' do
15
+ FactoryBot.definition_file_paths << File.expand_path('../../../spec/factories', __dir__) if defined?(FactoryBot)
16
+ end
17
+
18
+ initializer :append_migrations do |app|
19
+ unless app.root.to_s.match(root.to_s + File::SEPARATOR)
20
+ app.config.paths['db/migrate'].concat(config.paths['db/migrate'].expanded)
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,5 @@
1
+ module Sis
2
+ module Core
3
+ VERSION = '1.0.0'.freeze
4
+ end
5
+ end
data/lib/sis/core.rb ADDED
@@ -0,0 +1,4 @@
1
+ module Sis
2
+ module Core
3
+ end
4
+ end
data/lib/sis_core.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'sis/core'
2
+ require 'sis/core/engine'
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :sis_core do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,9 @@
1
+ FactoryBot.define do
2
+ factory :applicant, class: 'Sis::Core::Applicant' do
3
+ first_name { FFaker::Name.name }
4
+ middle_name { FFaker::Name.name }
5
+ last_name { FFaker::Name.name }
6
+ email { FFaker::Internet.email }
7
+ phone_number { FFaker::PhoneNumber.phone_number }
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :attached_document, class: 'Sis::Core::AttachedDocument' do
3
+ document { FFaker::Name.name }
4
+ document_type { FFaker::Name.name }
5
+ association :enrollment_application
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :enrollment_application, class: 'Sis::Core::EnrollmentApplication' do
3
+ status { FFaker::Name.name }
4
+ association :applicant
5
+ association :program
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :field_of_study, class: 'Sis::Core::FieldOfStudy' do
3
+ name { FFaker::Name.name }
4
+ association :program_type
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ FactoryBot.define do
2
+ factory :lookup, class: 'Sis::Core::Lookup' do
3
+ name { FFaker::Name.name }
4
+ type { 'Sis::Core::Lookup' }
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ FactoryBot.define do
2
+ factory :program_type, class: 'Sis::Core::ProgramType', parent: :lookup do
3
+ type { 'Sis::Core::ProgramType' }
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ FactoryBot.define do
2
+ factory :program, class: 'Sis::Core::Program' do
3
+ mode_of_attendance { FFaker::Name.name }
4
+ association :program_type
5
+ association :field_of_study
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,183 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sis_core
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Henock L.
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-03-01 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 6.0.2
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.2.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 6.0.2
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 6.0.2.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: factory_bot_rails
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: ffaker
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rspec-rails
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: shoulda-matchers
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: simplecov
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: '0'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: '0'
103
+ - !ruby/object:Gem::Dependency
104
+ name: sqlite3
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ description: An engine which contains the core of the student information system app
118
+ as a layer.
119
+ email:
120
+ - henockl@live.com
121
+ executables: []
122
+ extensions: []
123
+ extra_rdoc_files: []
124
+ files:
125
+ - MIT-LICENSE
126
+ - README.md
127
+ - Rakefile
128
+ - app/controllers/sis/core/application_controller.rb
129
+ - app/models/sis/core/applicant.rb
130
+ - app/models/sis/core/application_record.rb
131
+ - app/models/sis/core/attached_document.rb
132
+ - app/models/sis/core/enrollment_application.rb
133
+ - app/models/sis/core/field_of_study.rb
134
+ - app/models/sis/core/lookup.rb
135
+ - app/models/sis/core/program.rb
136
+ - app/models/sis/core/program_type.rb
137
+ - app/models/user.rb
138
+ - config/database.ci.yml
139
+ - config/initializers/devise_token_auth.rb
140
+ - config/routes.rb
141
+ - db/migrate/20200105061717_create_sis_core_lookups.rb
142
+ - db/migrate/20200106001016_create_sis_core_field_of_studies.rb
143
+ - db/migrate/20200106130428_create_sis_core_programs.rb
144
+ - db/migrate/20200106133937_create_sis_core_applicants.rb
145
+ - db/migrate/20200108092202_devise_token_auth_create_users.rb
146
+ - db/migrate/20200108094449_create_sis_core_enrollment_applications.rb
147
+ - db/migrate/20200108101638_create_sis_core_attached_documents.rb
148
+ - lib/sis/core.rb
149
+ - lib/sis/core/engine.rb
150
+ - lib/sis/core/version.rb
151
+ - lib/sis_core.rb
152
+ - lib/tasks/sis_core_tasks.rake
153
+ - spec/factories/sis/core/applicants.rb
154
+ - spec/factories/sis/core/attached_documents.rb
155
+ - spec/factories/sis/core/enrollment_applications.rb
156
+ - spec/factories/sis/core/field_of_studies.rb
157
+ - spec/factories/sis/core/lookups.rb
158
+ - spec/factories/sis/core/program_types.rb
159
+ - spec/factories/sis/core/programs.rb
160
+ homepage: http://www.mks.com.et
161
+ licenses:
162
+ - MIT
163
+ metadata: {}
164
+ post_install_message:
165
+ rdoc_options: []
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ required_rubygems_version: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: '0'
178
+ requirements: []
179
+ rubygems_version: 3.1.2
180
+ signing_key:
181
+ specification_version: 4
182
+ summary: Core engine for student information system application.
183
+ test_files: []