fastapi 0.1.11 → 0.1.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fastapi.rb +30 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 47b2122fceeb82a91d839618ae3bdb58b4308b71
|
4
|
+
data.tar.gz: 4882d978213c4e47f095d0cc1d32d82582eb5626
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c631a6dbdc6f193e665712fb6ebf98fe3692a767d9c388d75397a19e733ab146731fb919f4d3ce5a67c73011bb82b3275051a485c67a1071f7a62b525415f25
|
7
|
+
data.tar.gz: f3ed523229b323df69b8d33a563d3ab6adc9d8e1018c9ec1ee3e795598fd81f93d93d864b8fa4ac97a55ac2e23e7516ffd33aaec2fb88e9811b82e573546a496
|
data/lib/fastapi.rb
CHANGED
@@ -689,10 +689,26 @@ class FastAPI
|
|
689
689
|
model_lookup = {}
|
690
690
|
|
691
691
|
@model.fastapi_fields.each do |field|
|
692
|
+
|
692
693
|
if @model.reflect_on_all_associations(:belongs_to).map(&:name).include? field
|
693
|
-
|
694
|
-
|
695
|
-
|
694
|
+
|
695
|
+
class_name = @model.reflect_on_association(field).options[:class_name]
|
696
|
+
|
697
|
+
if class_name.nil?
|
698
|
+
|
699
|
+
model = field.to_s.classify.constantize
|
700
|
+
model_lookup[field] = model
|
701
|
+
belongs << {model: model, alias: field}
|
702
|
+
|
703
|
+
else
|
704
|
+
|
705
|
+
model = class_name.constantize
|
706
|
+
model_lookup[field] = model
|
707
|
+
|
708
|
+
belongs << {model: model, alias: field}
|
709
|
+
|
710
|
+
end
|
711
|
+
|
696
712
|
elsif @model.reflect_on_all_associations(:has_many).map(&:name).include? field
|
697
713
|
model = field.to_s.singularize.classify.constantize
|
698
714
|
model_lookup[field] = model
|
@@ -700,6 +716,7 @@ class FastAPI
|
|
700
716
|
elsif @model.column_names.include? field.to_s
|
701
717
|
fields << field
|
702
718
|
end
|
719
|
+
|
703
720
|
end
|
704
721
|
|
705
722
|
self_string = @model.to_s.tableize.singularize
|
@@ -725,16 +742,18 @@ class FastAPI
|
|
725
742
|
end
|
726
743
|
|
727
744
|
# Belongs fields (1 to 1)
|
728
|
-
belongs.each do |
|
745
|
+
belongs.each do |model_data|
|
729
746
|
|
730
|
-
|
731
|
-
|
747
|
+
model_string_table = model_data[:model].to_s.tableize
|
748
|
+
model_string_table_alias = model_data[:alias].to_s.pluralize
|
749
|
+
|
750
|
+
model_string_field = model_data[:alias].to_s
|
732
751
|
|
733
752
|
# fields
|
734
|
-
model.fastapi_fields_sub.each do |field|
|
753
|
+
model_data[:model].fastapi_fields_sub.each do |field|
|
735
754
|
field_string = field.to_s
|
736
755
|
field_list << [
|
737
|
-
|
756
|
+
model_string_table_alias,
|
738
757
|
'.',
|
739
758
|
field_string,
|
740
759
|
' as ',
|
@@ -748,8 +767,10 @@ class FastAPI
|
|
748
767
|
joins << [
|
749
768
|
'LEFT JOIN',
|
750
769
|
model_string_table,
|
770
|
+
'AS',
|
771
|
+
model_string_table_alias,
|
751
772
|
'ON',
|
752
|
-
|
773
|
+
model_string_table_alias + '.id',
|
753
774
|
'=',
|
754
775
|
self_string_table + '.' + model_string_field + '_id'
|
755
776
|
].join(' ')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Keith Horwood
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|