marty 0.5.28 → 0.5.29
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 +4 -4
- data/.gitignore +1 -0
- data/app/components/marty/form.rb +0 -2
- data/app/components/marty/main_auth_app.rb +0 -1
- data/app/components/marty/report_form.rb +0 -2
- data/app/components/marty/script_form.rb +0 -3
- data/app/models/marty/api_auth.rb +0 -2
- data/app/models/marty/script.rb +0 -2
- data/app/models/marty/user.rb +0 -3
- data/config/routes.rb +0 -2
- data/db/migrate/001_create_marty_scripts.rb +0 -2
- data/db/migrate/019_create_marty_postings.rb +0 -2
- data/db/migrate/091_create_marty_promises.rb +0 -2
- data/db/migrate/095_create_marty_tags.rb +0 -2
- data/db/migrate/098_create_marty_api_auths.rb +0 -2
- data/lib/marty.rb +10 -14
- data/lib/marty/content_handler.rb +0 -2
- data/lib/marty/data_change.rb +0 -2
- data/lib/marty/data_conversion.rb +0 -2
- data/lib/marty/data_exporter.rb +0 -5
- data/lib/marty/data_importer.rb +0 -3
- data/lib/marty/engine.rb +2 -0
- data/lib/marty/migrations.rb +9 -9
- data/lib/marty/monkey.rb +0 -9
- data/lib/marty/relation.rb +0 -2
- data/lib/marty/version.rb +1 -1
- data/lib/marty/xl.rb +5 -3
- data/marty.gemspec +4 -0
- data/spec/features/jobs_dashboard_spec.rb +1 -1
- data/spec/lib/migrations/vw_marty_postings.sql.expected +2 -1
- data/spec/lib/migrations_spec.rb +4 -1
- data/spec/lib/xl_spec.rb +4 -0
- data/spec/spec_helper.rb +2 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0eb409a0b5479f611d8ee7f84c28ee00198af598
|
4
|
+
data.tar.gz: 938c7c8e7d944f883d212800c6944d80c7382755
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d81bb14296b79c16a5ce0d1b78f85a81d4128210d17b166e87d449aa4dab61a66d1c624584c855a72e6c3fa068dc930d81f86fcfb342224eb44edf4dd891a0b
|
7
|
+
data.tar.gz: 3f58c2706f595e2e0c491c0fedf633f3abf5aa2925623d5d5f3ba30c52f4fa83a3578ef9555f193355dbb1414e6c3f5f38b4d09e775beed0728d2ac0230ed492
|
data/.gitignore
CHANGED
data/app/models/marty/script.rb
CHANGED
data/app/models/marty/user.rb
CHANGED
data/config/routes.rb
CHANGED
data/lib/marty.rb
CHANGED
@@ -1,19 +1,15 @@
|
|
1
1
|
# Do not change order of require, since there are some dependencies
|
2
|
-
#
|
3
|
-
|
2
|
+
#
|
3
|
+
# Do not include anything here that will be properly autoloaded by Rails - This
|
4
|
+
# would be any file that define a properly namespaced module/class as Marty::<filename>
|
5
|
+
# and that don't run code outside of that module/class
|
6
|
+
#
|
7
|
+
# Also note that anything required here will need to require in any classes that
|
8
|
+
# they might be overriding methods in
|
9
|
+
|
4
10
|
require 'marty/engine'
|
5
|
-
require 'marty/
|
11
|
+
require 'marty/railtie'
|
6
12
|
require 'marty/mcfly_query'
|
7
|
-
require 'marty/
|
8
|
-
require 'marty/migrations'
|
9
|
-
require 'marty/data_exporter'
|
10
|
-
require 'marty/xl.rb'
|
11
|
-
require 'marty/data_conversion'
|
12
|
-
require 'marty/data_importer'
|
13
|
-
require 'marty/data_change'
|
14
|
-
require 'marty/relation'
|
13
|
+
require 'marty/monkey'
|
15
14
|
require 'marty/promise_job'
|
16
|
-
require 'marty/promise_proxy'
|
17
|
-
require 'marty/content_handler'
|
18
15
|
require 'marty/lazy_column_loader'
|
19
|
-
require 'marty/version'
|
data/lib/marty/data_change.rb
CHANGED
data/lib/marty/data_exporter.rb
CHANGED
data/lib/marty/data_importer.rb
CHANGED
data/lib/marty/engine.rb
CHANGED
data/lib/marty/migrations.rb
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'digest/md5'
|
2
|
-
|
3
1
|
module Marty::Migrations
|
4
2
|
def tb_prefix
|
5
3
|
"marty_"
|
@@ -73,7 +71,7 @@ module Marty::Migrations
|
|
73
71
|
unique: true)
|
74
72
|
end
|
75
73
|
|
76
|
-
def self.write_view(target_dir, klass, jsons, excludes)
|
74
|
+
def self.write_view(target_dir, target_view, klass, jsons, excludes, extras)
|
77
75
|
colnames = klass.columns_hash.keys
|
78
76
|
user_id_cols = ["user_id", "o_user_id"]
|
79
77
|
excludes += user_id_cols
|
@@ -104,14 +102,16 @@ module Marty::Migrations
|
|
104
102
|
"= #{tn_alias}.id"
|
105
103
|
target_name = c.gsub(/_id$/,'_name')
|
106
104
|
columns.push "#{tn_alias}.name as #{target_name}"
|
105
|
+
extras.select { |(table, column)| table_name == table }.each do
|
106
|
+
|(table, column)|
|
107
|
+
columns.push "#{tn_alias}.#{column} as #{table_name}_#{column}"
|
108
|
+
end
|
107
109
|
else
|
108
110
|
columns.push "main.#{c}"
|
109
111
|
end
|
110
112
|
end
|
111
113
|
end
|
112
|
-
|
113
|
-
file_name = "vw_#{table_name}.sql"
|
114
|
-
File.open(File.join(target_dir,file_name), "w") do |f|
|
114
|
+
File.open(File.join(target_dir, "#{target_view}.sql"), "w") do |f|
|
115
115
|
f.puts <<EOSQL
|
116
116
|
create or replace function f_fixfalse(s text) returns text as $$
|
117
117
|
begin
|
@@ -119,14 +119,14 @@ begin
|
|
119
119
|
end
|
120
120
|
$$ language plpgsql;
|
121
121
|
|
122
|
-
drop view if exists
|
123
|
-
create or replace view
|
122
|
+
drop view if exists #{target_view};
|
123
|
+
create or replace view #{target_view} as
|
124
124
|
select
|
125
125
|
#{columns.join(",\n ")}
|
126
126
|
from #{klass.table_name} main
|
127
127
|
#{joins.join("\n ")};
|
128
128
|
|
129
|
-
grant select on
|
129
|
+
grant select on #{target_view} to public;
|
130
130
|
EOSQL
|
131
131
|
end
|
132
132
|
end
|
data/lib/marty/monkey.rb
CHANGED
@@ -4,15 +4,6 @@
|
|
4
4
|
|
5
5
|
require 'delorean_lang'
|
6
6
|
|
7
|
-
# Very hacky to overwrite delorean's whitelist. But, there's no
|
8
|
-
# better way now.
|
9
|
-
|
10
|
-
Delorean::RUBY_WHITELIST.
|
11
|
-
merge!({
|
12
|
-
})
|
13
|
-
|
14
|
-
######################################################################
|
15
|
-
|
16
7
|
# Be able to access Enums from Delorean
|
17
8
|
class Delorean::BaseModule::BaseClass
|
18
9
|
class << self
|
data/lib/marty/relation.rb
CHANGED
data/lib/marty/version.rb
CHANGED
data/lib/marty/xl.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
require 'axlsx'
|
2
|
-
require 'delorean_lang'
|
3
|
-
|
4
1
|
class Marty::Xl
|
5
2
|
include Delorean::Model
|
6
3
|
|
7
4
|
def self.spreadsheet(worksheets)
|
5
|
+
# hack: axlsx tries to modify its input when sent an empty
|
6
|
+
# array! This fails when we sent it a frozen one => make sure
|
7
|
+
# we sent it an unfozen array.
|
8
|
+
worksheets = [] if worksheets == []
|
9
|
+
|
8
10
|
xl = Marty::Xl.new(worksheets)
|
9
11
|
xl.package
|
10
12
|
end
|
data/marty.gemspec
CHANGED
@@ -16,7 +16,7 @@ describe 'Jobs Dashboard', type: :feature, js: true, capybara: true do
|
|
16
16
|
start_dt: Time.now
|
17
17
|
|
18
18
|
visit "/"
|
19
|
-
all 'span', text: 'Sign in'
|
19
|
+
all 'span', text: 'Sign in', minimum: 1
|
20
20
|
find(ext_button_id('Sign in')).click
|
21
21
|
fill_in 'Login', with: 'marty'
|
22
22
|
fill_in 'Password', with: 'marty'
|
@@ -14,7 +14,8 @@ select
|
|
14
14
|
main.created_dt,
|
15
15
|
main.obsoleted_dt,
|
16
16
|
main.name,
|
17
|
-
marty_posting_types1.name as posting_type_name
|
17
|
+
marty_posting_types1.name as posting_type_name,
|
18
|
+
marty_posting_types1.id as marty_posting_types_id
|
18
19
|
from marty_postings main
|
19
20
|
join marty_users u on main.user_id = u.id
|
20
21
|
left join marty_users ou on main.o_user_id = ou.id
|
data/spec/lib/migrations_spec.rb
CHANGED
@@ -4,7 +4,10 @@ module Marty
|
|
4
4
|
describe "Migrations" do
|
5
5
|
it "writes db views correctly" do
|
6
6
|
tdir = File.dirname(__FILE__) + "/migrations/"
|
7
|
-
Marty::Migrations.write_view(tdir,
|
7
|
+
Marty::Migrations.write_view(tdir,
|
8
|
+
'vw_marty_postings',
|
9
|
+
Marty::Posting, {}, ["comment"],
|
10
|
+
[["marty_posting_types", "id"]])
|
8
11
|
filename = "vw_marty_postings.sql"
|
9
12
|
genfile = File.join(tdir,filename)
|
10
13
|
generated = File.read(genfile)
|
data/spec/lib/xl_spec.rb
CHANGED
@@ -195,4 +195,8 @@ describe Marty::Xl do
|
|
195
195
|
["", "", "", "", "", "text", 72, 4, 75, 6, 78]
|
196
196
|
end
|
197
197
|
|
198
|
+
it "should not raise an exception when given an empty, frozen arg" do
|
199
|
+
data = [].freeze
|
200
|
+
expect { Marty::Xl.spreadsheet(data).to_stream.read }.to_not raise_error
|
201
|
+
end
|
198
202
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: marty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.29
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arman Bostani
|
@@ -14,7 +14,7 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
|
-
date: 2016-02-
|
17
|
+
date: 2016-02-18 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: pg
|
@@ -576,3 +576,4 @@ signing_key:
|
|
576
576
|
specification_version: 4
|
577
577
|
summary: A framework for working with versioned data
|
578
578
|
test_files: []
|
579
|
+
has_rdoc:
|