cm_page_builder-rails 0.1.9 → 0.1.10

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: 1e374106c7415c51adba2cb3faa39cf38c434e62de0e88fa5395a6cd613dc884
4
- data.tar.gz: d83d6286bb377b691806311132d0dd62980aa95573b1d8bb5edc391abcf784bb
3
+ metadata.gz: 18237b88d8761eaba2c6e86b745b4ba833a71caabf2093ed19506a332c227d5c
4
+ data.tar.gz: 887a7b0dbad8a02f4628499276b5bc36f03f854f5f9ff8d616cfd5adf3f7e794
5
5
  SHA512:
6
- metadata.gz: 606ade1535908f25bbdf80b3fadbcab70f45e0a3c628202a146a518e243642623a9539adf39b5170a34b77bbaa0a480df58cc6edec4aa4970e3b1d5008c4be58
7
- data.tar.gz: 25fc83b7d1b59e9665b44429f61e0cc13bbfde8c5d8da71fb573608aea2807e4ddb9d3c7c2ed5543b999bd0c8d2e0e5ebd22f2e27a88a5a4fb7d57ff4a4bef00
6
+ metadata.gz: 9669da11c92b37892e53c24a57cdec3d730aadb741a521b17cd87df72dc1eaa5ef1c8971da19e40fb21c90cd21c21ec0434add980c6a299624fd17090e1271d0
7
+ data.tar.gz: 182e84e24169405ee70e0460b6219acb9ee7b85ee03fafdf88c0cc67b8ff2fed772e01ac89a387a56a2eef54fc705d46fc1eb7ea32ead30780bf79aadee83751
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Gem Version](https://badge.fury.io/rb/cm_page_builder-rails.svg)](https://badge.fury.io/rb/cm_page_builder-rails)
2
+
1
3
  # CmPageBuilder::Rails
2
4
  This gem's purpose is to allow easy integration between the Commutatus react package cm-page-builder and any rails applications created by
3
5
 
@@ -29,7 +31,7 @@ https://keithpblog.org/post/active-storage-on-amazon-s3/
29
31
 
30
32
  ### Building the gem
31
33
  `gem build cm_page_builder-rails.gemspec`
32
- `gem push <generated gem name>`
34
+ `gem push cm_page_builder-rails-0.1.x.gem`
33
35
 
34
36
  ## Contributing
35
37
  Contribution directions go here.
@@ -5,11 +5,11 @@ module CmPageBuilder::Rails
5
5
 
6
6
  accepts_nested_attributes_for :page_components, allow_destroy: true
7
7
 
8
- def get_components
8
+ def components(**args)
9
9
  page_components.with_attached_component_attachment.select(:id, :uuid, :component_type, :position, :content).map do |component|
10
- json_component = component.as_json.transform_keys! {|key| key.camelize(:lower)}
10
+ json_component = component.as_json.transform_keys! { |key| key.camelize(:lower) }
11
11
  json_component["id"] = component[:uuid]
12
- json_component["component_attachment"] = _get_attachment(component)
12
+ json_component["component_attachment"] = _get_attachment(component, args[:max_width])
13
13
  json_component
14
14
  end
15
15
  end
@@ -33,37 +33,40 @@ module CmPageBuilder::Rails
33
33
  end
34
34
  end
35
35
 
36
- def _get_attachment(component)
37
- attachment = component.component_attachment.attachment
38
- if attachment
36
+ private
37
+
38
+ def _get_attachment(component, max_width=nil)
39
+ attachment = component.component_attachment.attachment
40
+ return unless attachment
41
+
39
42
  attachment_data = {
40
43
  filename: attachment.filename.to_s,
41
44
  url: attachment.service_url
42
45
  }
43
- dimensions = attachment.blob.metadata
44
- if dimensions['width']
46
+ if attachment.blob.variable?
47
+ dimensions = attachment.blob.metadata
45
48
  dimensions['orientation'] =
46
49
  if dimensions['width'] > dimensions['height']
47
50
  'landscape'
48
51
  else
49
52
  'portrait'
50
53
  end
51
- attachment_data["dimensions"] = dimensions
54
+ attachment_data[:dimensions] = dimensions
55
+ attachment_data[:url] = attachment.variant(resize_to_limit: [max_width, nil]).processed.service_url if max_width
52
56
  end
53
57
  attachment_data
54
58
  end
55
- end
56
59
 
57
- def _save_component(component)
58
- page_component = page_components.find_or_initialize_by(uuid: component["id"])
59
- signed_id = component.dig("component_attachment", "signed_id")
60
- component_data = {
61
- content: component["content"],
62
- position: component["position"],
63
- component_type: component["componentType"]
64
- }
65
- component_data[:component_attachment] = signed_id if signed_id
66
- page_component.update!(component_data)
67
- end
60
+ def _save_component(component)
61
+ page_component = page_components.find_or_initialize_by(uuid: component["id"])
62
+ signed_id = component.dig("component_attachment", "signed_id")
63
+ component_data = {
64
+ content: component["content"],
65
+ position: component["position"],
66
+ component_type: component["componentType"]
67
+ }
68
+ component_data[:component_attachment] = signed_id if signed_id
69
+ page_component.update!(component_data)
70
+ end
68
71
  end
69
72
  end
@@ -8,7 +8,6 @@
8
8
 
9
9
  .field
10
10
  input type='hidden' id="content-editor" name="page[components]"
11
- - components = @page.get_components
12
- = react_component("cm_content_manager/Content", {input: "content-editor", components: components})
11
+ = react_component("cm_content_manager/Content", {input: "content-editor", components: @page.components})
13
12
 
14
13
  .actions = f.submit
@@ -1,5 +1,5 @@
1
1
  module CmPageBuilder
2
2
  module Rails
3
- VERSION = '0.1.9'
3
+ VERSION = '0.1.10'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cm_page_builder-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Camilo Ernesto Forero Junco
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-14 00:00:00.000000000 Z
11
+ date: 2019-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails