Class: BiovisionComponent
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- BiovisionComponent
- Includes:
- FlatPriority, RequiredUniqueSlug
- Defined in:
- app/models/biovision_component.rb
Overview
Biovision component entity, settings and parameters
Attributes:
active [Boolean]
created_at [DateTime]
parameters [JSON]
priority [Integer]
settings [JSON]
slug [String]
updated_at [DateTime]
Constant Summary collapse
- SLUG_LIMIT =
250
- SLUG_PATTERN_HTML =
'^[a-zA-Z][-a-zA-Z0-9_]+[a-zA-Z0-9]$'
Class Method Summary collapse
-
.[](slug) ⇒ Object
Find component by slug.
Instance Method Summary collapse
- #[]=(slug, value) ⇒ Object
- #find_or_create_code(user, type, quantity = 1) ⇒ Object
- #get(slug, default_value = '') ⇒ Object
- #privileges ⇒ Object
Methods included from FlatPriority
Class Method Details
.[](slug) ⇒ Object
Find component by slug
33 34 35 |
# File 'app/models/biovision_component.rb', line 33 def self.[](slug) find_by(slug: slug.respond_to?(:slug) ? slug.slug : slug) end |
Instance Method Details
#[]=(slug, value) ⇒ Object
45 46 47 48 |
# File 'app/models/biovision_component.rb', line 45 def []=(slug, value) parameters[slug.to_s] = value save! end |
#find_or_create_code(user, type, quantity = 1) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 |
# File 'app/models/biovision_component.rb', line 57 def find_or_create_code(user, type, quantity = 1) code = codes.owned_by(user).with_type(type).active.first if code.nil? code = codes.new(user: user, quantity: quantity) code.code_type = type code.save end code end |
#get(slug, default_value = '') ⇒ Object
39 40 41 |
# File 'app/models/biovision_component.rb', line 39 def get(slug, default_value = '') parameters.fetch(slug.to_s) { default_value } end |
#privileges ⇒ Object
50 51 52 |
# File 'app/models/biovision_component.rb', line 50 def privileges biovision_component_users.recent end |