labimotion 0.1.18 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
  require 'grape'
3
3
  require 'labimotion/models/segment_klass'
4
- require 'labimotion/utils/utils'
5
-
6
4
  module Labimotion
7
5
  ## ElementHelpers
8
6
  module SegmentHelpers
@@ -28,7 +26,8 @@ module Labimotion
28
26
  attributes = declared(params, include_missing: false)
29
27
  attributes[:properties_template]['uuid'] = uuid if attributes[:properties_template].present?
30
28
  template = (attributes[:properties_template].presence || template)
31
- template['pkg'] = Labimotion::Utils.pkg(template['pkg'])
29
+ template['eln'] = Chemotion::Application.config.version
30
+ template['labimotion'] = Labimotion::VERSION
32
31
  template['klass'] = 'SegmentKlass'
33
32
  attributes.merge!(properties_template: template, element_klass: @klass, created_by: current_user.id,
34
33
  place: place)
@@ -38,7 +37,7 @@ module Labimotion
38
37
  attributes[:properties_release] = attributes[:properties_template]
39
38
  klass = Labimotion::SegmentKlass.create!(attributes)
40
39
  klass.reload
41
- klass.create_klasses_revision(current_user)
40
+ klass.create_klasses_revision(current_user.id)
42
41
  klass
43
42
  rescue StandardError => e
44
43
  Labimotion.log_exception(e, current_user)
@@ -63,11 +62,10 @@ module Labimotion
63
62
  raise e
64
63
  end
65
64
 
66
- def create_repo_klass(params, current_user, origin)
67
- response = Labimotion::TemplateHub.fetch_identifier('SegmentKlass', params[:identifier], origin)
68
- attributes = response.slice('label', 'desc', 'uuid', 'identifier', 'released_at', 'properties_release', 'version')
69
- attributes['properties_release']['identifier'] = attributes['identifier']
70
- attributes['properties_template'] = attributes['properties_release']
65
+ def create_repo_klass(params, current_user)
66
+ response = Labimotion::TemplateHub.fetch_identifier('SegmentKlass', params[:identifier])
67
+ attributes = response.slice('label', 'desc', 'uuid', 'identifier', 'released_at') # .except(:id, :is_active, :place, :created_by, :created_at, :updated_at)
68
+ attributes['properties_template'] = response['properties_release']
71
69
  attributes['place'] = ((Labimotion::SegmentKlass.all.length * 10) || 0) + 10
72
70
  attributes['is_active'] = false
73
71
  attributes['updated_by'] = current_user.id
@@ -75,8 +73,8 @@ module Labimotion
75
73
  attributes['sync_time'] = DateTime.now
76
74
 
77
75
  element_klass = Labimotion::ElementKlass.find_by(identifier: response['element_klass']['identifier'])
78
- element_klass = Labimotion::ElementKlass.find_by(name: response['element_klass']['name'], is_generic: false) if element_klass.nil?
79
- return { status: 'error', message: "The element [#{response['element_klass']['name']}] does not exist in this instance" } if element_klass.nil?
76
+ element_klass = Labimotion::ElementKlass.find_by(name: response['element_klass']['name']) if element_klass.nil?
77
+ return { error: 'ElementKlass not found' } if element_klass.nil?
80
78
 
81
79
  # el_attributes = response['element_klass'].slice('name', 'label', 'desc', 'uuid', 'identifier', 'icon_name', 'klass_prefix', 'is_generic', 'released_at')
82
80
  # el_attributes['properties_template'] = response['element_klass']['properties_release']
@@ -85,23 +83,10 @@ module Labimotion
85
83
  attributes['element_klass_id'] = element_klass.id
86
84
  segment_klass = Labimotion::SegmentKlass.find_by(identifier: attributes['identifier'])
87
85
  if segment_klass.present?
