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.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +214 -0
- data/Rakefile +22 -0
- data/app/assets/config/biovision_manifest.js +1 -0
- data/app/assets/images/biovision/components/carousel/arrow-left.svg +4 -0
- data/app/assets/images/biovision/components/carousel/arrow-right.svg +4 -0
- data/app/assets/images/biovision/icons/breadcrumb-hover.svg +1 -0
- data/app/assets/images/biovision/icons/breadcrumb.svg +1 -0
- data/app/assets/images/biovision/icons/components/contact.svg +26 -0
- data/app/assets/images/biovision/icons/components/content.svg +20 -0
- data/app/assets/images/biovision/icons/components/users.svg +21 -0
- data/app/assets/images/biovision/icons/key.svg +16 -0
- data/app/assets/images/biovision/icons/log_in.svg +15 -0
- data/app/assets/images/biovision/icons/log_out.svg +15 -0
- data/app/assets/images/biovision/icons/messages/error.svg +14 -0
- data/app/assets/images/biovision/icons/messages/info.svg +8 -0
- data/app/assets/images/biovision/icons/messages/success.svg +12 -0
- data/app/assets/images/biovision/icons/messages/warning.svg +13 -0
- data/app/assets/images/biovision/icons/settings.svg +41 -0
- data/app/assets/images/biovision/placeholders/16x9.svg +11 -0
- data/app/assets/images/biovision/placeholders/1x1.svg +11 -0
- data/app/assets/images/biovision/placeholders/3x2.svg +11 -0
- data/app/assets/images/biovision/placeholders/user.svg +15 -0
- data/app/assets/stylesheets/biovision/admin.scss +6 -0
- data/app/assets/stylesheets/biovision/admin/components.scss +59 -0
- data/app/assets/stylesheets/biovision/admin/default.scss +57 -0
- data/app/assets/stylesheets/biovision/admin/layout.scss +95 -0
- data/app/assets/stylesheets/biovision/admin/vars.scss +56 -0
- data/app/assets/stylesheets/biovision/biovision.scss +134 -0
- data/app/assets/stylesheets/biovision/biovision/messages.scss +41 -0
- data/app/assets/stylesheets/biovision/components/carousel.scss +53 -0
- data/app/assets/stylesheets/biovision/components/forms.scss +85 -0
- data/app/assets/stylesheets/biovision/components/hamburger.scss +56 -0
- data/app/assets/stylesheets/biovision/components/lists.scss +91 -0
- data/app/assets/stylesheets/biovision/default.scss +57 -0
- data/app/assets/stylesheets/biovision/themes/default_theme.scss +2 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/components.scss +3 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout.scss +44 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout/footer.scss +0 -0
- data/app/assets/stylesheets/biovision/themes/default_theme/layout/header.scss +39 -0
- data/app/assets/stylesheets/biovision/vars.scss +53 -0
- data/app/controllers/admin/agents_controller.rb +15 -0
- data/app/controllers/admin/components_controller.rb +174 -0
- data/app/controllers/admin/index_controller.rb +11 -0
- data/app/controllers/admin/ip_addresses_controller.rb +15 -0
- data/app/controllers/admin_controller.rb +14 -0
- data/app/controllers/authentication_controller.rb +79 -0
- data/app/controllers/concerns/authentication.rb +45 -0
- data/app/controllers/index_controller.rb +8 -0
- data/app/controllers/my/confirmations_controller.rb +2 -0
- data/app/controllers/my/index_controller.rb +8 -0
- data/app/controllers/my/profiles_controller.rb +128 -0
- data/app/controllers/my/recoveries_controller.rb +2 -0
- data/app/helpers/biovision_components_helper.rb +14 -0
- data/app/helpers/users_helper.rb +11 -0
- data/app/lib/biovision/components/base_component.rb +177 -0
- data/app/lib/biovision/components/component_settings.rb +30 -0
- data/app/lib/biovision/components/privilege_handler.rb +77 -0
- data/app/lib/biovision/components/track_component.rb +9 -0
- data/app/lib/biovision/components/users/authentication.rb +47 -0
- data/app/lib/biovision/components/users/code_handler.rb +23 -0
- data/app/lib/biovision/components/users/profile_handler.rb +12 -0
- data/app/lib/biovision/components/users/registration_handler.rb +99 -0
- data/app/lib/biovision/components/users_component.rb +47 -0
- data/app/lib/biovision/notifiers/base_notifier.rb +69 -0
- data/app/lib/biovision/notifiers/socialization_notifier.rb +31 -0
- data/app/lib/biovision/notifiers/users_notifier.rb +15 -0
- data/app/models/agent.rb +35 -0
- data/app/models/biovision_component.rb +45 -0
- data/app/models/biovision_component_user.rb +21 -0
- data/app/models/browser.rb +34 -0
- data/app/models/code.rb +71 -0
- data/app/models/concerns/checkable.rb +22 -0
- data/app/models/concerns/flat_priority.rb +50 -0
- data/app/models/concerns/has_language.rb +10 -0
- data/app/models/concerns/has_owner.rb +22 -0
- data/app/models/concerns/has_simple_image.rb +18 -0
- data/app/models/concerns/has_track.rb +10 -0
- data/app/models/concerns/has_uuid.rb +12 -0
- data/app/models/concerns/meta_texts.rb +16 -0
- data/app/models/concerns/nested_priority.rb +58 -0
- data/app/models/concerns/required_unique_name.rb +16 -0
- data/app/models/concerns/required_unique_slug.rb +15 -0
- data/app/models/concerns/toggleable.rb +33 -0
- data/app/models/foreign_site.rb +34 -0
- data/app/models/foreign_user.rb +21 -0
- data/app/models/ip_address.rb +31 -0
- data/app/models/language.rb +31 -0
- data/app/models/login_attempt.rb +35 -0
- data/app/models/metric.rb +48 -0
- data/app/models/metric_value.rb +11 -0
- data/app/models/notification.rb +37 -0
- data/app/models/simple_image.rb +47 -0
- data/app/models/simple_image_tag.rb +30 -0
- data/app/models/simple_image_tag_image.rb +13 -0
- data/app/models/token.rb +96 -0
- data/app/models/user.rb +136 -0
- data/app/models/user_language.rb +15 -0
- data/app/uploaders/simple_image_uploader.rb +96 -0
- data/app/uploaders/user_image_uploader.rb +58 -0
- data/app/views/admin/agents/_nav_item.html.erb +6 -0
- data/app/views/admin/agents/entity/_in_list.html.erb +6 -0
- data/app/views/admin/agents/index.html.erb +13 -0
- data/app/views/admin/components/_list.html.erb +12 -0
- data/app/views/admin/components/entity/_links.html.erb +35 -0
- data/app/views/admin/components/entity/_section.html.erb +12 -0
- data/app/views/admin/components/index.html.erb +12 -0
- data/app/views/admin/components/links/_track.html.erb +2 -0
- data/app/views/admin/components/links/_users.html.erb +11 -0
- data/app/views/admin/components/privileges.html.erb +20 -0
- data/app/views/admin/components/privileges/_component_user.html.erb +17 -0
- data/app/views/admin/components/privileges/_links.html.erb +35 -0
- data/app/views/admin/components/privileges/_privilege_flag.html.erb +28 -0
- data/app/views/admin/components/privileges/_users.html.erb +23 -0
- data/app/views/admin/components/settings.html.erb +39 -0
- data/app/views/admin/components/settings/_new_parameter.html.erb +46 -0
- data/app/views/admin/components/settings/_parameters.html.erb +20 -0
- data/app/views/admin/components/settings/_setting.html.erb +18 -0
- data/app/views/admin/components/settings/_settings.html.erb +31 -0
- data/app/views/admin/components/show.html.erb +14 -0
- data/app/views/admin/index/index.html.erb +14 -0
- data/app/views/admin/ip_addresses/_nav_item.html.erb +6 -0
- data/app/views/admin/ip_addresses/entity/_in_list.html.erb +6 -0
- data/app/views/admin/ip_addresses/index.html.erb +13 -0
- data/app/views/admin/unauthorized.html.erb +19 -0
- data/app/views/authentication/_form.html.erb +40 -0
- data/app/views/authentication/failed.js.erb +3 -0
- data/app/views/authentication/new.html.erb +21 -0
- data/app/views/index/index.html.erb +0 -0
- data/app/views/layouts/admin.html.erb +23 -0
- data/app/views/layouts/admin/_breadcrumbs.html.erb +8 -0
- data/app/views/layouts/admin/_footer.html.erb +10 -0
- data/app/views/layouts/admin/_header.html.erb +18 -0
- data/app/views/layouts/admin/header/_logo.html.erb +3 -0
- data/app/views/layouts/application/_footer.html.erb +8 -0
- data/app/views/layouts/application/_header.html.erb +9 -0
- data/app/views/layouts/application/header/_authentication.html.erb +13 -0
- data/app/views/my/index/index.html.erb +0 -0
- data/app/views/my/profiles/closed.html.erb +12 -0
- data/app/views/my/profiles/new.html.erb +17 -0
- data/app/views/my/profiles/new/_form.html.erb +147 -0
- data/app/views/shared/_breadcrumbs.html.erb +8 -0
- data/app/views/shared/_cookie_notification.html.erb +4 -0
- data/app/views/shared/_flash_messages.html.erb +7 -0
- data/app/views/shared/_meta_texts.html.erb +31 -0
- data/app/views/shared/_nothing_found.html.erb +1 -0
- data/app/views/shared/_pagination.jbuilder +15 -0
- data/app/views/shared/admin/_list.html.erb +19 -0
- data/app/views/shared/admin/_list_with_priority.html.erb +19 -0
- data/app/views/shared/admin/_toggleable.html.erb +8 -0
- data/app/views/shared/entity/_list_of_errors.html.erb +7 -0
- data/app/views/shared/forms/errors.js.erb +5 -0
- data/config/initializers/carrierwave.rb +27 -0
- data/config/initializers/pluralization.rb +2 -0
- data/config/locales/biovision-ru.yml +90 -0
- data/config/locales/components-ru.yml +81 -0
- data/config/locales/track-ru.yml +40 -0
- data/config/locales/users-ru.yml +130 -0
- data/config/routes.rb +75 -0
- data/db/migrate/20191228000000_create_biovision_components.rb +72 -0
- data/db/migrate/20200224000000_create_track_component.rb +59 -0
- data/db/migrate/20200224000010_create_users_component.rb +189 -0
- data/db/migrate/20200404000000_create_simple_images.rb +54 -0
- data/lib/biovision.rb +9 -0
- data/lib/biovision/base_methods.rb +167 -0
- data/lib/biovision/engine.rb +40 -0
- data/lib/biovision/version.rb +5 -0
- data/lib/tasks/biovision_tasks.rake +4 -0
- metadata +392 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 817fb32980253517bb13eeff8c2d01ba994c82db093c58f8a770c212ecee25c6
|
|
4
|
+
data.tar.gz: b29d966a12f8dda98db8777e7f224001ee40f9f67c58c3192a5eda0d970e9e65
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 27904974e644b24f35aef5366e9e92927971a1c20e255b919724aadc27ac8854dcdb2f9dd2f83a0b8bec8358878bbdd36f877b721d29529f7336e6bf8e628f9b
|
|
7
|
+
data.tar.gz: 6eece2a2e1742e4438a949ff2718be4d16d03b4b767c0804c39243454d60967fe256722d81e2531c81c7f03e60245082d36d236d9593b029bec685bc58b62959
|
data/MIT-LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright 2019 Maxim Khan-Magomedov
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# Biovision
|
|
2
|
+
|
|
3
|
+
Новая версия Biovision CMS. Используйте на свой страх и риск.
|
|
4
|
+
|
|
5
|
+
## Добавления в `.gitignore`
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/public/uploads
|
|
9
|
+
|
|
10
|
+
/spec/examples.txt
|
|
11
|
+
/spec/support/uploads/*
|
|
12
|
+
|
|
13
|
+
.env
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## После изменений в `.gitignore`
|
|
17
|
+
|
|
18
|
+
Далее, первым делом надо из папки sample в корне проекта `biovision` скопировать
|
|
19
|
+
файлы в корень своего проекта (прямо поверх того, что там уже есть).
|
|
20
|
+
|
|
21
|
+
Не забудь отредактировать `.env`, девелопернейм!
|
|
22
|
+
|
|
23
|
+
Ещё нужно поменять `example.com` на актуальное название.
|
|
24
|
+
|
|
25
|
+
Также стоит удалить `app/assets/application.css`, так как используется scss,
|
|
26
|
+
и локаль `config/locales/en.yml`, если не планируется использование английской
|
|
27
|
+
локали.
|
|
28
|
+
|
|
29
|
+
## Добавления в `Gemfile`
|
|
30
|
+
|
|
31
|
+
```ruby
|
|
32
|
+
gem 'dotenv-rails'
|
|
33
|
+
|
|
34
|
+
gem 'autoprefixer-rails', group: :production
|
|
35
|
+
|
|
36
|
+
gem 'biovision', git: 'https://github.com/Biovision/biovision.git'
|
|
37
|
+
# gem 'biovision', path: '/Users/maxim/Projects/Biovision/gems/biovision'
|
|
38
|
+
|
|
39
|
+
group :development, :test do
|
|
40
|
+
gem 'database_cleaner'
|
|
41
|
+
gem 'factory_bot_rails'
|
|
42
|
+
gem 'rspec-rails'
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
group :development do
|
|
46
|
+
gem 'mina'
|
|
47
|
+
end
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Изменения в `config/environments/production.rb`
|
|
51
|
+
|
|
52
|
+
Нужно раскомментировать строку `config.require_master_key = true` (на момент
|
|
53
|
+
написания это `19` строка).
|
|
54
|
+
|
|
55
|
+
Нужно выставить уровень сообщения об ошибках в `:warn`
|
|
56
|
+
(`config.log_level = :warn` в районе `54` строки).
|
|
57
|
+
|
|
58
|
+
## Изменения в `app/mailers/application_mailer.rb`
|
|
59
|
+
|
|
60
|
+
Нужно удалить строку с отправителем по умолчанию
|
|
61
|
+
(`default from: 'from@example.com'`), иначе при отправке писем в бою будет
|
|
62
|
+
ошибка с неправильным отправителем, независимо от того, что написано
|
|
63
|
+
в конфигурации в `production.rb`.
|
|
64
|
+
|
|
65
|
+
## Актуализация `config/database.yml`
|
|
66
|
+
|
|
67
|
+
В файле `config/database.yml` нужно поменять названия баз данных на актуальные:
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
default: &default
|
|
71
|
+
adapter: postgresql
|
|
72
|
+
encoding: unicode
|
|
73
|
+
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
|
|
74
|
+
|
|
75
|
+
development:
|
|
76
|
+
<<: *default
|
|
77
|
+
database: example # Поменять на актуальное название
|
|
78
|
+
|
|
79
|
+
test:
|
|
80
|
+
<<: *default
|
|
81
|
+
database: example_test # Такое же, как в development, но с приставкой _test
|
|
82
|
+
|
|
83
|
+
production:
|
|
84
|
+
<<: *default
|
|
85
|
+
database: example # Такое же, как в development, например
|
|
86
|
+
username: example # Поменять на актуального пользователя
|
|
87
|
+
password: <%= ENV['DATABASE_PASSWORD'] %>
|
|
88
|
+
host: localhost
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Добавления в config/application.rb
|
|
92
|
+
|
|
93
|
+
Это добавляется в блок конфигурирования. Без этой настройки часовой пояс будет
|
|
94
|
+
задан как UTC.
|
|
95
|
+
|
|
96
|
+
```ruby
|
|
97
|
+
config.time_zone = 'Moscow'
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Добавления в `config/application_controller.rb`
|
|
101
|
+
|
|
102
|
+
Добавить это в начале класса.
|
|
103
|
+
|
|
104
|
+
```ruby
|
|
105
|
+
def default_url_options
|
|
106
|
+
params.key?(:locale) ? { locale: I18n.locale } : {}
|
|
107
|
+
end
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Добавления в `config/routes.rb`
|
|
111
|
+
|
|
112
|
+
```ruby
|
|
113
|
+
concern :check do
|
|
114
|
+
post :check, on: :collection, defaults: { format: :json }
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
concern :toggle do
|
|
118
|
+
post :toggle, on: :member, defaults: { format: :json }
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
concern :priority do
|
|
122
|
+
post :priority, on: :member, defaults: { format: :json }
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
concern :removable_image do
|
|
126
|
+
delete :image, action: :destroy_image, on: :member, defaults: { format: :json }
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
concern :lock do
|
|
130
|
+
member do
|
|
131
|
+
put :lock, defaults: { format: :json }
|
|
132
|
+
delete :lock, action: :unlock, defaults: { format: :json }
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
scope '(:locale)', constraints: { locale: /ru|en/ } do
|
|
137
|
+
root 'index#index'
|
|
138
|
+
end
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## Дополнения в config/puma.rb
|
|
142
|
+
|
|
143
|
+
Нужно обязательно закомментировать строку с портом, так как используется сокет.
|
|
144
|
+
На момент написания документации это `12` строка:
|
|
145
|
+
`port ENV.fetch("PORT") { 3000 }`
|
|
146
|
+
|
|
147
|
+
```ruby
|
|
148
|
+
if ENV['RAILS_ENV'] == 'production'
|
|
149
|
+
shared_path = '/var/www/example.com/shared'
|
|
150
|
+
logs_dir = "#{shared_path}/log"
|
|
151
|
+
|
|
152
|
+
state_path "#{shared_path}/tmp/puma/state"
|
|
153
|
+
pidfile "#{shared_path}/tmp/puma/pid"
|
|
154
|
+
bind "unix://#{shared_path}/tmp/puma.sock"
|
|
155
|
+
stdout_redirect "#{logs_dir}/stdout.log", "#{logs_dir}/stderr.log", true
|
|
156
|
+
|
|
157
|
+
activate_control_app
|
|
158
|
+
end
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Перед запуском:
|
|
162
|
+
|
|
163
|
+
После установки приложения нужно накатить миграции (в консоли):
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
rails db:create
|
|
167
|
+
rails railties:install:migrations
|
|
168
|
+
rails db:migrate
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Для удобства запуска на сервере:
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
bundle binstubs bundler --force
|
|
175
|
+
bundle binstub puma
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Также имеет смысл запустить `EDITOR=vim rails credentials:edit`, чтобы создать
|
|
179
|
+
зашированный файл с ключом шифрования сессии (чтобы выйти из vim с сохранением,
|
|
180
|
+
надо набрать :wq).
|
|
181
|
+
|
|
182
|
+
## Настройка отгрузки через mina
|
|
183
|
+
|
|
184
|
+
Для начала надо запустить в консоли `mina init`. После этого внести изменения
|
|
185
|
+
в `config/deploy.rb`.
|
|
186
|
+
|
|
187
|
+
В начале и середине файла раскомментировать то, что относится к `rbenv`.
|
|
188
|
+
Кроме того, следует проверить настройки соединения по SSH
|
|
189
|
+
(`set :user, 'developer`).
|
|
190
|
+
|
|
191
|
+
Для `shared_dirs` и `shared_files` задать примерно такой вид.
|
|
192
|
+
|
|
193
|
+
```ruby
|
|
194
|
+
set :shared_dirs, fetch(:shared_dirs, []).push('public/uploads', 'tmp', 'log')
|
|
195
|
+
set :shared_files, fetch(:shared_files, []).push('config/master.key', '.env')
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
На серверной стороне нужно создать папку для пумы и файла с ключом шифрования:
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
mkdir -p /var/www/example.com/shared/tmp/puma
|
|
202
|
+
mkdir -p /var/www/example.com/shared/config
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
После этого локально запустить `mina setup`. Для нормальной работы нужно
|
|
206
|
+
не забыть скопировать на сервер `.env` и `config/master.key`.
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
scp .env biovision:/var/www/example.com/shared
|
|
210
|
+
scp config/master.key biovision:/var/www/example.com/shared/config
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
## License
|
|
214
|
+
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
begin
|
|
2
|
+
require 'bundler/setup'
|
|
3
|
+
rescue LoadError
|
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
require 'rdoc/task'
|
|
8
|
+
|
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
10
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
11
|
+
rdoc.title = 'Biovision'
|
|
12
|
+
rdoc.options << '--line-numbers'
|
|
13
|
+
rdoc.rdoc_files.include('README.md')
|
|
14
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
APP_RAKEFILE = File.expand_path("spec/test_app/Rakefile", __dir__)
|
|
18
|
+
load 'rails/tasks/engine.rake'
|
|
19
|
+
|
|
20
|
+
load 'rails/tasks/statistics.rake'
|
|
21
|
+
|
|
22
|
+
require 'bundler/gem_tasks'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//= link_tree ../images
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 12 36" width="12px" height="36px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Left arrow (wide)</title>
|
|
3
|
+
<polyline points="10,2 2,18 10,34" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 12 36" width="12px" height="36px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Right arrow (wide)</title>
|
|
3
|
+
<polyline points="2,2 10,18 2,34" stroke="#333" stroke-width="3" fill="none" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="4,1 1,5.5 4,10" fill="none" stroke="#f77" /></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="12px" version="1.1" viewBox="0 0 6 12" width="6px" xmlns="http://www.w3.org/2000/svg"><polyline points="1,1 4,5.5 1,10" fill="none" stroke="#777" /></svg>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Contact</title>
|
|
3
|
+
<defs>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
* { stroke-width: 1; }
|
|
6
|
+
.a { stroke: #777; }
|
|
7
|
+
.b { stroke: #555; }
|
|
8
|
+
.c { fill: #3aa; }
|
|
9
|
+
line { stroke-linecap: round; }
|
|
10
|
+
</style>
|
|
11
|
+
</defs>
|
|
12
|
+
<g class="a">
|
|
13
|
+
<rect x="1" y="1" width="15" height="10" fill="#fff"/>
|
|
14
|
+
<polyline points="1,1 9,5 16,1" fill="none"/>
|
|
15
|
+
</g>
|
|
16
|
+
<g class="b">
|
|
17
|
+
<rect x="7" y="6" width="10" height="17" rx="2" fill="#eee"/>
|
|
18
|
+
<line x1="10" y1="8" x2="14" y2="8" />
|
|
19
|
+
<circle cx="12.25" cy="21" r=".5"/>
|
|
20
|
+
<rect x="8" y="9.5" width="8.125" height="10" rx="1" ry="1" fill="#555" stroke="none" />
|
|
21
|
+
</g>
|
|
22
|
+
<g class="c">
|
|
23
|
+
<path d="M20,24 l-3.5,-8 q4,-8 7,0 z"/>
|
|
24
|
+
<circle cx="20.125" cy="15.25" r="1.5" fill="#f7a"/>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Content</title>
|
|
3
|
+
<defs>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
rect { stroke-width: 1; stroke: #aaa }
|
|
6
|
+
line { stroke-width: 1 }
|
|
7
|
+
</style>
|
|
8
|
+
</defs>
|
|
9
|
+
<rect x="5" y="2" width="10" height="16" fill="#ddd"/>
|
|
10
|
+
<rect x="7" y="4" width="10" height="16" fill="#eee"/>
|
|
11
|
+
<g>
|
|
12
|
+
<rect x="9" y="6" width="10" height="16" fill="#fff"/>
|
|
13
|
+
<line x1="11" y1="9" x2="14" y2="9" stroke="#111"/>
|
|
14
|
+
<line x1="11" y1="11" x2="17" y2="11" stroke="#555"/>
|
|
15
|
+
<line x1="11" y1="13" x2="17" y2="13" stroke="#555"/>
|
|
16
|
+
<line x1="11" y1="15" x2="16" y2="15" stroke="#555"/>
|
|
17
|
+
<line x1="11" y1="18" x2="17" y2="18" stroke="#555"/>
|
|
18
|
+
<line x1="11" y1="20" x2="17" y2="20" stroke="#555"/>
|
|
19
|
+
</g>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Users</title>
|
|
3
|
+
<defs>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
.a { stroke-width: 1; stroke: #aaa; fill: #eee; }
|
|
6
|
+
.b { stroke-width: 1.5; stroke: #333; fill: #777; }
|
|
7
|
+
</style>
|
|
8
|
+
</defs>
|
|
9
|
+
<g class="a">
|
|
10
|
+
<ellipse cx="6.5" cy="7" rx="2" ry="3.2"/>
|
|
11
|
+
<path d="M1,16 Q6.5,8 12,16 z" stroke-linejoin="round"/>
|
|
12
|
+
</g>
|
|
13
|
+
<g class="a">
|
|
14
|
+
<ellipse cx="18.5" cy="7" rx="2" ry="3.2"/>
|
|
15
|
+
<path d="M13,16 Q18.5,8 23,16 z" stroke-linejoin="round"/>
|
|
16
|
+
</g>
|
|
17
|
+
<g class="b">
|
|
18
|
+
<ellipse cx="12.5" cy="10" rx="3.5" ry="4.5"/>
|
|
19
|
+
<path d="M3,22 Q12,11 22,22 z" stroke-linejoin="round"/>
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 24 24" width="24px" height="24px" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Key</title>
|
|
3
|
+
<defs>
|
|
4
|
+
<style type="text/css">
|
|
5
|
+
* { stroke: #ada33d; stroke-width: 1.5; }
|
|
6
|
+
line { stroke-linecap: round; }
|
|
7
|
+
</style>
|
|
8
|
+
</defs>
|
|
9
|
+
<g>
|
|
10
|
+
<circle cx="4" cy="20" r="3" fill="none"/>
|
|
11
|
+
<line x1="6" y1="18" x2="20" y2="4"/>
|
|
12
|
+
<line x1="19" y1="5" x2="21" y2="7"/>
|
|
13
|
+
<line x1="17" y1="7" x2="20" y2="10"/>
|
|
14
|
+
<line x1="14" y1="8" x2="16" y2="10"/>
|
|
15
|
+
</g>
|
|
16
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Log in</title>
|
|
3
|
+
<style>
|
|
4
|
+
* { stroke: #777; fill: none; }
|
|
5
|
+
.a { stroke-width: 1 }
|
|
6
|
+
.b { stroke-width: 2 }
|
|
7
|
+
</style>
|
|
8
|
+
<g>
|
|
9
|
+
<polyline points="9,7 9,2 22,2 22,22 9,22 9,17" class="b"/>
|
|
10
|
+
<g class="a">
|
|
11
|
+
<line x1="2" y1="12" x2="17" y2="12"/>
|
|
12
|
+
<polyline points="14,9 17,12 14,15"/>
|
|
13
|
+
</g>
|
|
14
|
+
</g>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg height="24" version="1.1" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Log out</title>
|
|
3
|
+
<style>
|
|
4
|
+
* { stroke: #777; fill: none; }
|
|
5
|
+
.a { stroke-width: 1 }
|
|
6
|
+
.b { stroke-width: 2 }
|
|
7
|
+
</style>
|
|
8
|
+
<g>
|
|
9
|
+
<polyline points="9,7 9,2 22,2 22,22 9,22 9,17" class="b"/>
|
|
10
|
+
<g class="a">
|
|
11
|
+
<line x1="2" y1="12" x2="17" y2="12"/>
|
|
12
|
+
<polyline points="5,9 2,12 5,15"/>
|
|
13
|
+
</g>
|
|
14
|
+
</g>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<title>Error</title>
|
|
4
|
+
<style>
|
|
5
|
+
* { stroke: #fff }
|
|
6
|
+
line { stroke-linecap: round; stroke-width: 4 }
|
|
7
|
+
</style>
|
|
8
|
+
</defs>
|
|
9
|
+
<g>
|
|
10
|
+
<circle cx="16" cy="16" r="14" fill="red" stroke-width="2"/>
|
|
11
|
+
<line x1="11" y1="11" x2="21" y2="21"/>
|
|
12
|
+
<line x1="11" y1="21" x2="21" y2="11"/>
|
|
13
|
+
</g>
|
|
14
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<title>Information</title>
|
|
3
|
+
<g>
|
|
4
|
+
<circle cx="16" cy="16" r="14" fill="blue" stroke="#fff" stroke-width="2"/>
|
|
5
|
+
<circle cx="16" cy="10" r="2" fill="#fff"/>
|
|
6
|
+
<line x1="16" x2="16" y1="16" y2="23" stroke="#fff" stroke-width="4" stroke-linecap="round"/>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<defs>
|
|
3
|
+
<title>Success</title>
|
|
4
|
+
<style>
|
|
5
|
+
* { stroke: #fff }
|
|
6
|
+
</style>
|
|
7
|
+
</defs>
|
|
8
|
+
<g>
|
|
9
|
+
<circle cx="16" cy="16" r="14" fill="green" stroke-width="2"/>
|
|
10
|
+
<polyline points="10 17, 16 23, 22 11" fill="none" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
|
|
11
|
+
</g>
|
|
12
|
+
</svg>
|