fastapi 0.1.11 → 0.1.12
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/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
|