tramway-core 1.18.1.2 → 1.18.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2eca2bd589fed76d9385bbed1319fbd061e418521966d81561bf8ffeaa3648c9
4
- data.tar.gz: 67488c6b5304f9941220b9bcb97d6ca5271e414e323d7c64806805e5aea5deb5
3
+ metadata.gz: f15409a5475b15fd5f275bebbf8d9017e727e01b66a6f7d5b2f509bdb00e022b
4
+ data.tar.gz: 6853236cba6a0d4ca13447223b1ffb052bcbe722faae44a30f9ba224f255fcf2
5
5
  SHA512:
6
- metadata.gz: 3f8da95bb6038a4e3bb956fcf0a7851cb2e81a82392a92fd00a1d1337eaad0a13f5a852a2a8701bcead04eb1250ac17335d5bf44deb18c4dbcf3df980026e275
7
- data.tar.gz: be00745caa58c4703b5dca9eb53ef6dc8d16917d39c510f0d95efac655c165fa5eec00e6813424eba5edd0f78377c60bbdb77688a3f7895b4ab8d9910f051617
6
+ metadata.gz: 3be3d4cc9bc7002fc1885c12e9a7abe239c4b7941f8b88a76d7134a7b6ae5f7438a6c15778648c5cf14988c03dc0702b7baaa65467940af7cac607c5d2c2056e
7
+ data.tar.gz: e4606632334f0f73294433283b37d0d68be05e1d45fc7c7f31c4e9708d09f7c3aee81a3b424668933a94f42c7aa5eb492aef03b1da619ead5e4a01d5379c10a9
data/README.md CHANGED
@@ -46,6 +46,7 @@ Interface: `uploader(attribute_name, uploader_name, **options)`
46
46
  * uploader_name - **short** uploader name. You need to connect uploaders which are compatible with Tramway. Available uploaders:
47
47
  * :photo - you can see it [here](https://github.com/Purple-Magic/tramway-core/blob/develop/app/uploaders/photo_uploader.rb)
48
48
  * :file - you can see it [here](https://github.com/Purple-Magic/tramway-core/blob/develop/app/uploaders/file_uploader.rb)
49
+ * :ico - you can see [here](https://github.com/Purple-Magic/tramway-core/blob/develop/app/uploaders/ico_uploader.rb)
49
50
  * options - you are available to set options for uploaders exactly for this model. Available options:
50
51
  * versions - **only for :photo**. Set needed versions for file to be cropped. If empty - 0 zero versions will be used. All versions you can see [here](https://github.com/Purple-Magic/tramway-core/blob/develop/app/uploaders/photo_uploader.rb)
51
52
  * extensions - whitelist of file extensions. If empty will be used default whitelist from the uploaders (links above)
@@ -29,14 +29,17 @@ module Tramway::Core::Associations::ClassHelper
29
29
  def define_main_association_method(association_name, decorator)
30
30
  define_method association_name do
31
31
  association = object.class.reflect_on_association(association_name)
32
- return if association_type(association) == :has_one && object.send(association_name) == nil
32
+ type = association_type(association)
33
+ return if association_has_one_without_object(object, association_name, type)
33
34
 
34
35
  check_association object, association_name, association
35
36
  decorator_class_name = decorator || decorator_class_name(class_name(association))
36
- if association_type(association).in? %i[has_many has_and_belongs_to_many]
37
- return associations_collection(object, association_name, decorator_class_name)
37
+ case type
38
+ when :has_many, :has_and_belongs_to_many
39
+ associations_collection(object, association_name, decorator_class_name)
40
+ when :belongs_to, :has_one
41
+ decorator_class_name.decorate(association_object(object, association_name))
38
42
  end
39
- return decorator_class_name.decorate object.send association_name if association_type(association).in? [ :belongs_to, :has_one ]
40
43
  end
41
44
  end
42
45
  end
@@ -40,11 +40,19 @@ module Tramway::Core::Associations::ObjectHelper
40
40
 
41
41
  begin
42
42
  form_class.constantize
43
- rescue
43
+ rescue StandardError
44
44
  Tramway::Error.raise_error(
45
45
  :tramway, :core, :associations, :object_helper, :habtm_add_class_not_defined,
46
46
  class: form_class, association_name: association_name
47
47
  )
48
48
  end
49
49
  end
50
+
51
+ def association_has_one_without_object(object, association_name, association_type)
52
+ association_type == :has_one && object.send(association_name).nil?
53
+ end
54
+
55
+ def association_object(object, association_name)
56
+ object.send association_name
57
+ end
50
58
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ class IcoUploader < ApplicationUploader
4
+ def extension_whitelist
5
+ model.class.file_extensions || %w[ico]
6
+ end
7
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Core
5
- VERSION = '1.18.1.2'
5
+ VERSION = '1.18.2'
6
6
  end
7
7
  end
@@ -22,6 +22,7 @@ class Tramway::Error < RuntimeError
22
22
  @errors ||= YAML.load_file("#{Tramway::Core.root}/yaml/errors.yml").with_indifferent_access
23
23
  error = @errors.dig(*coordinates)
24
24
  raise 'Error is not defined in YAML' unless error
25
+
25
26
  options.each do |pair|
26
27
  error.gsub!("%{#{pair[0]}}", pair[1].to_s)
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.1.2
4
+ version: 1.18.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-05-01 00:00:00.000000000 Z
12
+ date: 2020-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: audited
@@ -361,6 +361,7 @@ files:
361
361
  - app/models/tramway/core/application_record.rb
362
362
  - app/uploaders/application_uploader.rb
363
363
  - app/uploaders/file_uploader.rb
364
+ - app/uploaders/ico_uploader.rb
364
365
  - app/uploaders/image_defaults.rb
365
366
  - app/uploaders/photo_uploader.rb
366
367
  - app/views/tramway/core/404.haml