88
- if segment_klass['uuid'] == attributes['uuid'] && segment_klass['version'] == attributes['version']
89
- { status: 'success', message: "This segment: #{attributes['label']} has the latest version!" }
90
- else
91
- segment_klass.update!(attributes)
92
- segment_klass.create_klasses_revision(current_user)
93
- { status: 'success', message: "This segment: [#{attributes['label']}] has been upgraded to the version: #{attributes['version']}!" }
94
- end
86
+ segment_klass.update!(attributes)
95
87
  else
96
- exist_klass = Labimotion::SegmentKlass.find_by(label: attributes['label'], element_klass_id: element_klass.id)
97
- if exist_klass.present?
98
- { status: 'error', message: "The segment [#{attributes['label']}] is already in use." }
99
- else
100
- attributes['created_by'] = current_user.id
101
- segment_klass = Labimotion::SegmentKlass.create!(attributes)
102
- segment_klass.create_klasses_revision(current_user)
103
- { status: 'success', message: "The segment: #{attributes['label']} has been created using version: #{attributes['version']}!" }
104
- end
88
+ attributes['created_by'] = current_user.id
89
+ Labimotion::SegmentKlass.create!(attributes)
105
90
  end
106
91
  rescue StandardError => e
107
92
  Labimotion.log_exception(e, current_user)
@@ -5,7 +5,6 @@ require 'uri'
5
5
  require 'json'
6
6
  require 'date'
7
7
  require 'labimotion/version'
8
- require 'labimotion/utils/utils'
9
8
 
10
9
  # rubocop: disable Metrics/AbcSize
11
10
  # rubocop: disable Metrics/MethodLength
@@ -117,7 +116,7 @@ module Labimotion
117
116
  )
118
117
  # att.attachment_attacher.attach(tmp_file)
119
118
  if att.valid? && Labimotion::IS_RAILS5 == false
120
- ## att.attachment_attacher.create_derivatives
119
+ att.attachment_attacher.create_derivatives
121
120
  att.save!
122
121
  end
123
122
  if att.valid? && Labimotion::IS_RAILS5 == true
@@ -144,16 +143,12 @@ module Labimotion
144
143
  end
145
144
 
146
145
  def self.process(data)
147
- return data[:a].con_state if data[:a]&.attachable_type != 'Container'
146
+ return if data[:a]&.attachable_type != 'Container'
147
+
148
148
  response = nil
149
149
  begin
150
150
  ofile = Rails.root.join(data[:f], data[:a].filename)
151
- if Labimotion::IS_RAILS5 == true
152
- FileUtils.cp(data[:a].store.path, ofile)
153
- else
154
- FileUtils.cp(data[:a].attachment_url, ofile)
155
- end
156
-
151
+ FileUtils.cp(data[:a].store.path, ofile)
157
152
  File.open(ofile, 'r') do |f|
158
153
  body = { file: f }
