forest_liana 1.0.0.beta5 → 1.0.0.beta6

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.
@@ -4,8 +4,23 @@ module ForestLiana
4
4
  class SerializerFactory
5
5
 
6
6
  def self.define_serializer(active_record_class, serializer)
7
- ForestLiana.const_set("#{active_record_class.name.demodulize}Serializer",
8
- serializer)
7
+ class_name = active_record_class.table_name.classify
8
+ module_name = class_name.deconstantize
9
+
10
+ name = module_name if module_name
11
+ name += class_name.demodulize
12
+
13
+ ForestLiana.const_set("#{name}Serializer", serializer)
14
+ end
15
+
16
+ def self.get_serializer_name(active_record_class)
17
+ class_name = active_record_class.table_name.classify
18
+ module_name = class_name.deconstantize
19
+
20
+ name = module_name if module_name
21
+ name += class_name.demodulize
22
+
23
+ "ForestLiana::#{name}Serializer"
9
24
  end
10
25
 
11
26
  def serializer_for(active_record_class)
@@ -59,7 +59,7 @@ module ForestLiana
59
59
  {
60
60
  field: association.name.to_s,
61
61
  type: get_type_for_association(association),
62
- reference: "#{association.class_name.to_s.tableize}.id",
62
+ reference: "#{association.klass.table_name.dasherize}.id",
63
63
  inverseOf: inverse_of(association)
64
64
  }
65
65
  end
@@ -89,7 +89,7 @@ module ForestLiana
89
89
  if association.options[:polymorphic] == true
90
90
  '*.id'
91
91
  else
92
- "#{association.class_name.to_s.tableize}.id"
92
+ "#{association.klass.table_name.dasherize}.id"
93
93
  end
94
94
  end
95
95
 
@@ -22,7 +22,7 @@ module ForestLiana
22
22
  # serializer to use.
23
23
  JSONAPI::Serializer.class_eval do
24
24
  def self.find_serializer_class_name(obj)
25
- "ForestLiana::#{obj.class.name.demodulize}Serializer"
25
+ SerializerFactory.get_serializer_name(obj.class)
26
26
  end
27
27
  end
28
28
  end
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "1.0.0.beta5"
2
+ VERSION = "1.0.0.beta6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_liana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta5
4
+ version: 1.0.0.beta6
5
5
  prerelease: 6
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-06 00:00:00.000000000 Z
12
+ date: 2015-08-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails