labimotion 0.1.18 → 0.2.0

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.
@@ -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