159
154
  response = HTTParty.post(
@@ -165,14 +160,12 @@ module Labimotion
165
160
  end
166
161
  if response.ok?
167
162
  Labimotion::Converter.handle_response(data[:a], response)
168
- Labimotion::ConState::PROCESSED
169
163
  else
170
164
  Labimotion::Converter.logger.error ["Converter Response Error: id: [#{data[:a]&.id}], filename: [#{data[:a]&.filename}], response: #{response}"].join($INPUT_RECORD_SEPARATOR)
171
- Labimotion::ConState::ERROR
172
165
  end
166
+ response
173
167
  rescue StandardError => e
174
- Labimotion::Converter.logger.error ["process fail: #{id}", e.message, *e.backtrace].join($INPUT_RECORD_SEPARATOR)
175
- Labimotion::ConState::ERROR
168
+ raise e
176
169
  ensure
177
170
  FileUtils.rm_f(ofile)
178
171
  end
@@ -181,14 +174,14 @@ module Labimotion
181
174
  def self.jcamp_converter(id)
182
175
  resp = nil
183
176
  begin
184
-
185
177
  data = Labimotion::Converter.vor_conv(id)
186
178
  return if data.nil?
187
179
 
188
- Labimotion::Converter.process(data)
180
+ resp = Labimotion::Converter.process(data)
181
+ resp&.success? ? Labimotion::ConState::PROCESSED : Labimotion::ConState::ERROR
189
182
  rescue StandardError => e
190
- Labimotion::Converter.logger.error ["jcamp_converter fail: #{id}", e.message, *e.backtrace].join($INPUT_RECORD_SEPARATOR)
191
183
  Labimotion::ConState::ERROR
184
+ Labimotion::Converter.logger.error ["jcamp_converter fail: #{id}", e.message, *e.backtrace].join($INPUT_RECORD_SEPARATOR)
192
185
  end
193
186
  end
194
187
 
@@ -216,7 +209,8 @@ module Labimotion
216
209
  uuid = SecureRandom.uuid
217
210
  props = klass.properties_release
218
211
  props['uuid'] = uuid
219
- props['pkg'] = Labimotion::Utils.pkg(props['pkg'])
212
+ props['eln'] = Chemotion::Application.config.version
213
+ props['labimotion'] = Labimotion::VERSION
220
214
  props['klass'] = 'Dataset'
221
215
  Labimotion::Dataset.create!(
222
216
  uuid: uuid,
@@ -234,8 +228,6 @@ module Labimotion
234
228
  new_prop = dataset.properties
235
229
  dsr.each do |ds|
236
230
  layer = layers[ds[:layer]]
237
- next if layer.nil? || layer['fields'].nil?
238
-
239
231
  fields = layer['fields'].select{ |f| f['field'] == ds[:field] }
240
232
  fi = fields&.first
241
233
  idx = layer['fields'].find_index(fi)
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  require 'export_table'
3
- require 'labimotion/version'
4
3
 
5
4
  module Labimotion
6
5
  ## ExportDataset
@@ -102,18 +101,9 @@ module Labimotion
102
101
  cds.attachments.where(aasm_state: 'csv').each do |att|
103
102
  name = File.basename(att.filename, '.csv')
104
103
  sheet = @xfile.workbook.add_worksheet(name: name)
105
-
106
- if Labimotion::IS_RAILS5 == true
107
- File.open(att.store.path) do |fi|
108
- fi.each_line do |line|
109
- sheet.add_row(line.split(','))
110
- end
111
- end
112
- else
113
- File.open(att.attachment_url) do |fi|
114
- fi.each_line do |line|
115
- sheet.add_row(line.split(','))
116
- end
104
+ File.open(att.store.path) do |fi|
105
+ fi.each_line do |line|
106
+ sheet.add_row(line.split(','))
117
107
  end
118
108
  end
119
109
  end
@@ -1,15 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'labimotion/version'
4
- require 'labimotion/utils/utils'
5
-
6
3
  module Labimotion
7
4
  ## NmrMapper
8
5
  class NmrMapper
9
6
  def self.is_brucker_binary(id)
10
7
  att = Attachment.find(id)
11
- if Labimotion::IS_RAILS5 == true
12
- Zip::File.open(att.store.path) do |zip_file|
8
+ if att&.attachment_attacher&.file&.url
9
+ Zip::File.open(att.attachment_attacher.file.url) do |zip_file|
13
10
  zip_file.each do |entry|
14
11
  if entry.name.include?('/pdata/') && entry.name.include?('parm.txt')
15
12
  metadata = entry.get_input_stream.read.force_encoding('UTF-8')
@@ -17,17 +14,6 @@ module Labimotion
17
14
  end
18
15
  end
19
16
  end
20
- else
21
- if att&.attachment_attacher&.file&.url
22
- Zip::File.open(att.attachment_attacher.file.url) do |zip_file|
23
- zip_file.each do |entry|
24
- if entry.name.include?('/pdata/') && entry.name.include?('parm.txt')
25
- metadata = entry.get_input_stream.read.force_encoding('UTF-8')
26
- return metadata
27
- end
28
- end
29
- end
30
- end
31
17
  end
32
18
  nil
33
19
  end
@@ -261,7 +247,8 @@ module Labimotion
261
247
  uuid = SecureRandom.uuid
262
248
  props = klass.properties_release
263
249
  props['uuid'] = uuid
264
- props['pkg'] = Labimotion::Utils.pkg(props['pkg'])
250
+ props['eln'] = Chemotion::Application.config.version
251
+ props['labimotion'] = Labimotion::VERSION
265
252
  props['klass'] = 'Dataset'
266
253
  dataset = Labimotion::Dataset.create!(
267
254
  uuid: uuid,
@@ -1,33 +1,17 @@
1
1
  # frozen_string_literal: true
2
- require 'labimotion/version'
3
- require 'labimotion/utils/utils'
4
2
 
5
3
  module Labimotion
6
4
  class NmrMapperRepo
7
5
  def self.is_brucker_binary(id)
8
6
  att = Attachment.find(id)
9
- if Labimotion::IS_RAILS5 == true
10
- Zip::File.open(att.store.path) do |zip_file|
11
- zip_file.each do |entry|
12
- if entry.name.include?('/pdata/') && entry.name.include?('parm.txt')
13
- metadata = entry.get_input_stream.read.force_encoding('UTF-8')
14
- return metadata
15
- end
16
- end
17
- end
18
- else
19
- if att&.attachment_attacher&.file&.url
20
- Zip::File.open(att.attachment_attacher.file.url) do |zip_file|
21
- zip_file.each do |entry|
22
- if entry.name.include?('/pdata/') && entry.name.include?('parm.txt')
23
- metadata = entry.get_input_stream.read.force_encoding('UTF-8')
24
- return metadata
25
- end
26
- end
7
+ Zip::File.open(att.store.path) do |zip_file|
8
+ zip_file.each do |entry|
9
+ if entry.name.include?('/pdata/') && entry.name.include?('parm.txt')
10
+ metadata = entry.get_input_stream.read.force_encoding('UTF-8')
11
+ return metadata
27
12
  end
28
13
  end
29
14
  end
30
-
31
15
  nil
32
16
  end
33
17
 
@@ -261,7 +245,8 @@ module Labimotion
261
245
  uuid = SecureRandom.uuid
262
246
  props = klass.properties_release
263
247
  props['uuid'] = uuid
264
- props['pkg'] = Labimotion::Utils.pkg(props['pkg'])
248
+ props['eln'] = Chemotion::Application.config.version
249
+ props['labimotion'] = Labimotion::VERSION
265
250
  props['klass'] = 'Dataset'
266
251
  dataset = Labimotion::Dataset.create!(
267
252
  uuid: uuid,
@@ -20,7 +20,7 @@ module Labimotion
20
20
 
21
21
 
22
22
  def self.header(opt = {})
23
- opt || { timeout: 10, headers: { 'Content-Type' => 'text/json' } }
23
+ opt || { :timeout => 10, :headers => {'Content-Type' => 'text/json'} }
24
24
  end
25
25
 
26
26
  def self.handle_response(oat, response) # rubocop: disable Metrics/PerceivedComplexity
@@ -35,26 +35,16 @@ module Labimotion
35
35
 
36
36
  def self.list(klass)
37
37
  body = { klass: klass }
38
- response = HTTParty.get("#{uri('list')}?klass=#{klass}", timeout: 10)
38
+ response = HTTParty.get("#{uri('list')}?klass=#{klass}", header)
39
39
  # response.parsed_response if response.code == 200
40
40
  JSON.parse(response.body) if response.code == 200
41
- rescue StandardError => e
42
- Labimotion.log_exception(e)
43
- error!('Cannot connect to Chemotion Repository', 401)
44
41
  end
45
42
 
46
- def self.fetch_identifier(klass, identifier, origin)
47
- body = { klass: klass, identifier: identifier, origin: origin }
48
- response = HTTParty.post(
49
- uri('fetch'),
50
- body: body,
51
- timeout: 10
52
- )
43
+ def self.fetch_identifier(klass, identifier)
44
+ # body = { klass: klass, identifier: identifier }
45
+ response = HTTParty.get("#{uri('fetch')}?klass=#{klass}&identifier=#{identifier}", header)
53
46
  # response.parsed_response if response.code == 200
54
- JSON.parse(response.body) if response.code == 201
55
- rescue StandardError => e
56
- Labimotion.log_exception(e)
57
- error!('Cannot connect to Chemotion Repository', 401)
47
+ JSON.parse(response.body) if response.code == 200
58
48
  end
59
49
  end
60
50
  end
@@ -36,7 +36,6 @@ module Labimotion
36
36
  when Labimotion::ConState::WAIT
37
37
  self.con_state = Labimotion::Converter.jcamp_converter(id)
38
38
  end
39
- update_column(:con_state, con_state)
40
39
  end
41
40
  end
42
41
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Datasetable concern
4
- require 'labimotion/utils/utils'
5
4
 
6
5
  module Labimotion
7
6
  ## Datasetable concern
@@ -22,18 +21,23 @@ module Labimotion
22
21
  klass = Labimotion::DatasetKlass.find_by(id: args[:dataset_klass_id])
23
22
  uuid = SecureRandom.uuid
24
23
  props = args[:properties]
25
- props['pkg'] = Labimotion::Utils.pkg(props['pkg'])
26
- props['identifier'] = klass.identifier if klass.identifier.present?
27
- props['uuid'] = uuid
28
- props['klass'] = 'Dataset'
29
-
24
+ props['eln'] = Chemotion::Application.config.version
25
+ props['labimotion'] = Labimotion::VERSION
30
26
  ds = Labimotion::Dataset.find_by(element_type: self.class.name, element_id: id)
31
27
  if ds.present? && (ds.klass_uuid != props['klass_uuid'] || ds.properties != props)
28
+ props['uuid'] = uuid
29
+ props['eln'] = Chemotion::Application.config.version
30
+ props['labimotion'] = Labimotion::VERSION
31
+ props['klass'] = 'Dataset'
32
32
  ds.update!(properties_release: klass.properties_release, uuid: uuid, dataset_klass_id: args[:dataset_klass_id], properties: props, klass_uuid: props['klass_uuid'])
33
33
  end
34
34
  return if ds.present?
35
35
 
36
+ props['uuid'] = uuid
36
37
  props['klass_uuid'] = klass.uuid
38
+ props['eln'] = Chemotion::Application.config.version
39
+ props['labimotion'] = Labimotion::VERSION
40
+ props['klass'] = 'Dataset'
37
41
  Labimotion::Dataset.create!(properties_release: klass.properties_release, uuid: uuid, dataset_klass_id: args[:dataset_klass_id], element_type: self.class.name, element_id: id, properties: props, klass_uuid: klass.uuid)
38
42
  end
39
43
 
@@ -1,40 +1,33 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Labimotion
4
- ## Generic Klass Revisions Helpers
5
- module GenericKlassRevisions
4
+ module GenericKlassRevisions
6
5
  extend ActiveSupport::Concern
7
6
  included do
8
7
  # has_many :element_klasses_revisions, dependent: :destroy
9
8
  end
10
9
 
11
- def create_klasses_revision(current_user)
10
+ def create_klasses_revision(user_id=0)
12
11
  properties_release = properties_template
13
- migrate_workflow if properties_release['flow'].present?
12
+ # (properties_release['layers'] || {}).keys.each do |key|
13
+ # properties_release['layers'][key]['layer'] = properties_release['layers'][key]['key']
14
+ # end
14
15
 
15
- if properties_release['flowObject'].present?
16
- elements = (properties_release['flowObject']['nodes'] || []).map do |el|
16
+ if properties_release['flow'].present?
17
+ elements = (properties_release['flow']['elements'] || []).map do |el|
17
18
  if el['data'].present? && el['data']['lKey'].present?
18
19
  layer = properties_release['layers'][el['data']['lKey']]
19
20
  el['data']['layer'] = layer if layer.present?
20
21
  end
21
22
  el
22
23
  end
23
- properties_release['flowObject']['nodes'] = elements
24
+ properties_release['flow']['elements'] = elements
24
25
  end
25
- klass_attributes = {
26
- uuid: properties_template['uuid'],
27
- properties_template: properties_release,
28
- properties_release: properties_release,
29
- released_at: DateTime.now,
30
- updated_by: current_user&.id,
31
- released_by: current_user&.id,
32
- }
33
26
 
34
- self.update!(klass_attributes)
27
+ self.update!({ uuid: properties_template['uuid'], properties_release: properties_release, released_at: DateTime.now })
35
28
  reload
36
29
  attributes = {
37
- released_by: released_by,
30
+ released_by: user_id,
38
31
  uuid: uuid,
39
32
  version: version,
40
33
  properties_release: properties_release,
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'labimotion/utils/utils'
4
-
5
3
  module Labimotion
6
4
  # Segmentable concern
7
5
  module Segmentable
@@ -41,24 +39,32 @@ module Labimotion
41
39
 
42
40
  def save_segments(**args) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity
43
41
  return if args[:segments].nil?
42
+
44
43
  segments = []
45
- args[:segments]&.each do |seg|
44
+ args[:segments].each do |seg|
46
45
  klass = Labimotion::SegmentKlass.find_by(id: seg['segment_klass_id'])
47
46
  uuid = SecureRandom.uuid
48
47
  props = seg['properties']
49
- props['pkg'] = Labimotion::Utils.pkg(props['pkg'])
50
- props['identifier'] = klass.identifier if klass.identifier.present?
51
- props['uuid'] = uuid
52
- props['klass'] = 'Segment'
48
+ props['eln'] = Chemotion::Application.config.version
49
+ props['labimotion'] = Labimotion::VERSION
53
50
  segment = Labimotion::Segment.find_by(element_type: Labimotion::Utils.element_name(self.class.name), element_id: self.id, segment_klass_id: seg['segment_klass_id'])
54
51
  if segment.present? && (segment.klass_uuid != props['klass_uuid'] || segment.properties != props)
52
+ props['uuid'] = uuid
53
+ props['eln'] = Chemotion::Application.config.version
54
+ props['labimotion'] = Labimotion::VERSION
55
+ props['klass'] = 'Segment'
56
+
55
57
  segment.update!(properties_release: klass.properties_release, properties: props, uuid: uuid, klass_uuid: props['klass_uuid'])
56
58
  segments.push(segment)
57
59
  end
58
60
  next if segment.present?
59
61
 
62
+ props['uuid'] = uuid
60
63
  props['klass_uuid'] = klass.uuid
61
- segment = Labimotion::Segment.create!(properties_release: klass.properties_release, segment_klass_id: seg['segment_klass_id'], element_type: self.class.name, element_id: self.id, properties: props, created_by: args[:current_user_id], uuid: uuid, klass_uuid: klass.uuid)
64
+ props['eln'] = Chemotion::Application.config.version
65
+ props['labimotion'] = Labimotion::VERSION
66
+ props['klass'] = 'Segment'
67
+ segment = Labimotion::Segment.create!(properties_release: klass.properties_release, segment_klass_id: seg['segment_klass_id'], element_type: Labimotion::Utils.element_name(self.class.name), element_id: self.id, properties: props, created_by: args[:current_user_id], uuid: uuid, klass_uuid: klass.uuid)
62
68
  segments.push(segment)
63
69
  end
64
70
  segments
@@ -7,8 +7,7 @@ module Labimotion
7
7
  class Element < ApplicationRecord
8
8
  acts_as_paranoid
9
9
  self.table_name = :elements
10
- include PgSearch if Labimotion::IS_RAILS5 == true
11
- include PgSearch::Model if Labimotion::IS_RAILS5 == false
10
+ include PgSearch::Model
12
11
  include ElementUIStateScopes
13
12
  include Collectable
14
13
  ## include AnalysisCodes
@@ -23,6 +23,7 @@ module Labimotion
23
23
  )
24
24
  end
25
25
 
26
+
26
27
  def migrate_workflow
27
28
  return if properties_template.nil? || properties_release.nil?
28
29
 
@@ -31,5 +32,8 @@ module Labimotion
31
32
  update_column(:properties_template, split_workflow(properties_template)) if properties_template['flow']
32
33
  update_column(:properties_release, split_workflow(properties_release)) if properties_release['flow']
33
34
  end
35
+
36
+ private
37
+
34
38
  end
35
39
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'labimotion/version'
4
3
  module Labimotion
5
4
  ## Generic Utils
6
5
  class Utils
@@ -55,36 +54,5 @@ module Labimotion
55
54
  def self.element_name_dc(name)
56
55
  Labimotion::Utils.element_name(name)&.downcase
57
56
  end
58
-
59
- def self.next_version(release, current_version)
60
- case release
61
- when 'draft'
62
- current_version
63
- when 'major'
64
- if current_version.nil? || current_version.split('.').length < 2
65
- '1.0'
66
- else
67
- "#{current_version&.split('.').first.to_i + 1}.0"
68
- end
69
- when 'minor'
70
- if current_version.nil? || current_version&.split('.').length < 2
71
- '0.1'
72
- else
73
- "#{current_version&.split('.').first.to_i.to_s}.#{current_version&.split('.').last.to_i + 1}"
74
- end
75
- else
76
- current_version
77
- end
78
- rescue StandardError => e
79
- Labimotion.log_exception(e)
80
- current_version
81
- end
82
-
83
- def self.pkg(pkg)
84
- pkg = {} if pkg.nil?
85
- pkg['eln'] = Chemotion::Application.config.version
86
- pkg['labimotion'] = Labimotion::VERSION
87
- pkg
88
- end
89
57
  end
90
58
  end
@@ -1,11 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Labimotion
4
- IS_RAILS5 = true
5
-
6
- ## for Chemotion Repository
7
- VERSION = '0.1.18' if Labimotion::IS_RAILS5 == true
8
-
9
- ## for Chemotion ELN
10
- VERSION = '1.0.5' if Labimotion::IS_RAILS5 == false
4
+ # VERSION = '0.1.4'
5
+ VERSION = '0.2.0'
6
+ IS_RAILS5 = false
11
7
  end
data/lib/labimotion.rb CHANGED
@@ -7,7 +7,7 @@ module Labimotion
7
7
  @@labimotion_logger ||= Logger.new(Rails.root.join('log/labimotion.log')) # rubocop:disable Style/ClassVars
8
8
  end
9
9
 
10
- def self.log_exception(exception, current_user = nil)
10
+ def self.log_exception(exception, current_user = {})
11
11
  Labimotion.logger.error("version: #{Labimotion::VERSION}; #{Labimotion::IS_RAILS5}, (#{current_user&.id}) \n Exception: #{exception.message}")
12
12
  Labimotion.logger.error(exception.backtrace.join("\n"))
13
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: labimotion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.18
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chia-Lin Lin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-09-01 00:00:00.000000000 Z
12
+ date: 2023-08-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 5.2.0
20
+ version: 6.1.7
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 5.2.0
27
+ version: 6.1.7
28
28
  description:
29
29
  email:
30
30
  - chia-lin.lin@kit.edu
@@ -84,7 +84,6 @@ files:
84
84
  - lib/labimotion/models/elements_element.rb
85
85
  - lib/labimotion/models/elements_revision.rb
86
86
  - lib/labimotion/models/elements_sample.rb
87
- - lib/labimotion/models/hub_log.rb
88
87
  - lib/labimotion/models/segment.rb
89
88
  - lib/labimotion/models/segment_klass.rb
90
89
  - lib/labimotion/models/segment_klasses_revision.rb
@@ -115,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
114
  - !ruby/object:Gem::Version
116
115
  version: '0'
117
116
  requirements: []
118
- rubygems_version: 3.4.18
117
+ rubygems_version: 3.1.6
119
118
  signing_key:
120
119
  specification_version: 4
121
120
  summary: Chemotion LabIMotion
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Labimotion
4
- class HubLog < ApplicationRecord
5
- self.table_name = :hub_logs
6
- belongs_to :klass, polymorphic: true, optional: true
7
- end
8
- end