sp-duh 2.0.6
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 +7 -0
- data/LICENSE +661 -0
- data/README.md +2 -0
- data/Rakefile +32 -0
- data/config/i18n/i18n.xlsx +0 -0
- data/config/initializers/active_record/connection_adapters_postgre_sql_adapter.rb +165 -0
- data/config/initializers/active_record/migration_without_transaction.rb +4 -0
- data/config/initializers/active_record/migrator.rb +34 -0
- data/config/initializers/rails/generators.rb +13 -0
- data/config/jsonapi/settings.yml +14 -0
- data/config/locales/pt.yml +15 -0
- data/lib/generators/accounting_migration/accounting_migration_generator.rb +10 -0
- data/lib/generators/accounting_migration/templates/migration.rb +42 -0
- data/lib/generators/accounting_payroll_migration/accounting_payroll_migration_generator.rb +10 -0
- data/lib/generators/accounting_payroll_migration/templates/migration.rb +73 -0
- data/lib/generators/sharded_migration/sharded_migration_generator.rb +10 -0
- data/lib/generators/sharded_migration/templates/migration.rb +45 -0
- data/lib/sp-duh.rb +32 -0
- data/lib/sp/duh.rb +180 -0
- data/lib/sp/duh/adapters/pg/text_decoder/json.rb +15 -0
- data/lib/sp/duh/adapters/pg/text_encoder/json.rb +15 -0
- data/lib/sp/duh/db/transfer/backup.rb +71 -0
- data/lib/sp/duh/db/transfer/restore.rb +89 -0
- data/lib/sp/duh/engine.rb +35 -0
- data/lib/sp/duh/exceptions.rb +70 -0
- data/lib/sp/duh/i18n/excel_loader.rb +26 -0
- data/lib/sp/duh/jsonapi/adapters/base.rb +168 -0
- data/lib/sp/duh/jsonapi/adapters/db.rb +36 -0
- data/lib/sp/duh/jsonapi/adapters/raw_db.rb +77 -0
- data/lib/sp/duh/jsonapi/configuration.rb +167 -0
- data/lib/sp/duh/jsonapi/doc/apidoc_documentation_format_generator.rb +286 -0
- data/lib/sp/duh/jsonapi/doc/generator.rb +32 -0
- data/lib/sp/duh/jsonapi/doc/schema_catalog_helper.rb +97 -0
- data/lib/sp/duh/jsonapi/doc/victor_pinus_metadata_format_parser.rb +374 -0
- data/lib/sp/duh/jsonapi/exceptions.rb +56 -0
- data/lib/sp/duh/jsonapi/model/base.rb +25 -0
- data/lib/sp/duh/jsonapi/model/concerns/attributes.rb +94 -0
- data/lib/sp/duh/jsonapi/model/concerns/model.rb +42 -0
- data/lib/sp/duh/jsonapi/model/concerns/persistence.rb +221 -0
- data/lib/sp/duh/jsonapi/model/concerns/serialization.rb +59 -0
- data/lib/sp/duh/jsonapi/parameters.rb +44 -0
- data/lib/sp/duh/jsonapi/resource_publisher.rb +28 -0
- data/lib/sp/duh/jsonapi/service.rb +110 -0
- data/lib/sp/duh/migrations.rb +47 -0
- data/lib/sp/duh/migrations/migrator.rb +41 -0
- data/lib/sp/duh/repl.rb +193 -0
- data/lib/sp/duh/version.rb +25 -0
- data/lib/tasks/db_utils.rake +98 -0
- data/lib/tasks/doc.rake +27 -0
- data/lib/tasks/i18n.rake +23 -0
- data/lib/tasks/oauth.rake +29 -0
- data/lib/tasks/transfer.rake +48 -0
- data/lib/tasks/xls2jrxml.rake +15 -0
- data/test/jsonapi/server.rb +67 -0
- data/test/tasks/test.rake +10 -0
- metadata +170 -0
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
# Copyright (c) 2011-2017 Cloudware S.A. All rights reserved.
|
3
|
+
#
|
4
|
+
# This file is part of sp-duh.
|
5
|
+
#
|
6
|
+
# sp-duh is free software: you can redistribute it and/or modify
|
7
|
+
# it under the terms of the GNU Affero General Public License as published by
|
8
|
+
# the Free Software Foundation, either version 3 of the License, or
|
9
|
+
# (at your option) any later version.
|
10
|
+
#
|
11
|
+
# sp-duh is distributed in the hope that it will be useful,
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
# GNU General Public License for more details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU Affero General Public License
|
17
|
+
# along with sp-duh. If not, see <http://www.gnu.org/licenses/>.
|
18
|
+
#
|
19
|
+
# encoding: utf-8
|
20
|
+
#
|
21
|
+
module SP
|
22
|
+
module Duh
|
23
|
+
VERSION = File.read(File.expand_path('../../../../VERSION', __FILE__))
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'pg'
|
3
|
+
|
4
|
+
def load_db_from_yml_spec (a_spec)
|
5
|
+
a_spec["folders"].each do |elem|
|
6
|
+
Pathname.glob("#{MOD_PATH}/db/#{elem}/**/").sort.each do |folder|
|
7
|
+
Dir["#{folder}/*.sql"].sort.each do |file|
|
8
|
+
puts "file #{file}"
|
9
|
+
$db.exec( File.read(file) )
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
return if a_spec["execute"].nil?
|
15
|
+
|
16
|
+
a_spec["folders"].each do |folder|
|
17
|
+
next unless a_spec["execute"].has_key?(folder)
|
18
|
+
next unless a_spec["execute"][folder].is_a?(Array)
|
19
|
+
a_spec["execute"][folder].each do |to_execute|
|
20
|
+
puts to_execute
|
21
|
+
$db.exec( "SELECT #{ to_execute};" )
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def load_db_config
|
27
|
+
ENV['RAILS_ENV'] ||= 'development'
|
28
|
+
$db_config = YAML.load_file(File.join('config', 'database.yml'))[ENV['RAILS_ENV']]
|
29
|
+
end
|
30
|
+
|
31
|
+
def connect_to_pg
|
32
|
+
load_db_config()
|
33
|
+
$db = PG.connect(host: $db_config['host'], port: $db_config['port'], dbname: $db_config['database'], user: $db_config['username'], password: $db_config['password'])
|
34
|
+
end
|
35
|
+
|
36
|
+
def config_json_api
|
37
|
+
jsonapi_service = SP::Duh::JSONAPI::Service.new($db, JSONAPI_PREFIX)
|
38
|
+
jsonapi_service.setup()
|
39
|
+
jsonapi_service.configuration.reload!
|
40
|
+
end
|
41
|
+
|
42
|
+
task :pg_connect do
|
43
|
+
$db.close unless $db.nil?
|
44
|
+
connect_to_pg()
|
45
|
+
$db
|
46
|
+
end
|
47
|
+
|
48
|
+
desc 'Reload jsonapi'
|
49
|
+
task :config_jsonapi => :pg_connect do
|
50
|
+
config_json_api()
|
51
|
+
end
|
52
|
+
|
53
|
+
task :production_safety do
|
54
|
+
load_db_config()
|
55
|
+
unless Object.const_defined?('FORBIDDEN_HOSTS')
|
56
|
+
raise "To run this task you must define 'FORBIDDEN_HOSTS' No, you don't know what you are doing!!!!"
|
57
|
+
end
|
58
|
+
if FORBIDDEN_HOSTS.include? %x[hostname -s].strip
|
59
|
+
raise "For safety reasons this task can't be run on this machine, no you don't know what you are doing"
|
60
|
+
end
|
61
|
+
unless %w(localhost tocstaging cloudex 127.0.0.1).include? $db_config['host']
|
62
|
+
raise "For safety reasons database host #{$db_config['host']} is not allowed"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
desc 'Reload GEM functions defined in db_functions.yml (FOR LOCAL GEM ONLY)'
|
67
|
+
task :reload_functions => [:production_safety, :pg_connect] do
|
68
|
+
unless Object.const_defined?('MOD_PATH')
|
69
|
+
raise "To run this task you must define 'MOD_PATH'!"
|
70
|
+
end
|
71
|
+
load_db_from_yml_spec(YAML.load_file(File.join(MOD_PATH, 'config', 'db_functions.yml')))
|
72
|
+
end
|
73
|
+
|
74
|
+
desc 'Create a new database seed using db_seed.yml spec'
|
75
|
+
task :create_db => :production_safety do
|
76
|
+
|
77
|
+
begin
|
78
|
+
connect_to_pg()
|
79
|
+
unless $db.nil?
|
80
|
+
$db.close
|
81
|
+
nuke_db = ask('Are you sure? The current database will be destroyed!!!!') { |q| q.default = 'no' }
|
82
|
+
if nuke_db.downcase == 'yes'
|
83
|
+
%x[dropdb -p #{$db_config['port']} -U #{$db_config['username']} -h #{$db_config['host']} #{$db_config['database']}]
|
84
|
+
raise 'dropdb failed, bailing out' unless $?.success?
|
85
|
+
end
|
86
|
+
end
|
87
|
+
rescue
|
88
|
+
end
|
89
|
+
|
90
|
+
%x[PGPASSWORD=#{$db_config['password']} createdb -h #{$db_config['host']} -U #{$db_config['username']} #{$db_config['database']}]
|
91
|
+
raise 'createdb failed, bailing out' unless $?.success?
|
92
|
+
connect_to_pg()
|
93
|
+
load_db_from_yml_spec(YAML.load_file(File.join(MOD_PATH, 'config', 'db_seed.yml')))
|
94
|
+
load_db_from_yml_spec(YAML.load_file(File.join(MOD_PATH, 'config', 'db_functions.yml')))
|
95
|
+
config_json_api()
|
96
|
+
end
|
97
|
+
|
98
|
+
|
data/lib/tasks/doc.rake
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
namespace :sp do
|
2
|
+
namespace :duh do
|
3
|
+
namespace :jsonapi do
|
4
|
+
namespace :doc do
|
5
|
+
|
6
|
+
desc "Generate (JSONAPI) API documentation"
|
7
|
+
task :generate, [ :publisher, :version, :folder ] => :environment do |task, arguments|
|
8
|
+
|
9
|
+
if arguments[:publisher].nil? || arguments[:version].nil?
|
10
|
+
raise "Usage: rake sp:duh:jsonapi:doc:generate[<resource publisher>,<API version>[,<documentation_folder; default = ./apidoc>]"
|
11
|
+
end
|
12
|
+
|
13
|
+
Rails.logger = Logger.new(STDOUT)
|
14
|
+
|
15
|
+
generator = SP::Duh::JSONAPI::Doc::Generator.new($db || ActiveRecord::Base.connection.raw_connection)
|
16
|
+
if arguments[:folder].nil?
|
17
|
+
generator.generate(arguments[:publisher], arguments[:version])
|
18
|
+
else
|
19
|
+
generator.generate(arguments[:publisher], arguments[:version], arguments[:folder])
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/tasks/i18n.rake
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
namespace :i18n do
|
2
|
+
|
3
|
+
desc "Reload all i18n entries into the database"
|
4
|
+
task :reload => :environment do
|
5
|
+
|
6
|
+
# Can we use the Rails' connection
|
7
|
+
if defined?($db)
|
8
|
+
pg_connection = $db
|
9
|
+
elsif defined?(Rails)
|
10
|
+
pg_connection = ActiveRecord::Base.connection.raw_connection
|
11
|
+
else
|
12
|
+
raise "No connection to Postgres!"
|
13
|
+
end
|
14
|
+
|
15
|
+
# For now, this is the only Excel file we will handle
|
16
|
+
excel_filename = File.join(SP::Duh.root, 'config', 'i18n', 'i18n.xlsx')
|
17
|
+
loader = SP::Duh::I18n::ExcelLoader.new(excel_filename, pg_connection)
|
18
|
+
loader.clear
|
19
|
+
loader.reload
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'redis'
|
2
|
+
|
3
|
+
namespace :sp do
|
4
|
+
namespace :duh do
|
5
|
+
|
6
|
+
desc "Copy OAuth configurations to Redis"
|
7
|
+
task :oauth, [ :root_path ] do |task, args|
|
8
|
+
|
9
|
+
root_path = args.to_hash[:root_path] || '.'
|
10
|
+
redis_config = HashWithIndifferentAccess[YAML.load_file(File.join(root_path, 'config/redis.yml'))]
|
11
|
+
oauth_config = HashWithIndifferentAccess[YAML.load_file(File.join(root_path, 'config/oauth.yml'))]
|
12
|
+
|
13
|
+
redis = Redis.new(:host => redis_config[:casper][:hostname], :port => redis_config[:casper][:port])
|
14
|
+
oauth_config[:'oauth-apps'].each do |service|
|
15
|
+
service['clients'].each do |client|
|
16
|
+
# First, remove old key
|
17
|
+
redis.del "#{service['service_id']}:oauth:#{client['client_id']}"
|
18
|
+
client.each do |key, value|
|
19
|
+
redis.hmset(
|
20
|
+
"#{service['service_id']}:oauth:#{client['client_id']}" ,
|
21
|
+
"#{key}" , "#{value}"
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
namespace :sp do
|
2
|
+
namespace :duh do
|
3
|
+
namespace :transfer do
|
4
|
+
|
5
|
+
desc "Backup a sharded company for restoring to a different database"
|
6
|
+
task :backup, [ :company_id, :backup_file ] => :environment do |task, arguments|
|
7
|
+
|
8
|
+
if arguments[:company_id].nil?
|
9
|
+
raise "Usage: rake sp:duh:transfer:backup[<company_id> [, <backup_file> ]]"
|
10
|
+
end
|
11
|
+
|
12
|
+
company_id = arguments[:company_id].to_i
|
13
|
+
backer = SP::Duh::Db::Transfer::Backup.new(ActiveRecord::Base.connection.raw_connection)
|
14
|
+
backer.execute(company_id, arguments[:backup_file])
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "Restore a sharded company backed up from a different database"
|
19
|
+
task :restore, [ :company_id, :backup_file ] => :environment do |task, arguments|
|
20
|
+
|
21
|
+
if arguments[:company_id].nil? || arguments[:backup_file].nil?
|
22
|
+
raise "Usage: rake sp:duh:transfer:backup[<company_id>, <backup_file>]"
|
23
|
+
end
|
24
|
+
|
25
|
+
company_id = arguments[:company_id].to_i
|
26
|
+
backup_file = arguments[:backup_file].to_s
|
27
|
+
restorer = SP::Duh::Db::Transfer::Restore.new(ActiveRecord::Base.connection.raw_connection)
|
28
|
+
restorer.execute(company_id, backup_file)
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "Validate and get info from a sharded company backup"
|
33
|
+
task :check, [ :company_id, :backup_file ] => :environment do |task, arguments|
|
34
|
+
|
35
|
+
if arguments[:company_id].nil? || arguments[:backup_file].nil?
|
36
|
+
raise "Usage: rake sp:duh:transfer:check[<company_id>, <backup_file>]"
|
37
|
+
end
|
38
|
+
|
39
|
+
company_id = arguments[:company_id].to_i
|
40
|
+
backup_file = arguments[:backup_file].to_s
|
41
|
+
restorer = SP::Duh::Db::Transfer::Restore.new(ActiveRecord::Base.connection.raw_connection)
|
42
|
+
restorer.execute(company_id, backup_file, true)
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
desc 'Convert excel model to JRXML'
|
3
|
+
task :xls2jrxml, [:xls_file] do |task, args|
|
4
|
+
args = args.to_hash()
|
5
|
+
args[:xls_file] = "#{args[:xls_file]}.xlsx" unless args[:xls_file].end_with?('.xlsx')
|
6
|
+
|
7
|
+
jrxml_base = File.basename(args[:xls_file], '.xlsx')
|
8
|
+
Dir.mkdir './tmp' unless Dir.exists?('./tmp')
|
9
|
+
|
10
|
+
converter = ::Sp::Excel::Loader::Jrxml::ExcelToJrxml.new(args[:xls_file], nil, true, true, false)
|
11
|
+
File.rename("#{jrxml_base}.jrxml", "./tmp/#{jrxml_base}_compat.jrxml")
|
12
|
+
|
13
|
+
converter = ::Sp::Excel::Loader::Jrxml::ExcelToJrxml.new(args[:xls_file], nil, true, true, true)
|
14
|
+
File.rename("#{jrxml_base}.jrxml", "./tmp/#{jrxml_base}.jrxml")
|
15
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
require 'sinatra'
|
2
|
+
require 'json'
|
3
|
+
require 'yaml'
|
4
|
+
require 'pg'
|
5
|
+
require 'byebug'
|
6
|
+
|
7
|
+
Bundler.require
|
8
|
+
|
9
|
+
# Load test configuration
|
10
|
+
|
11
|
+
configuration = YAML.load_file(File.join(File.expand_path(File.dirname(__FILE__)), 'config.yml'))
|
12
|
+
|
13
|
+
server_configuration = configuration['server'] || {}
|
14
|
+
test_port = server_configuration['port'] || 9001
|
15
|
+
|
16
|
+
set :logging, true
|
17
|
+
set :port, test_port
|
18
|
+
|
19
|
+
# Open connection to the test database
|
20
|
+
|
21
|
+
pg_configuration = configuration['database'] || {}
|
22
|
+
pg_connection = PG.connect({
|
23
|
+
host: pg_configuration['host'],
|
24
|
+
port: pg_configuration['port'],
|
25
|
+
dbname: pg_configuration['database'],
|
26
|
+
user: pg_configuration['username'],
|
27
|
+
password: pg_configuration['password']
|
28
|
+
})
|
29
|
+
|
30
|
+
# Initialize and configure the test JSONAPI service
|
31
|
+
|
32
|
+
jsonapi_configuration = configuration['jsonapi'] || {}
|
33
|
+
url = jsonapi_configuration['url'] || "http://localhost:#{test_port}"
|
34
|
+
|
35
|
+
# The testing environment will include all JSONAPI resources defined for the given url
|
36
|
+
# No reloading of resources is done, since this gem does not know which publishers are available
|
37
|
+
jsonapi_service = SP::Duh::JSONAPI::Service.new(pg_connection, url)
|
38
|
+
$jsonapi_adapter = SP::Duh::JSONAPI::Adapters::RawDb.new(jsonapi_service)
|
39
|
+
|
40
|
+
get '/*' do
|
41
|
+
process_request
|
42
|
+
end
|
43
|
+
|
44
|
+
post '/*' do
|
45
|
+
process_request
|
46
|
+
end
|
47
|
+
|
48
|
+
put '/*' do
|
49
|
+
process_request
|
50
|
+
end
|
51
|
+
|
52
|
+
patch '/*' do
|
53
|
+
process_request
|
54
|
+
end
|
55
|
+
|
56
|
+
delete '/*' do
|
57
|
+
process_request
|
58
|
+
end
|
59
|
+
|
60
|
+
def process_request
|
61
|
+
content_type 'application/vnd.api+json', :charset => 'utf-8'
|
62
|
+
# Send the sharding parameters in the request headers
|
63
|
+
schema = request.env['HTTP_X_JSONAPI_SCHEMA'] || ''
|
64
|
+
prefix = request.env['HTTP_X_JSONAPI_PREFIX'] || ''
|
65
|
+
$jsonapi_adapter.request(request.fullpath, schema, prefix, request.body.read, request.request_method.upcase)
|
66
|
+
end
|
67
|
+
|
metadata
ADDED
@@ -0,0 +1,170 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: sp-duh
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Jorge Morais
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-12-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: highline
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: sp-excel-loader
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: awesome_print
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.6'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.6'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '8.2'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '8.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.2'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.2'
|
83
|
+
description: Gem to manage JSONAPI requests to a resourceful database
|
84
|
+
email:
|
85
|
+
- jorge.morais@cldware.com
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- LICENSE
|
91
|
+
- README.md
|
92
|
+
- Rakefile
|
93
|
+
- config/i18n/i18n.xlsx
|
94
|
+
- config/initializers/active_record/connection_adapters_postgre_sql_adapter.rb
|
95
|
+
- config/initializers/active_record/migration_without_transaction.rb
|
96
|
+
- config/initializers/active_record/migrator.rb
|
97
|
+
- config/initializers/rails/generators.rb
|
98
|
+
- config/jsonapi/settings.yml
|
99
|
+
- config/locales/pt.yml
|
100
|
+
- lib/generators/accounting_migration/accounting_migration_generator.rb
|
101
|
+
- lib/generators/accounting_migration/templates/migration.rb
|
102
|
+
- lib/generators/accounting_payroll_migration/accounting_payroll_migration_generator.rb
|
103
|
+
- lib/generators/accounting_payroll_migration/templates/migration.rb
|
104
|
+
- lib/generators/sharded_migration/sharded_migration_generator.rb
|
105
|
+
- lib/generators/sharded_migration/templates/migration.rb
|
106
|
+
- lib/sp-duh.rb
|
107
|
+
- lib/sp/duh.rb
|
108
|
+
- lib/sp/duh/adapters/pg/text_decoder/json.rb
|
109
|
+
- lib/sp/duh/adapters/pg/text_encoder/json.rb
|
110
|
+
- lib/sp/duh/db/transfer/backup.rb
|
111
|
+
- lib/sp/duh/db/transfer/restore.rb
|
112
|
+
- lib/sp/duh/engine.rb
|
113
|
+
- lib/sp/duh/exceptions.rb
|
114
|
+
- lib/sp/duh/i18n/excel_loader.rb
|
115
|
+
- lib/sp/duh/jsonapi/adapters/base.rb
|
116
|
+
- lib/sp/duh/jsonapi/adapters/db.rb
|
117
|
+
- lib/sp/duh/jsonapi/adapters/raw_db.rb
|
118
|
+
- lib/sp/duh/jsonapi/configuration.rb
|
119
|
+
- lib/sp/duh/jsonapi/doc/apidoc_documentation_format_generator.rb
|
120
|
+
- lib/sp/duh/jsonapi/doc/generator.rb
|
121
|
+
- lib/sp/duh/jsonapi/doc/schema_catalog_helper.rb
|
122
|
+
- lib/sp/duh/jsonapi/doc/victor_pinus_metadata_format_parser.rb
|
123
|
+
- lib/sp/duh/jsonapi/exceptions.rb
|
124
|
+
- lib/sp/duh/jsonapi/model/base.rb
|
125
|
+
- lib/sp/duh/jsonapi/model/concerns/attributes.rb
|
126
|
+
- lib/sp/duh/jsonapi/model/concerns/model.rb
|
127
|
+
- lib/sp/duh/jsonapi/model/concerns/persistence.rb
|
128
|
+
- lib/sp/duh/jsonapi/model/concerns/serialization.rb
|
129
|
+
- lib/sp/duh/jsonapi/parameters.rb
|
130
|
+
- lib/sp/duh/jsonapi/resource_publisher.rb
|
131
|
+
- lib/sp/duh/jsonapi/service.rb
|
132
|
+
- lib/sp/duh/migrations.rb
|
133
|
+
- lib/sp/duh/migrations/migrator.rb
|
134
|
+
- lib/sp/duh/repl.rb
|
135
|
+
- lib/sp/duh/version.rb
|
136
|
+
- lib/tasks/db_utils.rake
|
137
|
+
- lib/tasks/doc.rake
|
138
|
+
- lib/tasks/i18n.rake
|
139
|
+
- lib/tasks/oauth.rake
|
140
|
+
- lib/tasks/transfer.rake
|
141
|
+
- lib/tasks/xls2jrxml.rake
|
142
|
+
- test/jsonapi/server.rb
|
143
|
+
- test/tasks/test.rake
|
144
|
+
homepage: https://github.com/vpfpinho/sp-duh
|
145
|
+
licenses:
|
146
|
+
- AGPL
|
147
|
+
metadata: {}
|
148
|
+
post_install_message:
|
149
|
+
rdoc_options: []
|
150
|
+
require_paths:
|
151
|
+
- lib
|
152
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
153
|
+
requirements:
|
154
|
+
- - ">="
|
155
|
+
- !ruby/object:Gem::Version
|
156
|
+
version: '0'
|
157
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - ">="
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
requirements: []
|
163
|
+
rubyforge_project:
|
164
|
+
rubygems_version: 2.4.8
|
165
|
+
signing_key:
|
166
|
+
specification_version: 4
|
167
|
+
summary: Gem to manage JSONAPI requests to a resourceful database
|
168
|
+
test_files:
|
169
|
+
- test/jsonapi/server.rb
|
170
|
+
- test/tasks/test.rake
|