biovision 0.0.200518.1

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 (170) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +214 -0
  4. data/Rakefile +22 -0
  5. data/app/assets/config/biovision_manifest.js +1 -0
  6. data/app/assets/images/biovision/components/carousel/arrow-left.svg +4 -0
  7. data/app/assets/images/biovision/components/carousel/arrow-right.svg +4 -0
  8. data/app/assets/images/biovision/icons/breadcrumb-hover.svg +1 -0
  9. data/app/assets/images/biovision/icons/breadcrumb.svg +1 -0
  10. data/app/assets/images/biovision/icons/components/contact.svg +26 -0
  11. data/app/assets/images/biovision/icons/components/content.svg +20 -0
  12. data/app/assets/images/biovision/icons/components/users.svg +21 -0
  13. data/app/assets/images/biovision/icons/key.svg +16 -0
  14. data/app/assets/images/biovision/icons/log_in.svg +15 -0
  15. data/app/assets/images/biovision/icons/log_out.svg +15 -0
  16. data/app/assets/images/biovision/icons/messages/error.svg +14 -0
  17. data/app/assets/images/biovision/icons/messages/info.svg +8 -0
  18. data/app/assets/images/biovision/icons/messages/success.svg +12 -0
  19. data/app/assets/images/biovision/icons/messages/warning.svg +13 -0
  20. data/app/assets/images/biovision/icons/settings.svg +41 -0
  21. data/app/assets/images/biovision/placeholders/16x9.svg +11 -0
  22. data/app/assets/images/biovision/placeholders/1x1.svg +11 -0
  23. data/app/assets/images/biovision/placeholders/3x2.svg +11 -0
  24. data/app/assets/images/biovision/placeholders/user.svg +15 -0
  25. data/app/assets/stylesheets/biovision/admin.scss +6 -0
  26. data/app/assets/stylesheets/biovision/admin/components.scss +59 -0
  27. data/app/assets/stylesheets/biovision/admin/default.scss +57 -0
  28. data/app/assets/stylesheets/biovision/admin/layout.scss +95 -0
  29. data/app/assets/stylesheets/biovision/admin/vars.scss +56 -0
  30. data/app/assets/stylesheets/biovision/biovision.scss +134 -0
  31. data/app/assets/stylesheets/biovision/biovision/messages.scss +41 -0
  32. data/app/assets/stylesheets/biovision/components/carousel.scss +53 -0
  33. data/app/assets/stylesheets/biovision/components/forms.scss +85 -0
  34. data/app/assets/stylesheets/biovision/components/hamburger.scss +56 -0
  35. data/app/assets/stylesheets/biovision/components/lists.scss +91 -0
  36. data/app/assets/stylesheets/biovision/default.scss +57 -0
  37. data/app/assets/stylesheets/biovision/themes/default_theme.scss +2 -0
  38. data/app/assets/stylesheets/biovision/themes/default_theme/components.scss +3 -0
  39. data/app/assets/stylesheets/biovision/themes/default_theme/layout.scss +44 -0
  40. data/app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss +0 -0
  41. data/app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss +39 -0
  42. data/app/assets/stylesheets/biovision/vars.scss +53 -0
  43. data/app/controllers/admin/agents_controller.rb +15 -0
  44. data/app/controllers/admin/components_controller.rb +174 -0
  45. data/app/controllers/admin/index_controller.rb +11 -0
  46. data/app/controllers/admin/ip_addresses_controller.rb +15 -0
  47. data/app/controllers/admin_controller.rb +14 -0
  48. data/app/controllers/authentication_controller.rb +79 -0
  49. data/app/controllers/concerns/authentication.rb +45 -0
  50. data/app/controllers/index_controller.rb +8 -0
  51. data/app/controllers/my/confirmations_controller.rb +2 -0
  52. data/app/controllers/my/index_controller.rb +8 -0
  53. data/app/controllers/my/profiles_controller.rb +128 -0
  54. data/app/controllers/my/recoveries_controller.rb +2 -0
  55. data/app/helpers/biovision_components_helper.rb +14 -0
  56. data/app/helpers/users_helper.rb +11 -0
  57. data/app/lib/biovision/components/base_component.rb +177 -0
  58. data/app/lib/biovision/components/component_settings.rb +30 -0
  59. data/app/lib/biovision/components/privilege_handler.rb +77 -0
  60. data/app/lib/biovision/components/track_component.rb +9 -0
  61. data/app/lib/biovision/components/users/authentication.rb +47 -0
  62. data/app/lib/biovision/components/users/code_handler.rb +23 -0
  63. data/app/lib/biovision/components/users/profile_handler.rb +12 -0
  64. data/app/lib/biovision/components/users/registration_handler.rb +99 -0
  65. data/app/lib/biovision/components/users_component.rb +47 -0
  66. data/app/lib/biovision/notifiers/base_notifier.rb +69 -0
  67. data/app/lib/biovision/notifiers/socialization_notifier.rb +31 -0
  68. data/app/lib/biovision/notifiers/users_notifier.rb +15 -0
  69. data/app/models/agent.rb +35 -0
  70. data/app/models/biovision_component.rb +45 -0
  71. data/app/models/biovision_component_user.rb +21 -0
  72. data/app/models/browser.rb +34 -0
  73. data/app/models/code.rb +71 -0
  74. data/app/models/concerns/checkable.rb +22 -0
  75. data/app/models/concerns/flat_priority.rb +50 -0
  76. data/app/models/concerns/has_language.rb +10 -0
  77. data/app/models/concerns/has_owner.rb +22 -0
  78. data/app/models/concerns/has_simple_image.rb +18 -0
  79. data/app/models/concerns/has_track.rb +10 -0
  80. data/app/models/concerns/has_uuid.rb +12 -0
  81. data/app/models/concerns/meta_texts.rb +16 -0
  82. data/app/models/concerns/nested_priority.rb +58 -0
  83. data/app/models/concerns/required_unique_name.rb +16 -0
  84. data/app/models/concerns/required_unique_slug.rb +15 -0
  85. data/app/models/concerns/toggleable.rb +33 -0
  86. data/app/models/foreign_site.rb +34 -0
  87. data/app/models/foreign_user.rb +21 -0
  88. data/app/models/ip_address.rb +31 -0
  89. data/app/models/language.rb +31 -0
  90. data/app/models/login_attempt.rb +35 -0
  91. data/app/models/metric.rb +48 -0
  92. data/app/models/metric_value.rb +11 -0
  93. data/app/models/notification.rb +37 -0
  94. data/app/models/simple_image.rb +47 -0
  95. data/app/models/simple_image_tag.rb +30 -0
  96. data/app/models/simple_image_tag_image.rb +13 -0
  97. data/app/models/token.rb +96 -0
  98. data/app/models/user.rb +136 -0
  99. data/app/models/user_language.rb +15 -0
  100. data/app/uploaders/simple_image_uploader.rb +96 -0
  101. data/app/uploaders/user_image_uploader.rb +58 -0
  102. data/app/views/admin/agents/_nav_item.html.erb +6 -0
  103. data/app/views/admin/agents/entity/_in_list.html.erb +6 -0
  104. data/app/views/admin/agents/index.html.erb +13 -0
  105. data/app/views/admin/components/_list.html.erb +12 -0
  106. data/app/views/admin/components/entity/_links.html.erb +35 -0
  107. data/app/views/admin/components/entity/_section.html.erb +12 -0
  108. data/app/views/admin/components/index.html.erb +12 -0
  109. data/app/views/admin/components/links/_track.html.erb +2 -0
  110. data/app/views/admin/components/links/_users.html.erb +11 -0
  111. data/app/views/admin/components/privileges.html.erb +20 -0
  112. data/app/views/admin/components/privileges/_component_user.html.erb +17 -0
  113. data/app/views/admin/components/privileges/_links.html.erb +35 -0
  114. data/app/views/admin/components/privileges/_privilege_flag.html.erb +28 -0
  115. data/app/views/admin/components/privileges/_users.html.erb +23 -0
  116. data/app/views/admin/components/settings.html.erb +39 -0
  117. data/app/views/admin/components/settings/_new_parameter.html.erb +46 -0
  118. data/app/views/admin/components/settings/_parameters.html.erb +20 -0
  119. data/app/views/admin/components/settings/_setting.html.erb +18 -0
  120. data/app/views/admin/components/settings/_settings.html.erb +31 -0
  121. data/app/views/admin/components/show.html.erb +14 -0
  122. data/app/views/admin/index/index.html.erb +14 -0
  123. data/app/views/admin/ip_addresses/_nav_item.html.erb +6 -0
  124. data/app/views/admin/ip_addresses/entity/_in_list.html.erb +6 -0
  125. data/app/views/admin/ip_addresses/index.html.erb +13 -0
  126. data/app/views/admin/unauthorized.html.erb +19 -0
  127. data/app/views/authentication/_form.html.erb +40 -0
  128. data/app/views/authentication/failed.js.erb +3 -0
  129. data/app/views/authentication/new.html.erb +21 -0
  130. data/app/views/index/index.html.erb +0 -0
  131. data/app/views/layouts/admin.html.erb +23 -0
  132. data/app/views/layouts/admin/_breadcrumbs.html.erb +8 -0
  133. data/app/views/layouts/admin/_footer.html.erb +10 -0
  134. data/app/views/layouts/admin/_header.html.erb +18 -0
  135. data/app/views/layouts/admin/header/_logo.html.erb +3 -0
  136. data/app/views/layouts/application/_footer.html.erb +8 -0
  137. data/app/views/layouts/application/_header.html.erb +9 -0
  138. data/app/views/layouts/application/header/_authentication.html.erb +13 -0
  139. data/app/views/my/index/index.html.erb +0 -0
  140. data/app/views/my/profiles/closed.html.erb +12 -0
  141. data/app/views/my/profiles/new.html.erb +17 -0
  142. data/app/views/my/profiles/new/_form.html.erb +147 -0
  143. data/app/views/shared/_breadcrumbs.html.erb +8 -0
  144. data/app/views/shared/_cookie_notification.html.erb +4 -0
  145. data/app/views/shared/_flash_messages.html.erb +7 -0
  146. data/app/views/shared/_meta_texts.html.erb +31 -0
  147. data/app/views/shared/_nothing_found.html.erb +1 -0
  148. data/app/views/shared/_pagination.jbuilder +15 -0
  149. data/app/views/shared/admin/_list.html.erb +19 -0
  150. data/app/views/shared/admin/_list_with_priority.html.erb +19 -0
  151. data/app/views/shared/admin/_toggleable.html.erb +8 -0
  152. data/app/views/shared/entity/_list_of_errors.html.erb +7 -0
  153. data/app/views/shared/forms/errors.js.erb +5 -0
  154. data/config/initializers/carrierwave.rb +27 -0
  155. data/config/initializers/pluralization.rb +2 -0
  156. data/config/locales/biovision-ru.yml +90 -0
  157. data/config/locales/components-ru.yml +81 -0
  158. data/config/locales/track-ru.yml +40 -0
  159. data/config/locales/users-ru.yml +130 -0
  160. data/config/routes.rb +75 -0
  161. data/db/migrate/20191228000000_create_biovision_components.rb +72 -0
  162. data/db/migrate/20200224000000_create_track_component.rb +59 -0
  163. data/db/migrate/20200224000010_create_users_component.rb +189 -0
  164. data/db/migrate/20200404000000_create_simple_images.rb +54 -0
  165. data/lib/biovision.rb +9 -0
  166. data/lib/biovision/base_methods.rb +167 -0
  167. data/lib/biovision/engine.rb +40 -0
  168. data/lib/biovision/version.rb +5 -0
  169. data/lib/tasks/biovision_tasks.rake +4 -0
  170. metadata +392 -0
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "biovision/engine"
4
+ require "biovision/base_methods"
5
+
6
+ # Biovision CMS
7
+ module Biovision
8
+ # Your code goes here...
9
+ end
@@ -0,0 +1,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Useful helper methods for application
4
+ module Biovision
5
+ module BaseMethods
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ before_action :set_locale
10
+
11
+ helper_method :visitor_slug
12
+ helper_method :component_handler
13
+ helper_method :current_page, :param_from_request
14
+ helper_method :current_user, :current_language
15
+ end
16
+
17
+ # Get current page number from request
18
+ #
19
+ # @return [Integer]
20
+ def current_page
21
+ @current_page ||= (params[:page] || 1).to_s.to_i.abs
22
+ end
23
+
24
+ # Get parameter from request and normalize it
25
+ #
26
+ # Casts request parameter to UTF-8 string and removes invalid characters
27
+ #
28
+ # @param [Symbol] param
29
+ # @return [String]
30
+ def param_from_request(*param)
31
+ value = params.dig(*param)
32
+ value.to_s.encode('UTF-8', 'UTF-8', invalid: :replace, replace: '')
33
+ end
34
+
35
+ # Get current user from token cookie
36
+ #
37
+ # @return [User|nil]
38
+ def current_user
39
+ @current_user ||= Token.user_by_token(cookies['token'], true)
40
+ end
41
+
42
+ # Get current language from locale
43
+ #
44
+ # @return [Language]
45
+ def current_language
46
+ @current_language ||= Language[locale]
47
+ end
48
+
49
+ # @return [Agent]
50
+ def agent
51
+ @agent ||= Agent[request.user_agent || 'n/a']
52
+ end
53
+
54
+ # @return [String]
55
+ def visitor_slug
56
+ if current_user.nil?
57
+ "#{remote_ip}:#{agent.id}"
58
+ else
59
+ current_user.id.to_s
60
+ end
61
+ end
62
+
63
+ def set_locale
64
+ I18n.locale = params[:locale] || I18n.default_locale
65
+ end
66
+
67
+ protected
68
+
69
+ # Handle generic HTTP error without raising exception
70
+ #
71
+ # @param [Symbol] status
72
+ # @param [String] message
73
+ # @param [String|Symbol] view
74
+ def handle_http_error(status = 500, message = nil, view = :error)
75
+ @message = message || '500: Internal server error'
76
+ logger.warn "#{message}\n\t#{request.method} #{request.original_url}"
77
+ render view, status: status
78
+ end
79
+
80
+ # Handle HTTP error with status 401 without raising exception
81
+ #
82
+ # @param [String] message
83
+ # @param [Symbol|String] view
84
+ def handle_http_401(message = nil, view = :unauthorized)
85
+ message ||= t('application.errors.unauthorized')
86
+ handle_http_error(:unauthorized, message, view)
87
+ end
88
+
89
+ # Handle HTTP error with status 403 without raising exception
90
+ #
91
+ # @param [String] message
92
+ # @param [Symbol|String] view
93
+ def handle_http_403(message = nil, view = :forbidden)
94
+ message ||= t('application.errors.forbidden')
95
+ handle_http_error(:forbidden, message, view)
96
+ end
97
+
98
+ # Handle HTTP error with status 404 without raising exception
99
+ #
100
+ # @param [String] message
101
+ # @param [Symbol|String] view
102
+ def handle_http_404(message = nil, view = :not_found)
103
+ message ||= t('application.errors.not_found')
104
+ handle_http_error(:not_found, message, view)
105
+ end
106
+
107
+ # Handle HTTP error with status 503 without raising exception
108
+ #
109
+ # @param [String] message
110
+ # @param [Symbol|String] view
111
+ def handle_http_503(message = nil, view = :service_unavailable)
112
+ message ||= t('application.errors.service_unavailable')
113
+ handle_http_error(:service_unavailable, message, view)
114
+ end
115
+
116
+ # Restrict access for anonymous users
117
+ def restrict_anonymous_access
118
+ error = t('application.errors.restricted_access')
119
+ handle_http_401(error) if current_user.nil?
120
+ end
121
+
122
+ # Owner information for entity
123
+ #
124
+ # @param [TrueClass|FalseClass] track
125
+ def owner_for_entity(track = false)
126
+ result = { user: current_user }
127
+ result.merge!(tracking_for_entity) if track
128
+ result
129
+ end
130
+
131
+ # @return [Hash]
132
+ def tracking_for_entity
133
+ {
134
+ agent: agent,
135
+ ip_address: IpAddress[remote_ip]
136
+ }
137
+ end
138
+
139
+ def remote_ip
140
+ @remote_ip ||= (request.env['HTTP_X_REAL_IP'] || request.remote_ip)
141
+ end
142
+
143
+ # @param [String] next_page
144
+ def form_processed_ok(next_page)
145
+ respond_to do |format|
146
+ format.js { render(js: "document.location.href = '#{next_page}'") }
147
+ format.html { redirect_to(next_page) }
148
+ end
149
+ end
150
+
151
+ # @param [Symbol|String] view_to_render
152
+ def form_processed_with_error(view_to_render)
153
+ respond_to do |format|
154
+ format.js { render('shared/forms/errors', status: :bad_request) }
155
+ format.html { render(view_to_render, status: :bad_request) }
156
+ end
157
+ end
158
+
159
+ def component_class
160
+ Biovision::Components::BaseComponent
161
+ end
162
+
163
+ def component_handler
164
+ @component_handler ||= component_class[current_user]
165
+ end
166
+ end
167
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Biovision CMS
4
+ module Biovision
5
+ # Engine class for Biovision CMS
6
+ class Engine < ::Rails::Engine
7
+ initializer 'biovision.load_base_methods' do
8
+ ActiveSupport.on_load(:action_controller) do
9
+ include Biovision::BaseMethods
10
+ end
11
+ end
12
+
13
+ config.to_prepare do
14
+ Dir.glob(Rails.root + 'app/decorators/**/*_decorator*.rb').each do |c|
15
+ require_dependency(c)
16
+ end
17
+ end
18
+
19
+ config.assets.precompile << %w[biovision_manifest.js]
20
+
21
+ config.generators do |g|
22
+ g.test_framework :rspec
23
+ g.fixture_replacement :factory_bot, dir: 'spec/factories'
24
+ g.factory_bot dir: 'spec/factories'
25
+ end
26
+
27
+ if defined?(FactoryBot)
28
+ initializer 'biovision.factories', after: 'factory_bot.set_factory_paths' do
29
+ FactoryBot.definition_file_paths << File.expand_path('../../../spec/factories', __FILE__)
30
+ end
31
+ end
32
+ end
33
+
34
+ require 'kaminari'
35
+ require 'rails_i18n'
36
+ require 'carrierwave'
37
+ require 'mini_magick'
38
+ require 'carrierwave-bombshelter'
39
+ require 'rest-client'
40
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Biovision
4
+ VERSION = '0.0.200518.1'
5
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :biovision do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,392 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: biovision
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.200518.1
5
+ platform: ruby
6
+ authors:
7
+ - Maxim Khan-Magomedov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-05-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '6.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 6.0.2.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '6.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 6.0.2.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: rails-i18n
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '6.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '6.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bcrypt
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '3.1'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.1'
61
+ - !ruby/object:Gem::Dependency
62
+ name: carrierwave
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '2.0'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '2.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: carrierwave-bombshelter
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.2'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.2'
89
+ - !ruby/object:Gem::Dependency
90
+ name: kaminari
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.1'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.1'
103
+ - !ruby/object:Gem::Dependency
104
+ name: mini_magick
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '4.9'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 4.9.5
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '4.9'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 4.9.5
123
+ - !ruby/object:Gem::Dependency
124
+ name: rest-client
125
+ requirement: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.1'
130
+ type: :runtime
131
+ prerelease: false
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ requirements:
134
+ - - "~>"
135
+ - !ruby/object:Gem::Version
136
+ version: '2.1'
137
+ - !ruby/object:Gem::Dependency
138
+ name: database_cleaner
139
+ requirement: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: factory_bot_rails
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - ">="
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
158
+ type: :development
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - ">="
163
+ - !ruby/object:Gem::Version
164
+ version: '0'
165
+ - !ruby/object:Gem::Dependency
166
+ name: pg
167
+ requirement: !ruby/object:Gem::Requirement
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ version: '0'
172
+ type: :development
173
+ prerelease: false
174
+ version_requirements: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ - !ruby/object:Gem::Dependency
180
+ name: rspec-rails
181
+ requirement: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">="
184
+ - !ruby/object:Gem::Version
185
+ version: '0'
186
+ type: :development
187
+ prerelease: false
188
+ version_requirements: !ruby/object:Gem::Requirement
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ description: Better version of biovision-base for rails 6.
194
+ email:
195
+ - maxim.km@gmail.com
196
+ executables: []
197
+ extensions: []
198
+ extra_rdoc_files: []
199
+ files:
200
+ - MIT-LICENSE
201
+ - README.md
202
+ - Rakefile
203
+ - app/assets/config/biovision_manifest.js
204
+ - app/assets/images/biovision/components/carousel/arrow-left.svg
205
+ - app/assets/images/biovision/components/carousel/arrow-right.svg
206
+ - app/assets/images/biovision/icons/breadcrumb-hover.svg
207
+ - app/assets/images/biovision/icons/breadcrumb.svg
208
+ - app/assets/images/biovision/icons/components/contact.svg
209
+ - app/assets/images/biovision/icons/components/content.svg
210
+ - app/assets/images/biovision/icons/components/users.svg
211
+ - app/assets/images/biovision/icons/key.svg
212
+ - app/assets/images/biovision/icons/log_in.svg
213
+ - app/assets/images/biovision/icons/log_out.svg
214
+ - app/assets/images/biovision/icons/messages/error.svg
215
+ - app/assets/images/biovision/icons/messages/info.svg
216
+ - app/assets/images/biovision/icons/messages/success.svg
217
+ - app/assets/images/biovision/icons/messages/warning.svg
218
+ - app/assets/images/biovision/icons/settings.svg
219
+ - app/assets/images/biovision/placeholders/16x9.svg
220
+ - app/assets/images/biovision/placeholders/1x1.svg
221
+ - app/assets/images/biovision/placeholders/3x2.svg
222
+ - app/assets/images/biovision/placeholders/user.svg
223
+ - app/assets/stylesheets/biovision/admin.scss
224
+ - app/assets/stylesheets/biovision/admin/components.scss
225
+ - app/assets/stylesheets/biovision/admin/default.scss
226
+ - app/assets/stylesheets/biovision/admin/layout.scss
227
+ - app/assets/stylesheets/biovision/admin/vars.scss
228
+ - app/assets/stylesheets/biovision/biovision.scss
229
+ - app/assets/stylesheets/biovision/biovision/messages.scss
230
+ - app/assets/stylesheets/biovision/components/carousel.scss
231
+ - app/assets/stylesheets/biovision/components/forms.scss
232
+ - app/assets/stylesheets/biovision/components/hamburger.scss
233
+ - app/assets/stylesheets/biovision/components/lists.scss
234
+ - app/assets/stylesheets/biovision/default.scss
235
+ - app/assets/stylesheets/biovision/themes/default_theme.scss
236
+ - app/assets/stylesheets/biovision/themes/default_theme/components.scss
237
+ - app/assets/stylesheets/biovision/themes/default_theme/layout.scss
238
+ - app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss
239
+ - app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss
240
+ - app/assets/stylesheets/biovision/vars.scss
241
+ - app/controllers/admin/agents_controller.rb
242
+ - app/controllers/admin/components_controller.rb
243
+ - app/controllers/admin/index_controller.rb
244
+ - app/controllers/admin/ip_addresses_controller.rb
245
+ - app/controllers/admin_controller.rb
246
+ - app/controllers/authentication_controller.rb
247
+ - app/controllers/concerns/authentication.rb
248
+ - app/controllers/index_controller.rb
249
+ - app/controllers/my/confirmations_controller.rb
250
+ - app/controllers/my/index_controller.rb
251
+ - app/controllers/my/profiles_controller.rb
252
+ - app/controllers/my/recoveries_controller.rb
253
+ - app/helpers/biovision_components_helper.rb
254
+ - app/helpers/users_helper.rb
255
+ - app/lib/biovision/components/base_component.rb
256
+ - app/lib/biovision/components/component_settings.rb
257
+ - app/lib/biovision/components/privilege_handler.rb
258
+ - app/lib/biovision/components/track_component.rb
259
+ - app/lib/biovision/components/users/authentication.rb
260
+ - app/lib/biovision/components/users/code_handler.rb
261
+ - app/lib/biovision/components/users/profile_handler.rb
262
+ - app/lib/biovision/components/users/registration_handler.rb
263
+ - app/lib/biovision/components/users_component.rb
264
+ - app/lib/biovision/notifiers/base_notifier.rb
265
+ - app/lib/biovision/notifiers/socialization_notifier.rb
266
+ - app/lib/biovision/notifiers/users_notifier.rb
267
+ - app/models/agent.rb
268
+ - app/models/biovision_component.rb
269
+ - app/models/biovision_component_user.rb
270
+ - app/models/browser.rb
271
+ - app/models/code.rb
272
+ - app/models/concerns/checkable.rb
273
+ - app/models/concerns/flat_priority.rb
274
+ - app/models/concerns/has_language.rb
275
+ - app/models/concerns/has_owner.rb
276
+ - app/models/concerns/has_simple_image.rb
277
+ - app/models/concerns/has_track.rb
278
+ - app/models/concerns/has_uuid.rb
279
+ - app/models/concerns/meta_texts.rb
280
+ - app/models/concerns/nested_priority.rb
281
+ - app/models/concerns/required_unique_name.rb
282
+ - app/models/concerns/required_unique_slug.rb
283
+ - app/models/concerns/toggleable.rb
284
+ - app/models/foreign_site.rb
285
+ - app/models/foreign_user.rb
286
+ - app/models/ip_address.rb
287
+ - app/models/language.rb
288
+ - app/models/login_attempt.rb
289
+ - app/models/metric.rb
290
+ - app/models/metric_value.rb
291
+ - app/models/notification.rb
292
+ - app/models/simple_image.rb
293
+ - app/models/simple_image_tag.rb
294
+ - app/models/simple_image_tag_image.rb
295
+ - app/models/token.rb
296
+ - app/models/user.rb
297
+ - app/models/user_language.rb
298
+ - app/uploaders/simple_image_uploader.rb
299
+ - app/uploaders/user_image_uploader.rb
300
+ - app/views/admin/agents/_nav_item.html.erb
301
+ - app/views/admin/agents/entity/_in_list.html.erb
302
+ - app/views/admin/agents/index.html.erb
303
+ - app/views/admin/components/_list.html.erb
304
+ - app/views/admin/components/entity/_links.html.erb
305
+ - app/views/admin/components/entity/_section.html.erb
306
+ - app/views/admin/components/index.html.erb
307
+ - app/views/admin/components/links/_track.html.erb
308
+ - app/views/admin/components/links/_users.html.erb
309
+ - app/views/admin/components/privileges.html.erb
310
+ - app/views/admin/components/privileges/_component_user.html.erb
311
+ - app/views/admin/components/privileges/_links.html.erb
312
+ - app/views/admin/components/privileges/_privilege_flag.html.erb
313
+ - app/views/admin/components/privileges/_users.html.erb
314
+ - app/views/admin/components/settings.html.erb
315
+ - app/views/admin/components/settings/_new_parameter.html.erb
316
+ - app/views/admin/components/settings/_parameters.html.erb
317
+ - app/views/admin/components/settings/_setting.html.erb
318
+ - app/views/admin/components/settings/_settings.html.erb
319
+ - app/views/admin/components/show.html.erb
320
+ - app/views/admin/index/index.html.erb
321
+ - app/views/admin/ip_addresses/_nav_item.html.erb
322
+ - app/views/admin/ip_addresses/entity/_in_list.html.erb
323
+ - app/views/admin/ip_addresses/index.html.erb
324
+ - app/views/admin/unauthorized.html.erb
325
+ - app/views/authentication/_form.html.erb
326
+ - app/views/authentication/failed.js.erb
327
+ - app/views/authentication/new.html.erb
328
+ - app/views/index/index.html.erb
329
+ - app/views/layouts/admin.html.erb
330
+ - app/views/layouts/admin/_breadcrumbs.html.erb
331
+ - app/views/layouts/admin/_footer.html.erb
332
+ - app/views/layouts/admin/_header.html.erb
333
+ - app/views/layouts/admin/header/_logo.html.erb
334
+ - app/views/layouts/application/_footer.html.erb
335
+ - app/views/layouts/application/_header.html.erb
336
+ - app/views/layouts/application/header/_authentication.html.erb
337
+ - app/views/my/index/index.html.erb
338
+ - app/views/my/profiles/closed.html.erb
339
+ - app/views/my/profiles/new.html.erb
340
+ - app/views/my/profiles/new/_form.html.erb
341
+ - app/views/shared/_breadcrumbs.html.erb
342
+ - app/views/shared/_cookie_notification.html.erb
343
+ - app/views/shared/_flash_messages.html.erb
344
+ - app/views/shared/_meta_texts.html.erb
345
+ - app/views/shared/_nothing_found.html.erb
346
+ - app/views/shared/_pagination.jbuilder
347
+ - app/views/shared/admin/_list.html.erb
348
+ - app/views/shared/admin/_list_with_priority.html.erb
349
+ - app/views/shared/admin/_toggleable.html.erb
350
+ - app/views/shared/entity/_list_of_errors.html.erb
351
+ - app/views/shared/forms/errors.js.erb
352
+ - config/initializers/carrierwave.rb
353
+ - config/initializers/pluralization.rb
354
+ - config/locales/biovision-ru.yml
355
+ - config/locales/components-ru.yml
356
+ - config/locales/track-ru.yml
357
+ - config/locales/users-ru.yml
358
+ - config/routes.rb
359
+ - db/migrate/20191228000000_create_biovision_components.rb
360
+ - db/migrate/20200224000000_create_track_component.rb
361
+ - db/migrate/20200224000010_create_users_component.rb
362
+ - db/migrate/20200404000000_create_simple_images.rb
363
+ - lib/biovision.rb
364
+ - lib/biovision/base_methods.rb
365
+ - lib/biovision/engine.rb
366
+ - lib/biovision/version.rb
367
+ - lib/tasks/biovision_tasks.rake
368
+ homepage: https://github.com/Biovision/biovision
369
+ licenses:
370
+ - MIT
371
+ metadata:
372
+ allowed_push_host: https://rubygems.org
373
+ post_install_message:
374
+ rdoc_options: []
375
+ require_paths:
376
+ - lib
377
+ required_ruby_version: !ruby/object:Gem::Requirement
378
+ requirements:
379
+ - - ">="
380
+ - !ruby/object:Gem::Version
381
+ version: '0'
382
+ required_rubygems_version: !ruby/object:Gem::Requirement
383
+ requirements:
384
+ - - ">="
385
+ - !ruby/object:Gem::Version
386
+ version: '0'
387
+ requirements: []
388
+ rubygems_version: 3.1.2
389
+ signing_key:
390
+ specification_version: 4
391
+ summary: Biovision CMS gem
392
+ test_files: []