Class: BiovisionComponent
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- BiovisionComponent
- Includes:
- FlatPriority, RequiredUniqueSlug, Toggleable
- 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
deprecated
Deprecated.
use parameters = value
- #admin_url ⇒ Object
- #find_or_create_code(user, type, quantity = 1) ⇒ Object
- #get(slug, default_value = '') ⇒ Object
- #privileges ⇒ Object
- #text_for_link ⇒ Object
Methods included from FlatPriority
Class Method Details
.[](slug) ⇒ Object
Find component by slug
36 37 38 |
# File 'app/models/biovision_component.rb', line 36 def self.[](slug) find_by(slug: slug.respond_to?(:slug) ? slug.slug : slug) end |
Instance Method Details
#[]=(slug, value) ⇒ Object
Deprecated.
use parameters = value
50 51 52 53 |
# File 'app/models/biovision_component.rb', line 50 def []=(slug, value) parameters[slug.to_s] = value save! end |
#admin_url ⇒ Object
78 79 80 |
# File 'app/models/biovision_component.rb', line 78 def admin_url "/admin/components/#{slug}" end |
#find_or_create_code(user, type, quantity = 1) ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 |
# File 'app/models/biovision_component.rb', line 62 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
42 43 44 |
# File 'app/models/biovision_component.rb', line 42 def get(slug, default_value = '') parameters.fetch(slug.to_s) { default_value } end |
#privileges ⇒ Object
55 56 57 |
# File 'app/models/biovision_component.rb', line 55 def privileges biovision_component_users.recent end |
#text_for_link ⇒ Object
74 75 76 |
# File 'app/models/biovision_component.rb', line 74 def text_for_link I18n.t("biovision.components.#{slug}.name", default: slug) end |