muruca_widgets 0.2.4 → 0.2.6

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.
Files changed (2) hide show
  1. data/lib/timeline_source.rb +43 -9
  2. metadata +27 -7
@@ -158,31 +158,65 @@ class TimelineSource
158
158
  start_predicate = date_predicate_from_array(original_start_predicate, src)
159
159
  end_predicate = date_predicate_from_array(original_end_predicate, src)
160
160
 
161
+ # we expect to have a TaliaCore::SemanticCollectionWrapper for the dates
162
+ # if it's not the case, we create an array with the single value
163
+ if src[start_predicate].is_a? TaliaCore::SemanticCollectionWrapper
164
+ start_dates = src[start_predicate]
165
+ else
166
+ start_dates = [src[start_predicate]]
167
+ end
168
+
169
+ if src[end_predicate].is_a? TaliaCore::SemanticCollectionWrapper
170
+ end_dates = src[end_predicate]
171
+ else
172
+ end_dates = [src[end_predicate]]
173
+ end
174
+
175
+
161
176
  # Ignore all sources that do not have a timestamp
162
- next if((stamp = src[start_predicate].first).blank?)
177
+ next if((stamp = start_dates.first).blank?)
163
178
  new_event = {}
164
179
 
165
180
  # Fill the start and end date fields
166
181
  dates = process_timestamp(stamp)
167
182
  # Overwrite the second date if we have a predefined "end" field
168
- dates[1] = process_timestamp(src[end_predicate].first).first if(end_predicate) and !src[end_predicate].empty?
183
+ dates[1] = process_timestamp(end_dates.first).first unless end_dates.empty?
169
184
  new_event[:start], new_event[:end] = dates.collect { |d| to_iso8601(d) }
170
185
 
171
186
  update_first_last_year(dates)
172
187
 
173
188
  # Fill the title/description fields
174
- new_event[:title] = src[@options[:title_property]].first || src[N::RDFS.label].first || N::URI.new(src.uri).to_name_s
175
- new_event[:description] = src[@options[:description_property]].first || new_event[:title]
189
+
190
+ if (titles = src[@options[:title_property]]).is_a? TaliaCore::SemanticCollectionWrapper and !titles.empty?
191
+ title = titles.first
192
+ else
193
+ title = titles unless titles.nil?
194
+ title = src[N::RDFS.label].first if title.nil?
195
+ title = N::URI.new(src.uri).to_name_s if title.nil?
196
+ end
197
+
198
+ # src[@options[:title_property]].first || src[N::RDFS.label].first || N::URI.new(src.uri).to_name_s
199
+
200
+ if (descriptions = src[@options[:description_property]]).is_a? TaliaCore::SemanticCollectionWrapper and !descriptions.empty?
201
+ description = descriptions.first
202
+ else
203
+ description = descriptions unless descriptions.nil?
204
+ description = title if description.nil?
205
+ end
206
+
207
+
208
+ new_event[:title] = title
209
+ new_event[:description] = description
176
210
  # new_event['image'] = ''
177
211
  # The link field may either be filled from a property, or with a link to the element itself (default)
178
212
  new_event[:link] = if(@options[:link_property])
179
213
  src[@options[:link_property]].first || ''
180
214
  else
181
- if((uri = src.to_uri).local?)
182
- '/' << uri.local_name
183
- else
184
- uri.to_s
185
- end
215
+ # if((uri = src.to_uri).local?)
216
+ # '/' << uri.local_name
217
+ # else
218
+ src.to_uri.to_s
219
+ # end
186
220
  end
187
221
  # We have a duration event if we have a non-nil end date
188
222
  new_event[:duration_event] = true unless(new_event[:end])
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: muruca_widgets
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 2
8
+ - 6
9
+ version: 0.2.6
5
10
  platform: ruby
6
11
  authors:
7
12
  - Daniel Hahn
@@ -9,10 +14,23 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2010-04-29 00:00:00 +02:00
17
+ date: 2010-11-29 00:00:00 +01:00
13
18
  default_executable:
14
- dependencies: []
15
-
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: json
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 1
29
+ - 1
30
+ - 0
31
+ version: 1.1.0
32
+ type: :runtime
33
+ version_requirements: *id001
16
34
  description: Some additional interface elements to be used on Muruca sites.
17
35
  email: ghub@limitedcreativity.org
18
36
  executables: []
@@ -209,18 +227,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
209
227
  requirements:
210
228
  - - ">="
211
229
  - !ruby/object:Gem::Version
230
+ segments:
231
+ - 0
212
232
  version: "0"
213
- version:
214
233
  required_rubygems_version: !ruby/object:Gem::Requirement
215
234
  requirements:
216
235
  - - ">="
217
236
  - !ruby/object:Gem::Version
237
+ segments:
238
+ - 0
218
239
  version: "0"
219
- version:
220
240
  requirements: []
221
241
 
222
242
  rubyforge_project:
223
- rubygems_version: 1.3.5
243
+ rubygems_version: 1.3.6
224
244
  signing_key:
225
245
  specification_version: 3
226
246
  summary: Additional interface elements for Muruca Sites.