tramway-core 1.14.4 → 1.14.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 403640e1fa3e37979b6c8c2dc99479f9d19707dd3706773f16efbb4ccc3feaa3
4
- data.tar.gz: 0c907e27554fef7d6e10695cdc2f400164b35254e593bd0399a0f48d2d95f2b4
3
+ metadata.gz: 7eb4509dfeb6ce3f2888cd0edab48363be0821f984c3f7ca614138ee30c7ef01
4
+ data.tar.gz: 06ef07b3c37f855fc77212fb3bce6b8a9c9f5b34a816d2e70fac735461590e16
5
5
  SHA512:
6
- metadata.gz: fd26c611cffc17ff0797b73c6404fd8cd0c3a6db61ea5e91f96e916ec93e827a801c180876bf3b529dd205a81dbc6754c604571f1931297ad385fe1140e921eb
7
- data.tar.gz: e99eeb1790216da4b8d15836238c89f79afc602a58ced2a332ab9661aa4778d54eaf4710ecdd89794539e196005afdeebca64a0cee469d23e615442922c6bb28
6
+ metadata.gz: 75ee6b972932c54bf05fd7da9f72b893c4fd3bf18bfcc7127d7c7f1979b7abd152b2da1ac023774367a8604ebe762c43704a2755d05a423e6b7ccf8df29b554d
7
+ data.tar.gz: 6f5869d70c2209ef1c8e96c8b96fb420383f90ab663ebde8199b123e59cd19501d1007b2e9914ba6cf6a4e149384a63d8ec460da9bebe46991ca99096d62e558
data/README.md CHANGED
@@ -27,6 +27,11 @@ Tramway::Core.initialize_application name: "Your application's name"
27
27
  Tramway::Core.initialize_application model_class: ::Tramway::Conference::Unity # example was taken from tramway-conference gem
28
28
  ```
29
29
 
30
+ *config/initializers/assets.rb*
31
+ ```ruby
32
+ Rails.application.config.assets.precompile += %w( *.jpg *.png *.js )
33
+ ```
34
+
30
35
  # Базовые классы
31
36
 
32
37
  * ApplicationDecorator - Базовый класс декоратора. В него по умолчанию включены `ActionView::Helpers` и `ActionView::Context` и `FontAwesome5` (версия гема FontAwesome, которая поддерживает 5 версию шрифта). `FontAwesome` считается в `Tramway` основным шрифтом для иконок.
@@ -3,6 +3,11 @@
3
3
  module Tramway
4
4
  module Core
5
5
  class ApplicationController < ActionController::Base
6
+ before_action :application
7
+
8
+ def application
9
+ @application = ::Tramway::Core.application_object
10
+ end
6
11
  end
7
12
  end
8
13
  end
@@ -13,17 +13,33 @@ module Tramway::Core::Concerns::AttributesDecoratorHelper
13
13
  object.send "human_#{attribute_name}_name"
14
14
  end
15
15
 
16
- def image_view(value)
17
- content_tag(:div) do
18
- begin
19
- if value.url.match(/jpg|JPG|png|PNG$/)
20
- concat image_tag value.try(:small) ? value.small.url : value.url
16
+ def image_view(original, thumb: nil, filename: nil)
17
+ if original.present?
18
+ thumb ||= original.small
19
+ filename ||= original.path.split('/').last
20
+ src_thumb = if thumb.is_a?(CarrierWave::Uploader::Base)
21
+ thumb.url
22
+ elsif thumb.match(%r{^(?:[a-zA-Z0-9+/]{4})*(?:|(?:[a-zA-Z0-9+/]{3}=)|(?:[a-zA-Z0-9+/]{2}==)|(?:[a-zA-Z0-9+/]{1}===))$})
23
+ "data:image/jpeg;base64,#{thumb}"
24
+ else
25
+ thumb
26
+ end
27
+ src_original = if original.is_a?(CarrierWave::Uploader::Base)
28
+ original.url
29
+ elsif original.match(%r{^(?:[a-zA-Z0-9+/]{4})*(?:|(?:[a-zA-Z0-9+/]{3}=)|(?:[a-zA-Z0-9+/]{2}==)|(?:[a-zA-Z0-9+/]{1}===))$})
30
+ "data:image/jpeg;base64,#{original}"
31
+ else
32
+ original
33
+ end
34
+ content_tag(:div) do
35
+ begin
36
+ concat image_tag src_thumb
37
+ rescue NoMethodError => e
38
+ error = Tramway::Error.new plugin: :core, method: :image_view, message: "You should mount PhotoUploader to your model. Just add `mount_uploader \#{attribute_name}, PhotoUploader` to your model. #{e.message}"
39
+ raise error.message
21
40
  end
