apidae 0.9.14 → 0.9.15

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8cd680f167e5ed779ed8cbf212ed6bf920e2fca
4
- data.tar.gz: f4a9a39f2d7b4639844de54a198aa97273ac640a
3
+ metadata.gz: 89bdda0e07dc726d4b70c073ae22f593ee2965a9
4
+ data.tar.gz: 7d2600b1a6d64a61c915e9bd7863dc2cd5a8d55a
5
5
  SHA512:
6
- metadata.gz: b19dc62d6254687adfe209b0441736a590f73c80539bba1ccdb617f045e9c612caa5e89503aca1f711c63ba19c8b0415efa3c55bf82c5bc4ee05e9c382bc526e
7
- data.tar.gz: cfb71e00838abb97a0d0f8ddd83cabcd17ad4bcc8fce6fa3fbd5da7fa80509cb0f5d74a4b71c5931a55e07303ab29af51f9fd84d10327d0e56c988d0164a7fb0
6
+ metadata.gz: 284aafe30129b821731551b6823a6063f316420ab11afa39af83f8340c36a8f424864ceac9862486e366268d2a6205ada486d1660f71dc6c3fc202d06c0198d9
7
+ data.tar.gz: c0b00e51b7f6498a307caafd0ee3e4da5d1f637b6fa11d2c3c44154b5d05db6bb427149ebbbaa86942298653f47cc9b558f1017508c082d849b5cc4ba23b129d
@@ -1,6 +1,5 @@
1
1
  module Apidae
2
2
  class Obj < ActiveRecord::Base
3
- prepend OverriddenFields
4
3
 
5
4
  belongs_to :town, class_name: 'Apidae::Town', foreign_key: :town_insee_code, primary_key: :insee_code, optional: true
6
5
  has_many :apidae_selection_objects, class_name: 'Apidae::SelectionObject', foreign_key: :apidae_object_id
@@ -24,6 +23,23 @@ module Apidae
24
23
  store_accessor :booking_data, :booking_desc, :booking_entities
25
24
  store_accessor :tags_data, :promo, :internal, :linked
26
25
 
26
+ LOCALIZED_FIELDS.each do |f|
27
+ alias_method :"#{f}_hash", :"#{f}"
28
+ alias_method :"#{f}_hash=", :"#{f}="
29
+
30
+ define_method "#{f}=" do |val|
31
+ ref_obj = @obj_version == DEFAULT_VERSION ? self : in_version(@obj_version)
32
+ field_hash = ref_obj.send(:"#{f}_hash")
33
+ ref_obj.send(:"#{f}_hash=", field_hash.merge(@locale => val))
34
+ end
35
+
36
+ define_method f do
37
+ ref_obj = @obj_version == DEFAULT_VERSION ? self : in_version(@obj_version)
38
+ field_hash = ref_obj.send(:"#{f}_hash") || {}
39
+ field_hash[@locale] || field_hash[DEFAULT_LOCALE]
40
+ end
41
+ end
42
+
27
43
  ACT = 'ACTIVITE'
28
44
  COS = 'COMMERCE_ET_SERVICE'
29
45
  DEG = 'DEGUSTATION'
@@ -131,7 +147,7 @@ module Apidae
131
147
  type_fields = TYPES_DATA[object_data[:type]]
132
148
  apidae_obj.apidae_type = object_data[:type]
133
149
  apidae_obj.apidae_subtype = node_id(object_data[type_fields[:node]], type_fields[:subtype])
134
- apidae_obj.title = node_value(object_data, :nom, *locales)
150
+ apidae_obj.title_data = parse_title(object_data, *locales)
135
151
  apidae_obj.description_data = parse_desc_data(object_data[:presentation], object_data[:donneesPrivees], *locales)
136
152
  apidae_obj.contact = contact(object_data[:informations])
137
153
  apidae_obj.location_data = parse_location_data(object_data[:localisation], object_data[type_fields[:node]],
@@ -168,6 +184,10 @@ module Apidae
168
184
  data_hash.keep_if {|k, v| !v.blank?}
169
185
  end
170
186
 
187
+ def self.parse_title(data_hash, *locales)
188
+ {title: node_value(data_hash, :nom, *locales)}
189
+ end
190
+
171
191
  def self.parse_desc_data(data_hash, private_data, *locales)
172
192
  unless data_hash.blank?
173
193
  {
@@ -1,3 +1,3 @@
1
1
  module Apidae
2
- VERSION = "0.9.14"
2
+ VERSION = "0.9.15"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apidae
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.14
4
+ version: 0.9.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean-Baptiste Vilain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-30 00:00:00.000000000 Z
11
+ date: 2019-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -99,7 +99,6 @@ files:
99
99
  - app/models/apidae/export.rb
100
100
  - app/models/apidae/file_import.rb
101
101
  - app/models/apidae/obj.rb
102
- - app/models/apidae/overridden_fields.rb
103
102
  - app/models/apidae/project.rb
104
103
  - app/models/apidae/reference.rb
105
104
  - app/models/apidae/selection.rb
@@ -1,18 +0,0 @@
1
- module Apidae
2
- module OverriddenFields
3
-
4
- # Note : add non-localized fields that can be overridden in aspects (openings, rates etc...)
5
- LOCALIZED_FIELDS.each do |f|
6
- define_method f do
7
- if @obj_version == DEFAULT_VERSION
8
- val = (super() || {})[@locale]
9
- val ||= (super() || {})[DEFAULT_LOCALE] if root_obj_id.nil?
10
- val
11
- else
12
- v = in_version(@obj_version)
13
- v ? (v.in_locale(@locale).send(f) || super()[@locale]) : super()[@locale]
14
- end
15
- end
16
- end
17
- end
18
- end