22
- rescue NoMethodError => e
23
- error = Tramway::Error.new plugin: :core, method: :image_view, message: e.name == :url ? 'You should mount PhotoUploader to your model. Just add `mount_uploader #{attribute_name}, PhotoUploader` to your model' : e.message
24
- raise error.message
41
+ concat link_to(fa_icon(:download), src_original, class: 'btn btn-success', download: filename)
25
42
  end
26
- concat link_to(fa_icon(:download), value.url, class: 'btn btn-success')
27
43
  end
28
44
  end
29
45
 
@@ -4,9 +4,13 @@ module Tramway
4
4
  module Collections
5
5
  module Helper
6
6
  def collection_list_by(name:)
7
- require name # needed to load class name with collection
7
+ begin
8
+ require name # needed to load class name with collection
9
+ rescue LoadError
10
+ raise "No such file #{name}. You should create file in the `lib/#{name}.rb` or elsewhere you want"
11
+ end
8
12
  unless ::Tramway::Collection.descendants.map(&:to_s).include?(name.camelize)
9
- raise "There no such collection named #{name.camelize}. Please create class with self method `list` and extended of `Tramway::Collection`"
13
+ raise "There no such collection named #{name.camelize}. Please create class with self method `list` and extended of `Tramway::Collection`. You should reload your server after creating this collection."
10
14
  end
11
15
 
12
16
  name.camelize.constantize.list
@@ -20,7 +20,7 @@ module Tramway
20
20
  end
21
21
 
22
22
  def application_object
23
- @application.model_class.present? ? @application.model_class.first : @application
23
+ @application&.model_class.present? ? @application.model_class.first : @application
24
24
  end
25
25
 
26
26
  attr_reader :application
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Core
5
- VERSION = '1.14.4'
5
+ VERSION = '1.14.6'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.4
4
+ version: 1.14.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-05 00:00:00.000000000 Z
11
+ date: 2020-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: audited
@@ -90,22 +90,22 @@ dependencies:
90
90
  name: haml-rails
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: '1.0'
96
93
  - - ">="
97
94
  - !ruby/object:Gem::Version
98
95
  version: 1.0.0
96
+ - - "~>"
97
+ - !ruby/object:Gem::Version
98
+ version: '1.0'
99
99
  type: :runtime
100
100
  prerelease: false
101
101
  version_requirements: !ruby/object:Gem::Requirement
102
102
  requirements:
103
- - - "~>"
104
- - !ruby/object:Gem::Version
105
- version: '1.0'
106
103
  - - ">="
107
104
  - !ruby/object:Gem::Version
108
105
  version: 1.0.0
106
+ - - "~>"
107
+ - !ruby/object:Gem::Version
108
+ version: '1.0'
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: kaminari
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -144,22 +144,22 @@ dependencies:
144
144
  name: mini_magick
145
145
  requirement: !ruby/object:Gem::Requirement
146
146
  requirements:
147
- - - "~>"
148
- - !ruby/object:Gem::Version
149
- version: '4.8'
150
147
  - - ">="
151
148
  - !ruby/object:Gem::Version
152
149
  version: 4.8.0
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: '4.8'
153
153
  type: :runtime
154
154
  prerelease: false
155
155
  version_requirements: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - "~>"
158
- - !ruby/object:Gem::Version
159
- version: '4.8'
160
157
  - - ">="
161
158
  - !ruby/object:Gem::Version
162
159
  version: 4.8.0
160
+ - - "~>"
161
+ - !ruby/object:Gem::Version
162
+ version: '4.8'
163
163
  - !ruby/object:Gem::Dependency
164
164
  name: pg_search
165
165
  requirement: !ruby/object:Gem::Requirement
@@ -206,22 +206,22 @@ dependencies:
206
206
  name: rmagick
207
207
  requirement: !ruby/object:Gem::Requirement
208
208
  requirements:
209
- - - "~>"
210
- - !ruby/object:Gem::Version
211
- version: '2.16'
212
209
  - - ">="
213
210
  - !ruby/object:Gem::Version
214
211
  version: 2.16.0
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '2.16'
215
215
  type: :runtime
216
216
  prerelease: false
217
217
  version_requirements: !ruby/object:Gem::Requirement
218
218
  requirements:
219
- - - "~>"
220
- - !ruby/object:Gem::Version
221
- version: '2.16'
222
219
  - - ">="
223
220
  - !ruby/object:Gem::Version
224
221
  version: 2.16.0
222
+ - - "~>"
223
+ - !ruby/object:Gem::Version
224
+ version: '2.16'
225
225
  - !ruby/object:Gem::Dependency
226
226
  name: sass-rails
227
227
  requirement: !ruby/object:Gem::Requirement
@@ -400,7 +400,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
400
400
  - !ruby/object:Gem::Version
401
401
  version: '0'
402
402
  requirements: []
403
- rubygems_version: 3.1.2
403
+ rubygems_version: 3.0.3
404
404
  signing_key:
405
405
  specification_version: 4
406
406
  summary: Core for all Tramway Rails Engines